Returns a flat list of opposition window rules: the statutory windows during which third parties may oppose a published trademark application or registration. Each rule includes the office’s local time zone, holiday calendar (used for close-date rollover), statutory citations, and any common (non-statutory but routinely granted) extensions.Each rule carries a stable rule_id, and every computed opposition window reports the rule_id that produced it, so any window Signa returns can be resolved back to the rule and citations behind it. The rule is also addressable by the combination of office_code and filing_route, which is what the compute endpoint looks up.This endpoint exposes the same rule corpus that powers Compute Oppositions and the derived.opposition_window field on a trademark detail response. Use it to build educational UI, surface citations alongside a watch alert, or document what to expect for a given office.
Filter by uppercase ST.3 office code. Comma-separated for multiple values, e.g. ?office=US,EM. Legacy lowercase codes (e.g. uspto, and eu for EUIPO) are accepted as permanent aliases.Accepts every code this catalog serves, not only the offices Signa ingests a register from: ?office=JP and ?office=TR return their rules. Anything outside that set, and outside the /v1/offices vocabulary, is a 400.
Filter by the rule’s filing route discriminator. Accepted values: domestic, madrid_designation. The trademark filing_route values direct_national and direct_regional are also accepted and read as domestic. The other trademark values (madrid_ir, transformation, divisional, unknown) return 400 with the accepted list. Comma-separated for multiple values.
A standard list response with data: OppositionRule[]. The corpus is small and returned in a single page. This endpoint is publicly cacheable, so the response never includes request_id.
Stable, permanent slug identifying this rule, e.g. eu_opposition_madrid. Once published a slug is never renamed or repointed, so it is safe to persist and to join against rule_id on Compute Oppositions items, trademark derived.opposition_window, and watch diagnostics. Treat it as opaque: the slug looks parseable but its grammar is not part of the contract, so compare it for equality and nothing else. It is deliberately not a prefixed entity ID (tm_, own_) because it names a statutory rule, not a stored entity.
Earliest date from which this rule’s modelled content is authoritative, as YYYY-MM-DD. null when the source corpus does not establish one, which is the common case. Related to but not the same as applicable_from_date: applicable_from_date is the statutory commencement the engine gates on, so a publication dated before it yields no window at all rather than a different rule’s window, while effective_from is a statement about the modelling. (Rule lookup is a single match on office plus filing route, so there is never an alternate era rule to fall back to; where a window length changes over time, that variation is modelled inside the one rule rather than by a second rule.) Where a rule carries a cutover the two agree: in the current opposition corpus every non-null effective_from equals its rule’s applicable_from_date, and every rule without a cutover reports effective_from: null.
Date Signa last checked this rule against its statutory sources, as YYYY-MM-DD. This is the same value the compute endpoint returns as rule_version; it moves on a verification pass even when nothing about the rule changed.
Uppercase ST.3 office code (e.g. US, EM, CA). Always present. This is the join key back to Compute Oppositions, which reports the same code, and it is what ?office= accepts. It covers every office in the corpus, including the ones Signa models for rules but does not yet ingest a register from (JP, IN, TR, KR, CN, BX, DK, FI, PL, TH, VN, PH, IS). Before 23 September 2026 this catalog served those offices as null, and they could not be filtered on.
Where the clock starts: date_of_publication (day zero is the publication day), day_after (the publication day is not counted), or first_of_following_month (the window opens on the first day of the month AFTER the publication month: how several offices draft the window against a WIPO Gazette issue, which carries a month rather than a service date)
When first_of_following_month, the current era’s window does not open until the first day of the month after the publication month, although its close is still counted per window_starts_on, from the publication. null for every rule but cn_opposition_madrid, where it applies to a WIPO Gazette date on or after 2027-01-01 (see window_change_date). The window is then the part two readings of a draft rule share: it opens on the later of their opening dates and closes on the earlier of their closing dates.
How the close is derived when the current era opens on first_of_following_month with a window expressed in months; null for every other rule, where the close is anchored on the publication day-number instead. It is also null for a rule that only opens that way in its EARLIER era, which reports the convention under window_ends_on_before. corresponding_day_of_start means the period ends on the same-numbered day of the Nth month (a window opening 1 August with window_months: 3 closes 1 November); day_before_corresponding_day_of_start means it ends the day before, i.e. on the last day of the Nth month (31 October). Both are real statutory readings and they differ by exactly one day, so the field says which one the office applies rather than defaulting.
Date this rule changed regime, as YYYY-MM-DD. Half-open: a publication strictly before it is governed by the four _before fields below, one on or after it by the current-era fields. null when the rule has never changed, which is most of them. One rule (tr_opposition) compares the FILING date against this boundary rather than the publication date, under its transitional provision, so pass filing_date to Compute Opposition Windows to get that reading.Not every window_change_date is a statutory date. Most are: the day the instrument itself says the new regime starts. A few are serving pivots, set earlier than commencement on purpose because the statute left a straddling cohort unaddressed and Signa publishes the shorter of the two possible windows. cn_opposition is the current example. China’s 2026 Trademark Law cuts the window from three months to two and commences on 1 January 2027, but says nothing about a period already running that day, so window_change_date is 2026-10-01, the first publication whose three months would still be open at commencement. Every publication from that day is served two months. A close published too early costs a would-be opponent nothing they can lose by relying on it; one published too late costs the right itself. Read a window_change_date that precedes the cited instrument’s commencement as a conservative serving choice, not as a claim about when the law changed, and re-check it once the office publishes its transitional guidance. cn_opposition_madrid is the other conservative example: its 2027-01-01 boundary comes from CNIPA’s draft transitional measures (published for comment on 28 September 2026, not yet in force), which would give an international registration with a WIPO publication date on or after that day the two-month window counted from the publication. The draft leaves open whether the current rule’s start, the first day of the month after the Gazette, survives. Until the final measures are published, Signa serves the window both readings allow: it opens on the first day of the following month (window_opens_on) and closes two months after the Gazette date. A Gazette date of 15 January 2027 gives 1 February to 15 March 2027. No instrument in force states either end yet, so both are provisional.
Which date of the mark is compared against window_change_date to decide the era: publication_date or filing_date. null exactly when window_change_date is null.Almost every rule compares the publication date the window runs from, and for those this field is publication_date and can be ignored. tr_opposition is the exception and the reason the field exists: SMK geçici m. 1/1 concludes an application filed before the SMK was published under the law in force on its filing date, so a mark filed under KHK 556 but published after 10 January 2017 keeps the older three-month window rather than the current two-month one. Reproducing that from window_change_date alone gives an answer two months short on exactly the straddling applications a practitioner is most likely to check by hand. Pass filing_date to Compute Oppositions and the engine applies it for you; when no filing date is supplied it falls back to the publication date, i.e. the shorter modern window, which is never later than the filing-keyed answer.
window_starts_on for publications before window_change_date, when the change moved the start. null when the change moved only the length, or when there is no change, in which case window_starts_on governs both eras. bx_opposition is the example: it ran from the first of the following month until 30 September 2013 and from the publication day itself thereafter.
window_months for publications before window_change_date. null when the earlier era counted in days, when only the start convention changed, or when there is no change.
window_days for publications before window_change_date. Exactly one of window_months_before / window_days_before is non-null when the change moved the length, and a change may switch units: kr_opposition went from two months to 30 days on 22 July 2025.
window_ends_on for the earlier era, when THAT era opens on the first of the following month with a month-based window. bx_opposition reports corresponding_day_of_start here and null in window_ends_on.
What a month-counted close date does when the publication’s day number does not exist in the target month. last_day clamps to that month’s last day, which is what every office except Mexico does and is the value returned for them. first_business_day_of_following_month runs the period into the next calendar month and ends it on that month’s first business day: an MX application published 31 March 2026 closes 4 May 2026, not 30 April (Reglamento LFPPI art. 7, párrafo segundo, read together with holiday_calendar for the business-day half). Only mx_opposition returns it today, and it never applies to a window expressed in days.
Date the office changed its common-extension benchmark, as YYYY-MM-DD. Exclusive upper bound of the earlier era: a window whose served window_closes falls strictly before it was benchmarked at common_extension_before; every other window, and a window with no publication date, at common_extension. null when the benchmark has never changed.The close date is the anchor because a non-retroactive extension request is received no later than the deadline it extends, so a window that closed before the change can only have been extended under the old benchmark. This is advisory only: the pivot never moves window_closes or a computed must_act_by. Two rules carry one today. ca_opposition: CIPO’s TMOB benchmark first extension went from four months to two on 1 December 2023, so the catalog used to show 2 for every window while Compute Oppositions correctly returned four months for a 2022 close. ph_opposition: IPOPHL MC 2022-013 replaced up to three 30-day extensions with a single 45-day extension on 30 June 2022.
Statutory commencement this rule is gated on. A publication before this date yields no window at all (supported: false on Compute Oppositions), not a different rule’s window: lookup is a single match on office + filing route. null means the rule has no commencement gate and always applies.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Signa Docs","colors":{"primary":"#555555","light":"#FFFFFF","dark":"#1A1A1A"},"logo":{"light":"https://mintcdn.com/signa-3e9d3658/B1ZmV_4e8OQAWS8j/logo/light.svg?fit=max\u0026auto=format\u0026n=B1ZmV_4e8OQAWS8j\u0026q=85\u0026s=94809fd9be711ab731742afa4d4e58e7","dark":"https://mintcdn.com/signa-3e9d3658/B1ZmV_4e8OQAWS8j/logo/dark.svg?fit=max\u0026auto=format\u0026n=B1ZmV_4e8OQAWS8j\u0026q=85\u0026s=e06fe8c94a3c42e39ba5c55e2e7b60c6","href":"https://signa.so"},"favicon":"https://mintcdn.com/signa-3e9d3658/B1ZmV_4e8OQAWS8j/favicon.png?fit=max\u0026auto=format\u0026n=B1ZmV_4e8OQAWS8j\u0026q=85\u0026s=4d3fc789bb946d02e70cc7f637a2ef2c","api":{"openapi":"https://api.signa.so/v1/openapi.json","playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.signa.so"}},"background":{},"navbar":{"links":[{"href":"mailto:support@signa.so","label":"Support"}],"primary":{"type":"button","label":"Get API Key","href":"https://app.signa.so"}},"footer":{"socials":{"x":"https://x.com/signa_so","github":"https://github.com/signa-so","linkedin":"https://linkedin.com/company/signa-so"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"signa-3e9d3658","hasAudioNarration":false,"actualSubdomain":"signa-3e9d3658","customDomains":["docs.signa.so"],"gitSource":{"type":"github","owner":"signa-so","repo":"signa","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aee8437618e65732e2faf31","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":127},{"language":"default","tag":"Documentation","count":43},{"language":"default","tag":"Monitoring","count":38},{"language":"default","tag":"Filing \u0026 docketing","count":24},{"language":"default","tag":"Administration","count":18},{"language":"default","tag":"Parties","count":16},{"language":"default","tag":"Watches","count":12},{"language":"default","tag":"Records","count":11},{"language":"default","tag":"Reference","count":11},{"language":"default","tag":"Webhooks","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"a[href=\"https://app.signa.so\"]:not(.link){background-color:transparent!important}a[href=\"https://app.signa.so\"]:not(.link)>span:first-child{background-color:#0A0A0A!important}a[href=\"https://app.signa.so\"]:not(.link),a[href=\"https://app.signa.so\"]:not(.link) *{color:#FFFFFF!important}a[href=\"https://app.signa.so\"][target=\"_blank\"]:not(.link) svg{display:none!important}.dark a[href=\"https://app.signa.so\"]:not(.link),html.dark a[href=\"https://app.signa.so\"]:not(.link){background-color:transparent!important}.dark a[href=\"https://app.signa.so\"]:not(.link)>span:first-child,html.dark a[href=\"https://app.signa.so\"]:not(.link)>span:first-child{background-color:#F0F0F0!important}.dark a[href=\"https://app.signa.so\"]:not(.link),.dark a[href=\"https://app.signa.so\"]:not(.link) *,html.dark a[href=\"https://app.signa.so\"]:not(.link),html.dark a[href=\"https://app.signa.so\"]:not(.link) *{color:#0A0A0A!important}a[href=\"https://app.signa.so\"]:not(.link),a[href=\"https://app.signa.so\"]:not(.link)>span:first-child,button:not([role=\"switch\"]):not([role=\"tab\"]),.sidebar-group a,#search-bar-entry,#search-bar-entry-mobile{border-radius:9999px!important}#page-context-menu-button{border-radius:0.75rem 0 0 0.75rem!important}#page-context-menu-button+button{border-radius:0 0.75rem 0.75rem 0!important}#topbar-cta-button>a{padding:0.375rem 0.875rem!important;font-size:0.8125rem!important}[data-component-part=\"update-tag\"],[data-component-part=\"update-description\"]{font-size:0.75rem;line-height:1.25rem}[data-component-part=\"update-tag-list\"]{flex-direction:column;gap:0.25rem}[data-component-part=\"update-tag\"]{opacity:0.7}[data-component-part=\"update-content\"]>h2:first-child{margin-top:0;font-size:1.5rem;line-height:2rem}[data-component-part=\"update-content\"] h3{font-size:1rem;margin-top:1.75rem}"}],"page":{"pagePath":"api-reference/reference/opposition-rules","slug":"/api-reference/reference/opposition-rules","pageMetadata":{"title":"List Opposition Rules","description":"List all opposition window rules across modeled offices","api":"GET /v1/opposition-rules","href":"/api-reference/reference/opposition-rules"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"List all opposition window rules across modeled offices\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,ParamField,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Credits:`}),` 10 per request.`]}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Returns a flat list of opposition window rules: the statutory windows during which third parties may oppose a published trademark application or registration. Each rule includes the office’s local time zone, holiday calendar (used for close-date rollover), statutory citations, and any common (non-statutory but routinely granted) extensions.`}),`\n`,_jsxs(_components.p,{children:[`Each rule carries a stable `,_jsx(_components.code,{children:`rule_id`}),`, and every computed opposition window reports the `,_jsx(_components.code,{children:`rule_id`}),` that produced it, so any window Signa returns can be resolved back to the rule and citations behind it. The rule is also addressable by the combination of `,_jsx(_components.code,{children:`office_code`}),` and `,_jsx(_components.code,{children:`filing_route`}),`, which is what the compute endpoint looks up.`]}),`\n`,_jsxs(_components.p,{children:[`This endpoint exposes the same rule corpus that powers `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),` and the `,_jsx(_components.code,{children:`derived.opposition_window`}),` field on a trademark detail response. Use it to build educational UI, surface citations alongside a watch alert, or document what to expect for a given office.`]}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`jurisdiction`,type:`string`,id:`param-jurisdiction`,children:_jsx(_components.p,{children:`Filter by jurisdiction code (uppercase ISO-2). Comma-separated for multiple values.`})}),`\n`,_jsxs(ParamField,{query:`office`,type:`string`,id:`param-office`,children:[_jsxs(_components.p,{children:[`Filter by uppercase ST.3 office code. Comma-separated for multiple values, e.g. `,_jsx(_components.code,{children:`?office=US,EM`}),`. Legacy lowercase codes (e.g. `,_jsx(_components.code,{children:`uspto`}),`, and `,_jsx(_components.code,{children:`eu`}),` for EUIPO) are accepted as permanent aliases.`]}),_jsxs(_components.p,{children:[`Accepts `,_jsx(_components.strong,{children:`every code this catalog serves`}),`, not only the offices Signa ingests a register from: `,_jsx(_components.code,{children:`?office=JP`}),` and `,_jsx(_components.code,{children:`?office=TR`}),` return their rules. Anything outside that set, and outside the `,_jsx(_components.code,{children:`/v1/offices`}),` vocabulary, is a `,_jsx(_components.code,{children:`400`}),`.`]})]}),`\n`,_jsx(ParamField,{query:`filing_route`,type:`string`,id:`param-filing-route`,children:_jsxs(_components.p,{children:[`Filter by the rule’s filing route discriminator. Accepted values: `,_jsx(_components.code,{children:`domestic`}),`, `,_jsx(_components.code,{children:`madrid_designation`}),`. The trademark `,_jsx(_components.code,{children:`filing_route`}),` values `,_jsx(_components.code,{children:`direct_national`}),` and `,_jsx(_components.code,{children:`direct_regional`}),` are also accepted and read as `,_jsx(_components.code,{children:`domestic`}),`. The other trademark values (`,_jsx(_components.code,{children:`madrid_ir`}),`, `,_jsx(_components.code,{children:`transformation`}),`, `,_jsx(_components.code,{children:`divisional`}),`, `,_jsx(_components.code,{children:`unknown`}),`) return `,_jsx(_components.code,{children:`400`}),` with the accepted list. Comma-separated for multiple values.`]})}),`\n`,_jsx(ParamField,{query:`trigger_event`,type:`string`,id:`param-trigger-event`,children:_jsxs(_components.p,{children:[`Filter by trigger event. Accepted values: `,_jsx(_components.code,{children:`application_publication`}),`, `,_jsx(_components.code,{children:`registration_publication`}),`, `,_jsx(_components.code,{children:`international_designation_publication`}),`. Comma-separated for multiple values.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`A standard list response with `,_jsx(_components.code,{children:`data: OppositionRule[]`}),`. The corpus is small and returned in a single page. This endpoint is publicly cacheable, so the response never includes `,_jsx(_components.code,{children:`request_id`}),`.`]}),`\n`,_jsxs(ResponseField,{name:`object`,type:`string`,id:`param-object`,children:[`Always `,_jsx(_components.code,{children:`list`})]}),`\n`,_jsx(ResponseField,{name:`data`,type:`object[]`,id:`param-data`,children:_jsxs(Expandable,{title:`OppositionRule`,children:[_jsxs(ResponseField,{name:`object`,type:`string`,id:`param-object-1`,children:[`Always `,_jsx(_components.code,{children:`opposition_rule`})]}),_jsxs(ResponseField,{name:`rule_id`,type:`string`,id:`param-rule-id`,children:[`Stable, permanent slug identifying this rule, e.g. `,_jsx(_components.code,{children:`eu_opposition_madrid`}),`. Once published a slug is never renamed or repointed, so it is safe to persist and to join against `,_jsx(_components.code,{children:`rule_id`}),` on `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),` items, trademark `,_jsx(_components.code,{children:`derived.opposition_window`}),`, and watch diagnostics. Treat it as `,_jsx(_components.strong,{children:`opaque`}),`: the slug looks parseable but its grammar is not part of the contract, so compare it for equality and nothing else. It is deliberately not a prefixed entity ID (`,_jsx(_components.code,{children:`tm_`}),`, `,_jsx(_components.code,{children:`own_`}),`) because it names a statutory rule, not a stored entity.`]}),_jsxs(ResponseField,{name:`effective_from`,type:`string | null`,id:`param-effective-from`,children:[`Earliest date from which this rule’s modelled content is authoritative, as `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`. `,_jsx(_components.code,{children:`null`}),` when the source corpus does not establish one, which is the common case. Related to but not the same as `,_jsx(_components.code,{children:`applicable_from_date`}),`: `,_jsx(_components.code,{children:`applicable_from_date`}),` is the statutory commencement the engine gates on, so a publication dated before it yields no window at all rather than a different rule’s window, while `,_jsx(_components.code,{children:`effective_from`}),` is a statement about the modelling. (Rule lookup is a single match on office plus filing route, so there is never an alternate era rule to fall back to; where a window length changes over time, that variation is modelled `,_jsx(_components.em,{children:`inside`}),` the one rule rather than by a second rule.) Where a rule carries a cutover the two agree: in the current opposition corpus every non-null `,_jsx(_components.code,{children:`effective_from`}),` equals its rule’s `,_jsx(_components.code,{children:`applicable_from_date`}),`, and every rule without a cutover reports `,_jsx(_components.code,{children:`effective_from: null`}),`.`]}),_jsxs(ResponseField,{name:`last_verified`,type:`string`,id:`param-last-verified`,children:[`Date Signa last checked this rule against its statutory sources, as `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`. This is the same value the compute endpoint returns as `,_jsx(_components.code,{children:`rule_version`}),`; it moves on a verification pass even when nothing about the rule changed.`]}),_jsx(ResponseField,{name:`jurisdiction_code`,type:`string`,id:`param-jurisdiction-code`,children:`Jurisdiction (uppercase ISO-2)`}),_jsxs(ResponseField,{name:`office_code`,type:`string`,id:`param-office-code`,children:[`Uppercase ST.3 office code (e.g. `,_jsx(_components.code,{children:`US`}),`, `,_jsx(_components.code,{children:`EM`}),`, `,_jsx(_components.code,{children:`CA`}),`). Always present. This is the join key back to `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),`, which reports the same code, and it is what `,_jsx(_components.code,{children:`?office=`}),` accepts. It covers every office in the corpus, including the ones Signa models for rules but does not yet ingest a register from (`,_jsx(_components.code,{children:`JP`}),`, `,_jsx(_components.code,{children:`IN`}),`, `,_jsx(_components.code,{children:`TR`}),`, `,_jsx(_components.code,{children:`KR`}),`, `,_jsx(_components.code,{children:`CN`}),`, `,_jsx(_components.code,{children:`BX`}),`, `,_jsx(_components.code,{children:`DK`}),`, `,_jsx(_components.code,{children:`FI`}),`, `,_jsx(_components.code,{children:`PL`}),`, `,_jsx(_components.code,{children:`TH`}),`, `,_jsx(_components.code,{children:`VN`}),`, `,_jsx(_components.code,{children:`PH`}),`, `,_jsx(_components.code,{children:`IS`}),`). Before 23 September 2026 this catalog served those offices as `,_jsx(_components.code,{children:`null`}),`, and they could not be filtered on.`]}),_jsxs(ResponseField,{name:`filing_route`,type:`string`,id:`param-filing-route-1`,children:[`Either `,_jsx(_components.code,{children:`domestic`}),` or `,_jsx(_components.code,{children:`madrid_designation`})]}),_jsxs(ResponseField,{name:`trigger_event`,type:`string`,id:`param-trigger-event-1`,children:[`Which event starts the opposition clock: `,_jsx(_components.code,{children:`application_publication`}),`, `,_jsx(_components.code,{children:`registration_publication`}),`, or `,_jsx(_components.code,{children:`international_designation_publication`})]}),_jsxs(ResponseField,{name:`window_months`,type:`integer | null`,id:`param-window-months`,children:[`Window duration in months (`,_jsx(_components.code,{children:`null`}),` when expressed in days)`]}),_jsxs(ResponseField,{name:`window_days`,type:`integer | null`,id:`param-window-days`,children:[`Window duration in days (`,_jsx(_components.code,{children:`null`}),` when expressed in months)`]}),_jsx(ResponseField,{name:`window_starts_offset_months`,type:`integer | null`,id:`param-window-starts-offset-months`,children:`Months to wait after publication before the window opens (e.g. EUIPO Madrid-EU has 1 month between Bulletin Part M republication and window opening)`}),_jsxs(ResponseField,{name:`window_starts_on`,type:`string`,id:`param-window-starts-on`,children:[`Where the clock starts: `,_jsx(_components.code,{children:`date_of_publication`}),` (day zero is the publication day), `,_jsx(_components.code,{children:`day_after`}),` (the publication day is not counted), or `,_jsx(_components.code,{children:`first_of_following_month`}),` (the window opens on the first day of the month AFTER the publication month: how several offices draft the window against a WIPO Gazette issue, which carries a month rather than a service date)`]}),_jsxs(ResponseField,{name:`window_opens_on`,type:`string | null`,id:`param-window-opens-on`,children:[`When `,_jsx(_components.code,{children:`first_of_following_month`}),`, the current era’s window does not open until the first day of the month after the publication month, although its close is still counted per `,_jsx(_components.code,{children:`window_starts_on`}),`, from the publication. `,_jsx(_components.code,{children:`null`}),` for every rule but `,_jsx(_components.code,{children:`cn_opposition_madrid`}),`, where it applies to a WIPO Gazette date on or after 2027-01-01 (see `,_jsx(_components.code,{children:`window_change_date`}),`). The window is then the part two readings of a draft rule share: it opens on the later of their opening dates and closes on the earlier of their closing dates.`]}),_jsxs(ResponseField,{name:`window_ends_on`,type:`string | null`,id:`param-window-ends-on`,children:[`How the close is derived when `,_jsx(_components.strong,{children:`the current era`}),` opens on `,_jsx(_components.code,{children:`first_of_following_month`}),` with a window expressed in months; `,_jsx(_components.code,{children:`null`}),` for every other rule, where the close is anchored on the publication day-number instead. It is `,_jsxs(_components.strong,{children:[`also `,_jsx(_components.code,{children:`null`}),` for a rule that only opens that way in its EARLIER era`]}),`, which reports the convention under `,_jsx(_components.code,{children:`window_ends_on_before`}),`. `,_jsx(_components.code,{children:`corresponding_day_of_start`}),` means the period ends on the same-numbered day of the Nth month (a window opening 1 August with `,_jsx(_components.code,{children:`window_months: 3`}),` closes 1 November); `,_jsx(_components.code,{children:`day_before_corresponding_day_of_start`}),` means it ends the day before, i.e. on the last day of the Nth month (31 October). Both are real statutory readings and they differ by exactly one day, so the field says which one the office applies rather than defaulting.`]}),_jsxs(ResponseField,{name:`window_change_date`,type:`string | null`,id:`param-window-change-date`,children:[_jsxs(_components.p,{children:[`Date this rule changed regime, as `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`. Half-open: a publication `,_jsx(_components.strong,{children:`strictly before`}),` it is governed by the four `,_jsx(_components.code,{children:`_before`}),` fields below, one on or after it by the current-era fields. `,_jsx(_components.code,{children:`null`}),` when the rule has never changed, which is most of them. One rule (`,_jsx(_components.code,{children:`tr_opposition`}),`) compares the FILING date against this boundary rather than the publication date, under its transitional provision, so pass `,_jsx(_components.code,{children:`filing_date`}),` to `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Opposition Windows`}),` to get that reading.`]}),_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Not every `,_jsx(_components.code,{children:`window_change_date`}),` is a statutory date.`]}),` Most are: the day the instrument itself says the new regime starts. A few are `,_jsx(_components.strong,{children:`serving`}),` pivots, set earlier than commencement on purpose because the statute left a straddling cohort unaddressed and Signa publishes the shorter of the two possible windows. `,_jsx(_components.code,{children:`cn_opposition`}),` is the current example. China’s 2026 Trademark Law cuts the window from three months to two and commences on `,_jsx(_components.strong,{children:`1 January 2027`}),`, but says nothing about a period already running that day, so `,_jsx(_components.code,{children:`window_change_date`}),` is `,_jsx(_components.strong,{children:`2026-10-01`}),`, the first publication whose three months would still be open at commencement. Every publication from that day is served two months. A close published too early costs a would-be opponent nothing they can lose by relying on it; one published too late costs the right itself. Read a `,_jsx(_components.code,{children:`window_change_date`}),` that precedes the cited instrument’s commencement as a conservative serving choice, not as a claim about when the law changed, and re-check it once the office publishes its transitional guidance. `,_jsx(_components.code,{children:`cn_opposition_madrid`}),` is the other conservative example: its `,_jsx(_components.strong,{children:`2027-01-01`}),` boundary comes from CNIPA’s draft transitional measures (published for comment on 28 September 2026, not yet in force), which would give an international registration with a WIPO publication date on or after that day the two-month window counted from the publication. The draft leaves open whether the current rule’s start, the first day of the month after the Gazette, survives. Until the final measures are published, Signa serves the window both readings allow: it opens on the first day of the following month (`,_jsx(_components.code,{children:`window_opens_on`}),`) and closes two months after the Gazette date. A Gazette date of 15 January 2027 gives 1 February to 15 March 2027. No instrument in force states either end yet, so both are provisional.`]})]}),_jsxs(ResponseField,{name:`window_change_comparison_field`,type:`string | null`,id:`param-window-change-comparison-field`,children:[_jsxs(_components.p,{children:[`Which date of the mark is compared against `,_jsx(_components.code,{children:`window_change_date`}),` to decide the era: `,_jsx(_components.code,{children:`publication_date`}),` or `,_jsx(_components.code,{children:`filing_date`}),`. `,_jsx(_components.code,{children:`null`}),` exactly when `,_jsx(_components.code,{children:`window_change_date`}),` is `,_jsx(_components.code,{children:`null`}),`.`]}),_jsxs(_components.p,{children:[`Almost every rule compares the publication date the window runs from, and for those this field is `,_jsx(_components.code,{children:`publication_date`}),` and can be ignored. `,_jsx(_components.code,{children:`tr_opposition`}),` is the exception and the reason the field exists: SMK geçici m. 1/1 concludes an application filed before the SMK was published under the law in force `,_jsx(_components.strong,{children:`on its filing date`}),`, so a mark filed under KHK 556 but published after 10 January 2017 keeps the older three-month window rather than the current two-month one. Reproducing that from `,_jsx(_components.code,{children:`window_change_date`}),` alone gives an answer two months short on exactly the straddling applications a practitioner is most likely to check by hand. Pass `,_jsx(_components.code,{children:`filing_date`}),` to `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),` and the engine applies it for you; when no filing date is supplied it falls back to the publication date, i.e. the shorter modern window, which is never later than the filing-keyed answer.`]})]}),_jsxs(ResponseField,{name:`window_starts_on_before`,type:`string | null`,id:`param-window-starts-on-before`,children:[_jsx(_components.code,{children:`window_starts_on`}),` for publications before `,_jsx(_components.code,{children:`window_change_date`}),`, when the change moved the start. `,_jsx(_components.code,{children:`null`}),` when the change moved only the length, or when there is no change, in which case `,_jsx(_components.code,{children:`window_starts_on`}),` governs both eras. `,_jsx(_components.code,{children:`bx_opposition`}),` is the example: it ran from the first of the following month until 30 September 2013 and from the publication day itself thereafter.`]}),_jsxs(ResponseField,{name:`window_months_before`,type:`integer | null`,id:`param-window-months-before`,children:[_jsx(_components.code,{children:`window_months`}),` for publications before `,_jsx(_components.code,{children:`window_change_date`}),`. `,_jsx(_components.code,{children:`null`}),` when the earlier era counted in days, when only the start convention changed, or when there is no change.`]}),_jsxs(ResponseField,{name:`window_days_before`,type:`integer | null`,id:`param-window-days-before`,children:[_jsx(_components.code,{children:`window_days`}),` for publications before `,_jsx(_components.code,{children:`window_change_date`}),`. Exactly one of `,_jsx(_components.code,{children:`window_months_before`}),` / `,_jsx(_components.code,{children:`window_days_before`}),` is non-null when the change moved the length, and a change may switch units: `,_jsx(_components.code,{children:`kr_opposition`}),` went from two months to 30 days on 22 July 2025.`]}),_jsxs(ResponseField,{name:`window_ends_on_before`,type:`string | null`,id:`param-window-ends-on-before`,children:[_jsx(_components.code,{children:`window_ends_on`}),` for the earlier era, when THAT era opens on the first of the following month with a month-based window. `,_jsx(_components.code,{children:`bx_opposition`}),` reports `,_jsx(_components.code,{children:`corresponding_day_of_start`}),` here and `,_jsx(_components.code,{children:`null`}),` in `,_jsx(_components.code,{children:`window_ends_on`}),`.`]}),_jsxs(ResponseField,{name:`month_end_overflow`,type:`string`,id:`param-month-end-overflow`,children:[`What a month-counted close date does when the publication’s day number does not exist in the target month. `,_jsx(_components.code,{children:`last_day`}),` clamps to that month’s last day, which is what every office except Mexico does and is the value returned for them. `,_jsx(_components.code,{children:`first_business_day_of_following_month`}),` runs the period into the next calendar month and ends it on that month’s first business day: an MX application published 31 March 2026 closes 4 May 2026, not 30 April (Reglamento LFPPI art. 7, párrafo segundo, read together with `,_jsx(_components.code,{children:`holiday_calendar`}),` for the business-day half). Only `,_jsx(_components.code,{children:`mx_opposition`}),` returns it today, and it never applies to a window expressed in days.`]}),_jsx(ResponseField,{name:`office_time_zone`,type:`string`,id:`param-office-time-zone`,children:`IANA office time zone (display only; date math uses calendar dates)`}),_jsxs(ResponseField,{name:`holiday_calendar`,type:`string | null`,id:`param-holiday-calendar`,children:[`Holiday calendar key used for close-date rollover, e.g. `,_jsx(_components.code,{children:`uspto_dc`})]}),_jsx(ResponseField,{name:`common_extension`,type:`object | null`,id:`param-common-extension`,children:_jsxs(Expandable,{title:`Extension`,children:[_jsx(ResponseField,{name:`days`,type:`integer | null`,id:`param-days`,children:`Extension length in days`}),_jsx(ResponseField,{name:`months`,type:`integer | null`,id:`param-months`,children:`Extension length in months`}),_jsxs(ResponseField,{name:`as_of_right`,type:`boolean`,id:`param-as-of-right`,children:[_jsx(_components.code,{children:`true`}),` if granted automatically on timely request, `,_jsx(_components.code,{children:`false`}),` if discretionary but routinely granted`]}),_jsx(ResponseField,{name:`notes`,type:`string`,id:`param-notes`,children:`Human-readable note for UI surfacing`})]})}),_jsxs(ResponseField,{name:`extension_change_date`,type:`string | null`,id:`param-extension-change-date`,children:[_jsxs(_components.p,{children:[`Date the office changed its common-extension benchmark, as `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`. Exclusive upper bound of the earlier era: a window whose served `,_jsx(_components.code,{children:`window_closes`}),` falls `,_jsx(_components.strong,{children:`strictly before`}),` it was benchmarked at `,_jsx(_components.code,{children:`common_extension_before`}),`; every other window, and a window with no publication date, at `,_jsx(_components.code,{children:`common_extension`}),`. `,_jsx(_components.code,{children:`null`}),` when the benchmark has never changed.`]}),_jsxs(_components.p,{children:[`The close date is the anchor because a non-retroactive extension request is received no later than the deadline it extends, so a window that closed before the change can only have been extended under the old benchmark. This is advisory only: the pivot never moves `,_jsx(_components.code,{children:`window_closes`}),` or a computed `,_jsx(_components.code,{children:`must_act_by`}),`. Two rules carry one today. `,_jsx(_components.code,{children:`ca_opposition`}),`: CIPO’s TMOB benchmark first extension went from four months to two on 1 December 2023, so the catalog used to show `,_jsx(_components.code,{children:`2`}),` for every window while `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),` correctly returned four months for a 2022 close. `,_jsx(_components.code,{children:`ph_opposition`}),`: IPOPHL MC 2022-013 replaced up to three 30-day extensions with a single 45-day extension on 30 June 2022.`]})]}),_jsxs(ResponseField,{name:`common_extension_before`,type:`object | null`,id:`param-common-extension-before`,children:[`The `,_jsx(_components.code,{children:`common_extension`}),` that applied before `,_jsx(_components.code,{children:`extension_change_date`}),`, in the same shape. Set together with it, and `,_jsx(_components.code,{children:`null`}),` whenever it is `,_jsx(_components.code,{children:`null`}),`.`]}),_jsxs(ResponseField,{name:`applicable_from_date`,type:`string | null`,id:`param-applicable-from-date`,children:[`Statutory commencement this rule is gated on. A publication before this date yields no window at all (`,_jsx(_components.code,{children:`supported: false`}),` on `,_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),`), not a different rule’s window: lookup is a single match on office + filing route. `,_jsx(_components.code,{children:`null`}),` means the rule has no commencement gate and always applies.`]}),_jsx(ResponseField,{name:`sources`,type:`object[]`,id:`param-sources`,children:_jsxs(Expandable,{title:`RuleSource`,children:[_jsxs(ResponseField,{name:`citation`,type:`string`,id:`param-citation`,children:[`Statutory citation, e.g. `,_jsx(_components.code,{children:`Article 196(2) EUTMR`})]}),_jsx(ResponseField,{name:`url`,type:`string`,id:`param-url`,children:`Authoritative URL for the citation`})]})})]})}),`\n`,_jsxs(ResponseField,{name:`has_more`,type:`boolean`,id:`param-has-more`,children:[`Always `,_jsx(_components.code,{children:`false`})]}),`\n`,_jsxs(ResponseField,{name:`pagination`,type:`object`,id:`param-pagination`,children:[`Standard pagination envelope (`,_jsx(_components.code,{children:`cursor: null`}),`)`]}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`code-examples`,children:`Code Examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.signa.so/v1/opposition-rules?office=EM\u0026filing_route=madrid_designation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization: Bearer sig_YOUR_KEY\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`8`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { Signa } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@signa-so/sdk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` signa = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Signa({ api_key: process.env.SIGNA_API_KEY });`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rules = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` signa.references.oppositionRules({ office: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"EM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, filing_route: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"madrid_designation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rule `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`of`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rules.data) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` console.log(rule.office_code, rule.filing_route, rule.window_months);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),`, compute per-publication opposition windows from these rules`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/deadline-rules`,children:`List Deadline Rules`}),`, maintenance deadline rules (renewals, declarations)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/prosecution-rules`,children:`List Prosecution Rules`}),`, office action response and statement of use rules`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/list-offices`,children:`List Offices`}),`, office overview`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List Opposition Rules","description":"List all opposition window rules across modeled offices","api":"GET /v1/opposition-rules","href":"/api-reference/reference/opposition-rules"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[371,375,"Example,ResponseFiel"],[667,682,"Example)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingM"],[26208,26392,"_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`50`,language:`json`,childr"],[26592,30313,"json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`50`,children:[_jsx(_components"],[30428,30517,"{`})}),`\n`,_jsxs(_co"],[30558,30561,"[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"object\"`}),_js"],[30640,31965,": `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"list\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"object\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"opposition_rule\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"rule_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"eu_opposition_madrid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"effective_from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"last_verified\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-05-06\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jurisdiction_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"EU\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"office_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"EM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"filing_route\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"madrid_designation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"trigger_event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"international_designation_publication\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_months\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_days\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_starts_offset_months\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_starts_on\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"date_of_publication\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_ends_on\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_change_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_starts_on_before\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_months_before\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_days_before\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"window_ends_on_before\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"month_end_overflow\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"last_day\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"office_time_zone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Europe/Madrid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"holiday_calendar\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"euipo_alicante\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"common_extension\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"applicable_from_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sources\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"citation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Article 196(2) EUTMR (Regulation (EU) 2017/1001): opposition to IRs designating EU; period of three months begins one month after the publication pursuant to Article 190(1)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://eur-lex.europa.eu/eli/reg/2017/1001/oj/eng\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"citation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Article 190(1) EUTMR: EUIPO republication in EUTM Bulletin Part M\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://eur-lex.europa.eu/eli/reg/2017/1001/oj/eng\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"citation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Article 67 Commission Delegated Regulation (EU) 2018/625\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://eur-lex.europa.eu/eli/reg_del/2018/625/oj\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"citation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Article 69 Commission Delegated Regulation (EU) 2018/625\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://eur-lex.europa.eu/eli/reg_del/2018/625/oj\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"has_more\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pagination\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"cursor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`code-examples`,children:`Code Examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.signa.so/v1/opposition-rules?office=EM\u0026filing_route=madrid_designation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization: Bearer sig_YOUR_KEY\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`8`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { Signa } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@signa-so/sdk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` signa = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Signa({ api_key: process.env.SIGNA_API_KEY });`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rules = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` signa.references.oppositionRules({ office: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"EM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, filing_route: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"madrid_designation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rule `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`of`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rules.data) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` console.log(rule.office_code, rule.filing_route, rule.window_months);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/compute-oppositions`,children:`Compute Oppositions`}),`, compute per-publication opposition windows from these rules`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/deadline-rules`,children:`List Deadline Rules`}),`, maintenance deadline rules (renewals, declarations)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/prosecution-rules`,children:`List Prosecution Rules`}),`, office action response and statement of use rules`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/reference/list-offices`,children:`List Offices`}),`, office overview`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"]]},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Query Parameters","slug":"query-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Code Examples","slug":"code-examples","depth":2,"children":[]},{"title":"Related Endpoints","slug":"related-endpoints","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"50\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"object\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"list\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"object\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"opposition_rule\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"rule_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"eu_opposition_madrid\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"effective_from\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"last_verified\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-05-06\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"jurisdiction_code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"EU\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"office_code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"EM\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"filing_route\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"madrid_designation\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"trigger_event\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"international_designation_publication\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_months\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">3\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_days\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_starts_offset_months\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_starts_on\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"date_of_publication\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_ends_on\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_change_date\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_starts_on_before\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_months_before\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_days_before\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"window_ends_on_before\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"month_end_overflow\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"last_day\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"office_time_zone\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Europe/Madrid\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"holiday_calendar\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"euipo_alicante\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"common_extension\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"applicable_from_date\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sources\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"citation\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Article 196(2) EUTMR (Regulation (EU) 2017/1001): opposition to IRs designating EU; period of three months begins one month after the publication pursuant to Article 190(1)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://eur-lex.europa.eu/eli/reg/2017/1001/oj/eng\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"citation\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Article 190(1) EUTMR: EUIPO republication in EUTM Bulletin Part M\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://eur-lex.europa.eu/eli/reg/2017/1001/oj/eng\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"citation\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Article 67 Commission Delegated Regulation (EU) 2018/625\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://eur-lex.europa.eu/eli/reg_del/2018/625/oj\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"citation\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Article 69 Commission Delegated Regulation (EU) 2018/625\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://eur-lex.europa.eu/eli/reg_del/2018/625/oj\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"has_more\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pagination\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"cursor\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"List Opposition Rules","path":"/v1/opposition-rules","servers":[{"url":"https://api.signa.so"}],"method":"get","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{"jurisdiction":{"schema":[{"type":"string","description":"Filter by jurisdiction code (uppercase ISO-2). Comma-separated for multiple values."}]},"office":{"schema":[{"type":"string","description":"Filter by uppercase ST.3 office code. Comma-separated for multiple values, e.g. `?office=US,EM` . Legacy lowercase codes (e.g. `uspto` , and `eu` for EUIPO) are accepted as permanent aliases. Accepts every code this catalog serves , not only the offices Signa ingests a register from: `?office=JP` and `?office=TR` return their rules. Anything outside that set, and outside the `/v1/offices` vocabulary, is a `400` ."}]},"filing_route":{"schema":[{"type":"string","description":"Filter by the rule’s filing route discriminator. Accepted values: `domestic` , `madrid_designation` . The trademark `filing_route` values `direct_national` and `direct_regional` are also accepted and read as `domestic` . The other trademark values ( `madrid_ir` , `transformation` , `divisional` , `unknown` ) return `400` with the accepted list. Comma-separated for multiple values."}]},"trigger_event":{"schema":[{"type":"string","description":"Filter by trigger event. Accepted values: `application_publication` , `registration_publication` , `international_designation_publication` . Comma-separated for multiple values."}]}},"header":{},"cookie":{},"path":{}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"object":[{"type":"string","description":"Always `list`"}],"data":[{"type":"array","items":[{"type":"object","properties":{"object":[{"type":"string","description":"Always `opposition_rule`"}],"rule_id":[{"type":"string","description":"Stable, permanent slug identifying this rule, e.g. `eu_opposition_madrid` . Once published a slug is never renamed or repointed, so it is safe to persist and to join against `rule_id` on Compute Oppositions items, trademark `derived.opposition_window` , and watch diagnostics. Treat it as opaque : the slug looks parseable but its grammar is not part of the contract, so compare it for equality and nothing else. It is deliberately not a prefixed entity ID ( `tm_` , `own_` ) because it names a statutory rule, not a stored entity."}],"effective_from":[{"type":"object","properties":{},"description":"Earliest date from which this rule’s modelled content is authoritative, as `YYYY-MM-DD` . `null` when the source corpus does not establish one, which is the common case. Related to but not the same as `applicable_from_date` : `applicable_from_date` is the statutory commencement the engine gates on, so a publication dated before it yields no window at all rather than a different rule’s window, while `effective_from` is a statement about the modelling. (Rule lookup is a single match on office plus filing route, so there is never an alternate era rule to fall back to; where a window length changes over time, that variation is modelled inside the one rule rather than by a second rule.) Where a rule carries a cutover the two agree: in the current opposition corpus every non-null `effective_from` equals its rule’s `applicable_from_date` , and every rule without a cutover reports `effective_from: null` ."}],"last_verified":[{"type":"string","description":"Date Signa last checked this rule against its statutory sources, as `YYYY-MM-DD` . This is the same value the compute endpoint returns as `rule_version` ; it moves on a verification pass even when nothing about the rule changed."}],"jurisdiction_code":[{"type":"string","description":"Jurisdiction (uppercase ISO-2)"}],"office_code":[{"type":"string","description":"Uppercase ST.3 office code (e.g. `US` , `EM` , `CA` ). Always present. This is the join key back to Compute Oppositions , which reports the same code, and it is what `?office=` accepts. It covers every office in the corpus, including the ones Signa models for rules but does not yet ingest a register from ( `JP` , `IN` , `TR` , `KR` , `CN` , `BX` , `DK` , `FI` , `PL` , `TH` , `VN` , `PH` , `IS` ). Before 23 September 2026 this catalog served those offices as `null` , and they could not be filtered on."}],"filing_route":[{"type":"string","description":"Either `domestic` or `madrid_designation`"}],"trigger_event":[{"type":"string","description":"Which event starts the opposition clock: `application_publication` , `registration_publication` , or `international_designation_publication`"}],"window_months":[{"type":"object","properties":{},"description":"Window duration in months ( `null` when expressed in days)"}],"window_days":[{"type":"object","properties":{},"description":"Window duration in days ( `null` when expressed in months)"}],"window_starts_offset_months":[{"type":"object","properties":{},"description":"Months to wait after publication before the window opens (e.g. EUIPO Madrid-EU has 1 month between Bulletin Part M republication and window opening)"}],"window_starts_on":[{"type":"string","description":"Where the clock starts: `date_of_publication` (day zero is the publication day), `day_after` (the publication day is not counted), or `first_of_following_month` (the window opens on the first day of the month AFTER the publication month: how several offices draft the window against a WIPO Gazette issue, which carries a month rather than a service date)"}],"window_opens_on":[{"type":"object","properties":{},"description":"When `first_of_following_month` , the current era’s window does not open until the first day of the month after the publication month, although its close is still counted per `window_starts_on` , from the publication. `null` for every rule but `cn_opposition_madrid` , where it applies to a WIPO Gazette date on or after 2027-01-01 (see `window_change_date` ). The window is then the part two readings of a draft rule share: it opens on the later of their opening dates and closes on the earlier of their closing dates."}],"window_ends_on":[{"type":"object","properties":{},"description":"How the close is derived when the current era opens on `first_of_following_month` with a window expressed in months; `null` for every other rule, where the close is anchored on the publication day-number instead. It is also `null` for a rule that only opens that way in its EARLIER era , which reports the convention under `window_ends_on_before` . `corresponding_day_of_start` means the period ends on the same-numbered day of the Nth month (a window opening 1 August with `window_months: 3` closes 1 November); `day_before_corresponding_day_of_start` means it ends the day before, i.e. on the last day of the Nth month (31 October). Both are real statutory readings and they differ by exactly one day, so the field says which one the office applies rather than defaulting."}],"window_change_date":[{"type":"object","properties":{},"description":"Date this rule changed regime, as `YYYY-MM-DD` . Half-open: a publication strictly before it is governed by the four `_before` fields below, one on or after it by the current-era fields. `null` when the rule has never changed, which is most of them. One rule ( `tr_opposition` ) compares the FILING date against this boundary rather than the publication date, under its transitional provision, so pass `filing_date` to Compute Opposition Windows to get that reading. Not every `window_change_date` is a statutory date. Most are: the day the instrument itself says the new regime starts. A few are serving pivots, set earlier than commencement on purpose because the statute left a straddling cohort unaddressed and Signa publishes the shorter of the two possible windows. `cn_opposition` is the current example. China’s 2026 Trademark Law cuts the window from three months to two and commences on 1 January 2027 , but says nothing about a period already running that day, so `window_change_date` is 2026-10-01 , the first publication whose three months would still be open at commencement. Every publication from that day is served two months. A close published too early costs a would-be opponent nothing they can lose by relying on it; one published too late costs the right itself. Read a `window_change_date` that precedes the cited instrument’s commencement as a conservative serving choice, not as a claim about when the law changed, and re-check it once the office publishes its transitional guidance. `cn_opposition_madrid` is the other conservative example: its 2027-01-01 boundary comes from CNIPA’s draft transitional measures (published for comment on 28 September 2026, not yet in force), which would give an international registration with a WIPO publication date on or after that day the two-month window counted from the publication. The draft leaves open whether the current rule’s start, the first day of the month after the Gazette, survives. Until the final measures are published, Signa serves the window both readings allow: it opens on the first day of the following month ( `window_opens_on` ) and closes two months after the Gazette date. A Gazette date of 15 January 2027 gives 1 February to 15 March 2027. No instrument in force states either end yet, so both are provisional."}],"window_change_comparison_field":[{"type":"object","properties":{},"description":"Which date of the mark is compared against `window_change_date` to decide the era: `publication_date` or `filing_date` . `null` exactly when `window_change_date` is `null` . Almost every rule compares the publication date the window runs from, and for those this field is `publication_date` and can be ignored. `tr_opposition` is the exception and the reason the field exists: SMK geçici m. 1/1 concludes an application filed before the SMK was published under the law in force on its filing date , so a mark filed under KHK 556 but published after 10 January 2017 keeps the older three-month window rather than the current two-month one. Reproducing that from `window_change_date` alone gives an answer two months short on exactly the straddling applications a practitioner is most likely to check by hand. Pass `filing_date` to Compute Oppositions and the engine applies it for you; when no filing date is supplied it falls back to the publication date, i.e. the shorter modern window, which is never later than the filing-keyed answer."}],"window_starts_on_before":[{"type":"object","properties":{},"description":"`window_starts_on` for publications before `window_change_date` , when the change moved the start. `null` when the change moved only the length, or when there is no change, in which case `window_starts_on` governs both eras. `bx_opposition` is the example: it ran from the first of the following month until 30 September 2013 and from the publication day itself thereafter."}],"window_months_before":[{"type":"object","properties":{},"description":"`window_months` for publications before `window_change_date` . `null` when the earlier era counted in days, when only the start convention changed, or when there is no change."}],"window_days_before":[{"type":"object","properties":{},"description":"`window_days` for publications before `window_change_date` . Exactly one of `window_months_before` / `window_days_before` is non-null when the change moved the length, and a change may switch units: `kr_opposition` went from two months to 30 days on 22 July 2025."}],"window_ends_on_before":[{"type":"object","properties":{},"description":"`window_ends_on` for the earlier era, when THAT era opens on the first of the following month with a month-based window. `bx_opposition` reports `corresponding_day_of_start` here and `null` in `window_ends_on` ."}],"month_end_overflow":[{"type":"string","description":"What a month-counted close date does when the publication’s day number does not exist in the target month. `last_day` clamps to that month’s last day, which is what every office except Mexico does and is the value returned for them. `first_business_day_of_following_month` runs the period into the next calendar month and ends it on that month’s first business day: an MX application published 31 March 2026 closes 4 May 2026, not 30 April (Reglamento LFPPI art. 7, párrafo segundo, read together with `holiday_calendar` for the business-day half). Only `mx_opposition` returns it today, and it never applies to a window expressed in days."}],"office_time_zone":[{"type":"string","description":"IANA office time zone (display only; date math uses calendar dates)"}],"holiday_calendar":[{"type":"object","properties":{},"description":"Holiday calendar key used for close-date rollover, e.g. `uspto_dc`"}],"common_extension":[{"type":"object","properties":{"days":[{"type":"object","properties":{},"description":"Extension length in days"}],"months":[{"type":"object","properties":{},"description":"Extension length in months"}],"as_of_right":[{"type":"boolean","description":"`true` if granted automatically on timely request, `false` if discretionary but routinely granted"}],"notes":[{"type":"string","description":"Human-readable note for UI surfacing"}]}}],"extension_change_date":[{"type":"object","properties":{},"description":"Date the office changed its common-extension benchmark, as `YYYY-MM-DD` . Exclusive upper bound of the earlier era: a window whose served `window_closes` falls strictly before it was benchmarked at `common_extension_before` ; every other window, and a window with no publication date, at `common_extension` . `null` when the benchmark has never changed. The close date is the anchor because a non-retroactive extension request is received no later than the deadline it extends, so a window that closed before the change can only have been extended under the old benchmark. This is advisory only: the pivot never moves `window_closes` or a computed `must_act_by` . Two rules carry one today. `ca_opposition` : CIPO’s TMOB benchmark first extension went from four months to two on 1 December 2023, so the catalog used to show `2` for every window while Compute Oppositions correctly returned four months for a 2022 close. `ph_opposition` : IPOPHL MC 2022-013 replaced up to three 30-day extensions with a single 45-day extension on 30 June 2022."}],"common_extension_before":[{"type":"object","properties":{},"description":"The `common_extension` that applied before `extension_change_date` , in the same shape. Set together with it, and `null` whenever it is `null` ."}],"applicable_from_date":[{"type":"object","properties":{},"description":"Statutory commencement this rule is gated on. A publication before this date yields no window at all ( `supported: false` on Compute Oppositions ), not a different rule’s window: lookup is a single match on office + filing route. `null` means the rule has no commencement gate and always applies."}],"sources":[{"type":"array","items":[{"type":"object","properties":{"citation":[{"type":"string","description":"Statutory citation, e.g. `Article 196(2) EUTMR`"}],"url":[{"type":"string","description":"Authoritative URL for the citation"}]}}]}]}}]}],"has_more":[{"type":"boolean","description":"Always `false`"}],"pagination":[{"type":"object","properties":{},"description":"Standard pagination envelope ( `cursor: null` )"}]}}],"examples":{"example":{"value":{"object":"\u003cstring>","data":[{"object":"\u003cstring>","rule_id":"\u003cstring>","effective_from":{},"last_verified":"\u003cstring>","jurisdiction_code":"\u003cstring>","office_code":"\u003cstring>","filing_route":"\u003cstring>","trigger_event":"\u003cstring>","window_months":{},"window_days":{},"window_starts_offset_months":{},"window_starts_on":"\u003cstring>","window_opens_on":{},"window_ends_on":{},"window_change_date":{},"window_change_comparison_field":{},"window_starts_on_before":{},"window_months_before":{},"window_days_before":{},"window_ends_on_before":{},"month_end_overflow":"\u003cstring>","office_time_zone":"\u003cstring>","holiday_calendar":{},"common_extension":{"days":{},"months":{},"as_of_right":true,"notes":"\u003cstring>"},"extension_change_date":{},"common_extension_before":{},"applicable_from_date":{},"sources":[{"citation":"\u003cstring>","url":"\u003cstring>"}]}],"has_more":true,"pagination":{}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"signa-3e9d3658","siteName":"Signa Docs","title":"List Opposition Rules - Signa Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-11T19:35:26.195Z","originalFileLocation":"api-reference/reference/opposition-rules.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"List all opposition window rules across modeled offices\">\u003cmeta data-mint-head name=\"application-name\" content=\"Signa Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List Opposition Rules - Signa Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"List all opposition window rules across modeled offices\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Signa Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.signa.so/api-reference/reference/opposition-rules\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://signa-3e9d3658.mintlify.site/_mintlify/api/og/v2?division=Deadlines\u0026amp;title=List+Opposition+Rules\u0026amp;description=List+all+opposition+window+rules+across+modeled+offices\u0026amp;theme=dfb8ae32f82fc4bf7fac790e\u0026amp;signature=2c8b6cf28c08f7813d7c086b3a4ea08d486deb7f4eb7e1ae4b686c4997d58c10\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List Opposition Rules - Signa Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List all opposition window rules across modeled offices\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://signa-3e9d3658.mintlify.site/_mintlify/api/og/v2?division=Deadlines\u0026amp;title=List+Opposition+Rules\u0026amp;description=List+all+opposition+window+rules+across+modeled+offices\u0026amp;theme=dfb8ae32f82fc4bf7fac790e\u0026amp;signature=2c8b6cf28c08f7813d7c086b3a4ea08d486deb7f4eb7e1ae4b686c4997d58c10\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/signa-3e9d3658/dQGWgfNCEyUjAsUh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Signa Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#555555\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.signa.so/api-reference/reference/opposition-rules\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/reference/opposition-rules.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.signa.so/#organization\",\"name\":\"Signa Docs\",\"url\":\"https://docs.signa.so\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/signa-3e9d3658/B1ZmV_4e8OQAWS8j/logo/light.svg?fit=max\u0026auto=format\u0026n=B1ZmV_4e8OQAWS8j\u0026q=85\u0026s=94809fd9be711ab731742afa4d4e58e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.signa.so#website\",\"name\":\"Signa Docs\",\"url\":\"https://docs.signa.so\",\"publisher\":{\"@id\":\"https://docs.signa.so/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.signa.so/api-reference/reference/opposition-rules#webpage\",\"url\":\"https://docs.signa.so/api-reference/reference/opposition-rules\",\"name\":\"List Opposition Rules\",\"description\":\"List all opposition window rules across modeled offices\",\"dateModified\":\"2026-10-11T19:35:26.195Z\",\"isPartOf\":{\"@id\":\"https://docs.signa.so#website\"},\"breadcrumb\":{\"@id\":\"https://docs.signa.so/api-reference/reference/opposition-rules#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.signa.so/api-reference/reference/opposition-rules#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Filing \u0026 docketing\",\"item\":\"https://docs.signa.so/api-reference/reference/list-classifications\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deadlines\",\"item\":\"https://docs.signa.so/api-reference/reference/list-deadlines\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List Opposition Rules\",\"item\":\"https://docs.signa.so/api-reference/reference/opposition-rules\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.signa.so/api-reference/reference/opposition-rules#apireference\",\"headline\":\"List Opposition Rules\",\"name\":\"List Opposition Rules\",\"description\":\"List all opposition window rules across modeled offices\",\"url\":\"https://docs.signa.so/api-reference/reference/opposition-rules\",\"mainEntityOfPage\":{\"@id\":\"https://docs.signa.so/api-reference/reference/opposition-rules#webpage\"},\"dateModified\":\"2026-10-11T19:35:26.195Z\",\"publisher\":{\"@id\":\"https://docs.signa.so/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.signa.so#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Signa Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Signa Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/reference/opposition-rules.md","siteName":"Signa Docs","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Pagination","href":"/api-reference/pagination"},{"title":"Rate Limits \u0026 Credits","href":"/api-reference/rate-limits"},{"title":"Errors","href":"/api-reference/errors"}]},{"group":"Trademarks","pages":[{"group":"Search","pages":[{"title":"Search Trademarks","api":"GET /v1/trademarks","href":"/api-reference/trademarks/search-trademarks"},{"title":"Search by Image","api":"POST /v1/trademarks/search/image","tag":"ALPHA","href":"/api-reference/trademarks/trademark-image-search"}]},{"group":"Retrieve","pages":[{"title":"Retrieve Trademark","api":"GET /v1/trademarks/{id}","href":"/api-reference/trademarks/retrieve-trademark"},{"title":"Batch Retrieve","api":"POST /v1/trademarks/batch","href":"/api-reference/trademarks/batch-trademarks"}]},{"group":"Records","pages":[{"title":"Trademark Events","api":"GET /v1/trademarks/{id}/events","href":"/api-reference/trademarks/trademark-events"},{"title":"Trademark Proceedings","api":"GET /v1/trademarks/{id}/proceedings","href":"/api-reference/trademarks/trademark-proceedings"},{"title":"Trademark Assignments","api":"GET /v1/trademarks/{id}/assignments","href":"/api-reference/trademarks/trademark-assignments"},{"title":"Trademark Citations","api":"GET /v1/trademarks/{id}/citations","href":"/api-reference/trademarks/trademark-citations"},{"title":"Trademark Cited By","api":"GET /v1/trademarks/{id}/cited-by","href":"/api-reference/trademarks/trademark-cited-by"},{"title":"Trademark Documents","api":"GET /v1/trademarks/{id}/documents","href":"/api-reference/trademarks/records/documents"}]}]},{"group":"Parties","pages":[{"group":"Entities","pages":[{"title":"Search Entities","api":"GET /v1/entities","href":"/api-reference/parties/search-entities"},{"title":"Retrieve Entity","api":"GET /v1/entities/{id}","href":"/api-reference/parties/retrieve-entity"},{"title":"Entity Trademarks","api":"GET /v1/entities/{id}/trademarks","href":"/api-reference/parties/entity-trademarks"},{"title":"Entity Family","api":"GET /v1/entities/{id}/family","href":"/api-reference/parties/entity-family"}]},{"group":"Owners","pages":[{"title":"Search Owners","api":"GET /v1/owners","href":"/api-reference/parties/search-owners"},{"title":"Retrieve Owner","api":"GET /v1/owners/{id}","href":"/api-reference/parties/retrieve-owner"},{"title":"Owner Trademarks","api":"GET /v1/owners/{id}/trademarks","href":"/api-reference/parties/owner-trademarks"},{"title":"Owner Related Entities","api":"GET /v1/owners/{id}/related","href":"/api-reference/parties/owner-related"}]},{"group":"Attorneys","pages":[{"title":"Search Attorneys","api":"GET /v1/attorneys","href":"/api-reference/parties/search-attorneys"},{"title":"Retrieve Attorney","api":"GET /v1/attorneys/{id}","href":"/api-reference/parties/retrieve-attorney"},{"title":"Attorney Trademarks","api":"GET /v1/attorneys/{id}/trademarks","href":"/api-reference/parties/attorney-trademarks"},{"title":"Attorney Clients","api":"GET /v1/attorneys/{id}/clients","href":"/api-reference/parties/attorney-clients"}]},{"group":"Firms","pages":[{"title":"Search Firms","api":"GET /v1/firms","href":"/api-reference/parties/search-firms"},{"title":"Retrieve Firm","api":"GET /v1/firms/{id}","href":"/api-reference/parties/retrieve-firm"},{"title":"Firm Trademarks","api":"GET /v1/firms/{id}/trademarks","href":"/api-reference/parties/firm-trademarks"},{"title":"Firm Attorneys","api":"GET /v1/firms/{id}/attorneys","href":"/api-reference/parties/firm-attorneys"}]}]},{"group":"Records","pages":[{"group":"Proceedings","pages":[{"title":"Search Proceedings","api":"GET /v1/proceedings","href":"/api-reference/proceedings/search-proceedings"},{"title":"Retrieve Proceeding","api":"GET /v1/proceedings/{id}","href":"/api-reference/proceedings/retrieve-proceeding"}]},{"group":"Assignments","pages":[{"title":"Search Assignments","api":"GET /v1/assignments","href":"/api-reference/records/transactions/search-assignments"},{"title":"Retrieve Assignment","api":"GET /v1/assignments/{id}","href":"/api-reference/records/transactions/retrieve-assignment"}]},{"group":"Citations","pages":[{"title":"Search Citations","api":"GET /v1/citations","href":"/api-reference/citations/search-citations"}]}]},{"group":"Intelligence","pages":[{"group":"Screening","pages":[{"title":"Screen a Name","api":"GET /v1/screening","tag":"ALPHA","href":"/api-reference/screening/screen"},{"title":"Check a Listing","api":"POST /v1/screening/listings","tag":"ALPHA","href":"/api-reference/screening/check-listing"}]},{"group":"Compare","pages":[{"title":"Compare Marks","api":"POST /v1/compare","tag":"ALPHA","href":"/api-reference/compare/compare"}]}]},{"group":"Filing \u0026 docketing","pages":[{"group":"Classification","pages":[{"title":"List Classifications","api":"GET /v1/classifications","href":"/api-reference/reference/list-classifications"},{"title":"Retrieve Classification","api":"GET /v1/classifications/{classNumber}","href":"/api-reference/reference/retrieve-classification"},{"title":"List Goods \u0026 Services","api":"GET /v1/goods-services","href":"/api-reference/reference/list-goods-services"},{"title":"Suggest Classifications","api":"POST /v1/classifications/suggest","href":"/api-reference/reference/suggest-classifications"},{"title":"Suggest Goods \u0026 Services","api":"POST /v1/goods-services/suggest","href":"/api-reference/reference/suggest-goods-services"},{"title":"Validate Goods \u0026 Services","api":"POST /v1/goods-services/validate","href":"/api-reference/reference/validate-goods-services"}]},{"group":"Deadlines","pages":[{"title":"List Deadlines","api":"GET /v1/deadlines","href":"/api-reference/reference/list-deadlines"},{"title":"Compute Deadlines","api":"POST /v1/deadlines/compute","href":"/api-reference/reference/compute-deadlines"},{"title":"Compute Oppositions","api":"POST /v1/oppositions/compute","href":"/api-reference/reference/compute-oppositions"},{"title":"List Deadline Rules","description":"List all maintenance deadline rules across modeled jurisdictions","api":"GET /v1/deadline-rules","href":"/api-reference/reference/deadline-rules"},{"title":"List Opposition Rules","api":"GET /v1/opposition-rules","href":"/api-reference/reference/opposition-rules"},{"title":"List Prosecution Rules","description":"List all prosecution deadline rules (office action responses, statements of use) across modeled offices","api":"GET /v1/prosecution-rules","href":"/api-reference/reference/prosecution-rules"}]},{"group":"Fees","pages":[{"title":"List Fees","api":"GET /v1/fees","href":"/api-reference/fees/list"},{"title":"Estimate Fees","api":"POST /v1/fees/estimate","href":"/api-reference/fees/estimate"}]},{"group":"Reconcile","pages":[{"title":"Reconcile","api":"POST /v1/reconcile","href":"/api-reference/reference/reconcile"}]},{"group":"Portfolios","pages":[{"title":"Create Portfolio","api":"POST /v1/portfolios","href":"/api-reference/portfolios/create"},{"title":"List Portfolios","api":"GET /v1/portfolios","href":"/api-reference/portfolios/list"},{"title":"Retrieve Portfolio","api":"GET /v1/portfolios/{id}","href":"/api-reference/portfolios/retrieve"},{"title":"Update Portfolio","api":"PATCH /v1/portfolios/{id}","href":"/api-reference/portfolios/update"},{"title":"Delete Portfolio","api":"DELETE /v1/portfolios/{id}","href":"/api-reference/portfolios/delete"},{"title":"Add Trademarks","api":"POST /v1/portfolios/{id}/trademarks","href":"/api-reference/portfolios/add-trademarks"},{"title":"Remove Trademarks","api":"POST /v1/portfolios/{id}/trademarks/remove","href":"/api-reference/portfolios/remove-trademarks"},{"title":"List Portfolio Deadlines","api":"GET /v1/portfolios/{id}/deadlines","href":"/api-reference/portfolios/deadlines"},{"title":"Download Portfolio Calendar","api":"GET /v1/portfolios/{id}/deadlines.ics","href":"/api-reference/portfolios/deadlines-ics"}]}]},{"group":"Monitoring","pages":[{"group":"Watches","pages":[{"title":"Create Watch","api":"POST /v1/watches","href":"/api-reference/monitoring/watches/create"},{"title":"List Watches","api":"GET /v1/watches","href":"/api-reference/monitoring/watches/list"},{"title":"Retrieve Watch","api":"GET /v1/watches/{id}","href":"/api-reference/monitoring/watches/retrieve"},{"title":"Update Watch","api":"PATCH /v1/watches/{id}","href":"/api-reference/monitoring/watches/update"},{"title":"Delete Watch","api":"DELETE /v1/watches/{id}","href":"/api-reference/monitoring/watches/delete"},{"title":"Pause Watch","api":"POST /v1/watches/{id}/pause","href":"/api-reference/monitoring/watches/pause"},{"title":"Resume Watch","api":"POST /v1/watches/{id}/resume","href":"/api-reference/monitoring/watches/resume"},{"title":"Preview Watch","api":"POST /v1/watches/preview","href":"/api-reference/monitoring/watches/preview"},{"title":"Bulk Create Watches","api":"POST /v1/watches/bulk","href":"/api-reference/monitoring/watches/bulk"},{"title":"Watch Diagnostics","api":"GET /v1/watches/{id}/diagnostics","href":"/api-reference/monitoring/watches/diagnostics"},{"title":"Watch Attestation","api":"GET /v1/watches/{id}/attestation","href":"/api-reference/monitoring/watches/attestation"},{"title":"Monitoring Status","api":"GET /v1/monitoring/status","href":"/api-reference/monitoring/watches/monitoring-status"}]},{"group":"Alerts","pages":[{"title":"List Alerts","api":"GET /v1/alerts","href":"/api-reference/monitoring/alerts/list"},{"title":"Retrieve Alert","api":"GET /v1/alerts/{id}","href":"/api-reference/monitoring/alerts/retrieve"},{"title":"Lookup Alerts","api":"POST /v1/alerts/lookup","href":"/api-reference/monitoring/alerts/lookup"},{"title":"List Alerts for Watch","api":"GET /v1/watches/{id}/alerts","href":"/api-reference/monitoring/alerts/list-for-watch"}]},{"group":"Events","pages":[{"title":"List Events","api":"GET /v1/events","href":"/api-reference/monitoring/events/list"},{"title":"Retrieve Event","api":"GET /v1/events/{id}","href":"/api-reference/monitoring/events/retrieve"}]},{"group":"Webhooks","pages":[{"title":"Create Webhook","api":"POST /v1/webhooks","href":"/api-reference/monitoring/webhooks/create"},{"title":"List Webhooks","api":"GET /v1/webhooks","href":"/api-reference/monitoring/webhooks/list"},{"title":"Retrieve Webhook","api":"GET /v1/webhooks/{id}","href":"/api-reference/monitoring/webhooks/retrieve"},{"title":"Update Webhook","api":"PATCH /v1/webhooks/{id}","href":"/api-reference/monitoring/webhooks/update"},{"title":"Delete Webhook","api":"DELETE /v1/webhooks/{id}","href":"/api-reference/monitoring/webhooks/delete"},{"title":"Rotate Webhook Secret","api":"POST /v1/webhooks/{id}/rotate-secret","href":"/api-reference/monitoring/webhooks/rotate-secret"},{"title":"Test Webhook","api":"POST /v1/webhooks/{id}/test","href":"/api-reference/monitoring/webhooks/test"},{"title":"List Deliveries","api":"GET /v1/webhooks/{id}/deliveries","href":"/api-reference/monitoring/webhooks/list-deliveries"},{"title":"Retrieve Delivery","api":"GET /v1/webhooks/{id}/deliveries/{did}","href":"/api-reference/monitoring/webhooks/retrieve-delivery"},{"title":"Redeliver Delivery","api":"POST /v1/webhooks/{id}/deliveries/{did}/redeliver","href":"/api-reference/monitoring/webhooks/redeliver"}]}]},{"group":"Analytics","pages":[{"group":"Filing Analytics","pages":[{"title":"Market Analytics","api":"GET /v1/analytics/market","href":"/api-reference/analytics/market"},{"title":"Office Analytics","api":"GET /v1/analytics/offices/{code}","href":"/api-reference/analytics/office-analytics"},{"title":"Classification Analytics","api":"GET /v1/analytics/classifications/{class}","href":"/api-reference/analytics/classification-analytics"}]},{"group":"Party Analytics","pages":[{"title":"Entity Analytics","api":"GET /v1/entities/{id}/analytics","href":"/api-reference/parties/entity-analytics"},{"title":"Owner Analytics","api":"GET /v1/owners/{id}/analytics","href":"/api-reference/parties/owner-analytics"},{"title":"Attorney Analytics","api":"GET /v1/attorneys/{id}/analytics","href":"/api-reference/parties/attorney-analytics"},{"title":"Firm Analytics","api":"GET /v1/firms/{id}/analytics","href":"/api-reference/parties/firm-analytics"}]}]},{"group":"Reference","pages":[{"group":"Offices","pages":[{"title":"List Offices","api":"GET /v1/offices","href":"/api-reference/reference/list-offices"},{"title":"Retrieve Office","api":"GET /v1/offices/{code}","href":"/api-reference/reference/retrieve-office"},{"title":"List Office Votes","api":"GET /v1/offices/votes","href":"/api-reference/reference/list-office-votes"},{"title":"Cast Office Votes","api":"POST /v1/offices/votes","href":"/api-reference/reference/cast-office-votes"},{"title":"Retract Office Vote","api":"DELETE /v1/offices/votes/{code}","href":"/api-reference/reference/retract-office-vote"}]},{"group":"Jurisdictions","pages":[{"title":"List Jurisdictions","api":"GET /v1/jurisdictions","href":"/api-reference/reference/list-jurisdictions"},{"title":"Retrieve Jurisdiction","api":"GET /v1/jurisdictions/{code}","href":"/api-reference/reference/retrieve-jurisdiction"}]},{"group":"Codes \u0026 types","pages":[{"title":"List Design Codes","api":"GET /v1/design-codes","href":"/api-reference/reference/list-design-codes"},{"title":"Retrieve Design Code","api":"GET /v1/design-codes/{code}","href":"/api-reference/reference/retrieve-design-code"},{"title":"List Event Types","api":"GET /v1/event-types","href":"/api-reference/reference/list-event-types"},{"title":"List Status Codes","api":"GET /v1/status-codes","href":"/api-reference/reference/list-status-codes"}]}]},{"group":"Administration","pages":[{"group":"Organization","pages":[{"title":"Get Current Organization","api":"GET /v1/organization/me","href":"/api-reference/administration/get-me"}]},{"group":"API Keys","pages":[{"title":"List API Keys","api":"GET /v1/organization/api-keys","href":"/api-reference/administration/list-api-keys"},{"title":"Create API Key","api":"POST /v1/organization/api-keys","href":"/api-reference/administration/create-api-key"},{"title":"Retrieve API Key","api":"GET /v1/organization/api-keys/{id}","href":"/api-reference/administration/retrieve-api-key"},{"title":"Update API Key","api":"PATCH /v1/organization/api-keys/{id}","href":"/api-reference/administration/update-api-key"},{"title":"Revoke API Key","api":"DELETE /v1/organization/api-keys/{id}","href":"/api-reference/administration/delete-api-key"},{"title":"Rotate API Key","api":"POST /v1/organization/api-keys/{id}/rotate","href":"/api-reference/administration/rotate-api-key"}]},{"group":"Usage \u0026 Credits","pages":[{"title":"Get Usage","api":"GET /v1/organization/usage","href":"/api-reference/administration/get-usage"},{"title":"Get Usage Summary","api":"GET /v1/organization/usage/summary","href":"/api-reference/administration/get-usage-summary"},{"title":"Get Usage Estimate","api":"GET /v1/organization/usage/estimate","href":"/api-reference/administration/get-usage-estimate"},{"title":"Get Credits","api":"GET /v1/organization/credits","href":"/api-reference/administration/get-credits"},{"title":"Get Credit Pricing","openapi":"GET /v1/credits/pricing","href":"/api-reference/administration/get-credit-pricing"}]},{"group":"Logs","pages":[{"title":"List Request Logs","api":"GET /v1/organization/logs","href":"/api-reference/administration/get-logs"},{"title":"Retrieve Request Log","api":"GET /v1/organization/logs/{request_id}","href":"/api-reference/administration/retrieve-log"}]},{"group":"Feedback","pages":[{"title":"Submit Feedback","api":"POST /v1/feedback","href":"/api-reference/administration/create-feedback"},{"title":"List Feedback","api":"GET /v1/feedback","href":"/api-reference/administration/list-feedback"},{"title":"Retrieve Feedback","api":"GET /v1/feedback/{id}","href":"/api-reference/administration/get-feedback"}]},{"group":"Health","pages":[{"title":"Health Check","api":"GET /v1/health","href":"/api-reference/health"}]}]},{"group":"SDK","pages":[{"title":"TypeScript SDK","sidebarTitle":"TypeScript SDK","href":"/sdk/typescript"}]}]},{"tab":"Research","pages":[{"title":"Research","href":"/research"}]}]},"basePath":"","title":"List Opposition Rules - Signa Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js"]}