{"server":"com.gleanmark/trademark-search","count":50,"changes":[{"tool":"get_trademark_analytics","kind":"removed","observed_at":"2026-09-24T10:54:05.937Z","fields":[],"description_before":"Get aggregate statistics about USPTO trademark filings, registrations, and TTAB proceedings.","description_after":null,"description_similarity":null,"before_hash":"8b97b5fff3f1aa1645586610b71d7735","after_hash":null},{"tool":"web_research","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e9f834b3ae47ea5839642602cbceb7ed","after_hash":"4389712a4749038383a0acade79c8a76"},{"tool":"validate_gs_description","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"15dde39f09703db107ebbb29ba8048fa","after_hash":"c6977fd2dcd2c1342853ea080474fe1d"},{"tool":"suggest_gs_descriptions","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e375eb22107f84a21933c6f20a5b4e6f","after_hash":"ba5d21833059a83a28140210305bce1f"},{"tool":"search_ttab_proceedings","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"1070b5cbb972d4fddf6760442395062f","after_hash":"40ebcfb7082f74b3d1c02829aebbb1e3"},{"tool":"search_trademarks","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Search the USPTO trademark database by name — a RANKED similarity/prefix search that returns the closest whole-mark matches (14M records). It is NOT an exhaustive contains-scan: multi-word marks that merely contain the queried word rank low and are usually cut (a KWIK query will miss KWIK REWARDS / KWIK KOPY). Thin results here are never proof a name is absent or available; availability questions belong to run_knockout_search.","description_after":"Searches USPTO trademarks by name (14M records) and returns the closest whole-mark matches, ranked by similarity and prefix. It is not an exhaustive contains-search: multi-word marks that only contain the queried word rank low and are often cut (a KWIK query can miss KWIK REWARDS or KWIK KOPY); search_marks_by_pattern returns complete lists. A short result does not show that a name is absent from the register or available.","description_similarity":0.569,"before_hash":"a73f6ad1cb2106fd3b112e734213cde7","after_hash":"7e4dd9192a6dc4180312c21f93f52414"},{"tool":"search_mark_statements","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Search the statements USPTO records on a trademark: disclaimer (\"no claim is made to PIZZA apart from the mark\"), description (the examiner's written description of the drawing — \"the mark consists of a red and white striped awning\"), translation (foreign wording), prior_marks (claimed ownership of earlier registrations). Answers \"which marks disclaim PIZZA\" and \"which marks are described as stripes\". Colour claims have their own tool (search_claimed_colors); goods text is served by search_trademarks. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark), statement_types. USE mode=\"top_terms\" with nice_class to RANK the most-disclaimed terms in a class — this answers \"what is the most disclaimed term in Class 9?\" (returns a ranked list with per-term mark counts; disclaimers only). For top_terms use status \"live\" (= registered + pending; the ranking does not separate them — say so in the answer), \"any\", or \"dead\"; a registered-only RANKING is not available. A single term's registered-only count IS available: mode=\"count\" with text=<term> and status=\"registered\" (any length, even \"AI\"). Neither the USPTO public search nor a web search can produce this ranking.","description_after":"Searches the statements the USPTO records on a trademark: disclaimers (\"no claim is made to PIZZA apart from the mark\"), descriptions of the drawing (\"the mark consists of a red and white striped awning\"), translations of foreign wording, and claims of prior registrations. Answers questions such as which marks disclaim a word or which marks are described as stripes. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark) and statement_types. mode=top_terms with nice_class ranks the most-disclaimed terms in a class with per-term mark counts (disclaimers only); its status filter accepts live (registered and pending together), any or dead, so a registered-only ranking is not available. A single term's registered-only count is available with mode=count, text set to the term, and status=registered. Color claims are searched with search_claimed_colors.","description_similarity":0.605,"before_hash":"b1efa6fc2356b7f1ef9426ca089b614d","after_hash":"e11f3dbbbc18ee8f2cfbe51fe31edb54"},{"tool":"search_goods_services","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Full-text search over the goods/services recitations of 14M USPTO marks — answers \"who else claims X in their goods?\" (competitive landscape, descriptiveness/crowded-field evidence, ID-drafting precedent). Keyword-based: the text is tokenized and matched against each mark's indexed goods keywords (match_mode all = every keyword must appear, any = at least one). Rows return a short excerpt around the matched clause, NOT the full recitation. mode=count answers \"how many marks claim X\" with class/status breakdowns; mode=top_owners ranks the owners claiming X — neither pulls rows. This searches goods/services TEXT, not mark names — for mark-name conflicts use run_knockout_search or search_trademarks.","description_after":"Full-text search over the goods and services identifications of 14M USPTO marks, for questions such as which other owners claim a product in their goods (competitive landscape, descriptiveness or crowded-field evidence, identification drafting precedent). Keyword-based: the query is tokenized and matched against each mark's indexed goods keywords (match_mode all requires every keyword, any requires at least one). Rows include a short excerpt around the matched clause, not the full identification. mode=count returns how many marks claim the goods, with class and status breakdowns; mode=top_owners ranks the owners claiming them; neither returns rows. Searches goods and services text, not mark names; run_knockout_search and search_trademarks search mark names.","description_similarity":0.701,"before_hash":"02ecf139b2c45550c6853be8811e69cd","after_hash":"3542ee82e93684a0e80f5cb7044773b3"},{"tool":"search_design_codes","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"28669638f3a69b5e9b42516546fdde39","after_hash":"6c31241c0cc6310162acde862ca13c21"},{"tool":"search_claimed_colors","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Search or count US trademarks by the colours they claim, parsed from USPTO colour-claim statements. Neither TESS nor its successor offers this. TWO levels: level=\"family\" (16 families; searching \"red\" also finds dark red, maroon, burgundy) and level=\"shade\" (the exact term as claimed, e.g. \"dark red\"). Use match=\"all\" for \"claims at least these colours\", match=\"only\" for \"claims exactly these and nothing else\", match=\"only_bw\" to also tolerate black/white. Set claimed=false to count marks whose statement DISCLAIMS colour. Modes: count, top_owners, list_marks, vocabulary (list the valid families or shades with corpus counts), explain_term (which family a shade belongs to), by_serial (what one mark claims).","description_after":"Searches or counts U.S. trademarks by the colors they claim, parsed from USPTO color-claim statements. Two levels: level=\"family\" (16 color families; red also finds dark red, maroon and burgundy) and level=\"shade\" (the exact term claimed, e.g. dark red). match=\"all\" finds marks claiming at least the given colors, match=\"only\" marks claiming exactly those colors, and match=\"only_bw\" the same while also allowing black and white. claimed=false counts marks whose statement says color is not claimed. Modes: count, top_owners, list_marks, vocabulary (the valid families or shades with counts), explain_term (the family a shade belongs to) and by_serial (what one mark claims).","description_similarity":0.622,"before_hash":"53ecb8ddb26d28bd7bb40f854c3810f6","after_hash":"a5b7593b425f1af9a4d0f4c60e9634e5"},{"tool":"search_by_owner","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"9e4922d544f92720c5c297d77aded8d1","after_hash":"7f19339a153745317ff201c87d8b87ac"},{"tool":"search_attorneys","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e139e14e0e4e7b32693b36228ce45b6d","after_hash":"24a8f2a8d4fd8f292ad6f0cdad888834"},{"tool":"search","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"666f448b9cf18ea1d38a3f107ff77b36","after_hash":"7a0df87bccce0848bd7185ee9ff64386"},{"tool":"run_safe_analytics","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Run a constrained business-level analytics query without exposing schema details. This is the default fallback for bespoke rankings, counts, snapshots, and timelines across owners, firms, and correspondents. Prefer this before chaining search, summary, or web research tools for aggregate business questions.","description_after":"Runs a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposing database details. Suited to custom aggregate business questions that a single search or summary tool does not answer.","description_similarity":0.415,"before_hash":"869e322e862b881a42faabe361d79267","after_hash":"f45f40244003a4ec55ba7827de00664e"},{"tool":"run_knockout_search","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Run an examiner-style knockout search with scoring via the unified knockout engine — the same engine the GleanMark product uses. This is a PURE USPTO conflict search over 14M trademark records (exact, phonetic, trigram, component words, coordinated class expansion, doctrine of foreign equivalents, design codes) with mark-similarity and commercial-overlap scoring. Returns 4-tier risk-grouped results (very_high/high/medium/low) with confusion scores, plus a dead-mark \"naming territory\" sample. The top-line verdict is calibrated four-tier — CRITICAL CONFLICTS / ELEVATED RISK / MODERATE RISK / LOW RISK — with a one-line reason, so multi-name shortlists rank meaningfully. ALWAYS pass goods_description when the user has told you what they sell — the risk bands score goods/services relatedness, so an identical mark in a related-goods class reads VERY_HIGH only when the goods are supplied (class-only scoring understates it). It does NOT check domain availability and does NOT run a brand/web availability check — for that, use check_brand_availability instead. Most searches finish in under a minute; before calling, give the user a one-line heads-up that it may take up to a minute. Optional owner_name adds portfolio context — shows the applicant's existing marks in searched classes.","description_after":"Runs a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinated class expansion, foreign-equivalent translation and design codes, scored for mark similarity and commercial overlap. Returns results grouped into four risk tiers (very high, high, medium, low) with confusion scores, a four-level headline verdict (critical conflicts, elevated risk, moderate risk, low risk) with a one-line reason, and a sample of dead marks in the same naming territory. goods_description, when supplied, is scored for goods and services relatedness; without it, scoring uses classes only, which understates conflicts between related goods in different classes. owner_name adds the applicant's existing marks in the searched classes. It searches trademarks only, not domains or web use; check_brand_availability covers domains. Most searches finish in under a minute. Requires a signed-in GleanMark account.","description_similarity":0.54,"before_hash":"07fcd2c2abe780190842eb6b649d036f","after_hash":"5e1fd2e60a6cd0688f3a24f2bf80bbda"},{"tool":"resolve_trademark_subject","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Resolve an owner, law firm, correspondent, mark, TTAB proceeding, client, or portfolio to the best trademark entity match. Resolving clients and portfolios requires authentication.","description_after":"Matches a name to one trademark entity (an owner, law firm, correspondent, mark, TTAB proceeding, client or portfolio) and returns the match with its identifiers, or the top candidates when the name is ambiguous. Resolving clients and portfolios requires a signed-in account.","description_similarity":0.525,"before_hash":"87d2ca7bde082cfc0bb6a01351dab40a","after_hash":"db00d8099475b56097af89f42a58d089"},{"tool":"research_office_action","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"d5cf95d2f549b13b441aad841b9e02f3","after_hash":"eab8d9a0fb22346a89d81f128f3e0b2e"},{"tool":"recommend_nice_classes","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"ccd27cf57f3047a2fa43f487afa56fd3","after_hash":"f8e2037574560c0ff8269e05efd3b94a"},{"tool":"phonetic_search","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Find trademarks whose WHOLE mark sounds similar to the given mark (Metaphone + trigram, whole-mark similarity threshold). LIMITS: it compares entire marks, so multi-word marks that merely CONTAIN a sound-alike word are invisible to it — \"KWIK REWARDS\" will NOT surface for a QUICK query even though KWIK sounds like QUICK. Thin or empty results are NEVER evidence that no sound-alike marks exist and NEVER support an availability/clearance conclusion: answer availability questions with run_knockout_search, the actual clearance engine.","description_after":"Finds trademarks whose whole mark sounds like the given mark, using Metaphone codes and trigram similarity with a whole-mark threshold. Because it compares entire marks, a multi-word mark that only contains a sound-alike word is not returned: for QUICK, KWIK REWARDS does not appear even though KWIK sounds like QUICK. An empty or short result does not show that no sound-alike marks exist and is not a clearance result; run_knockout_search is the conflict search.","description_similarity":0.519,"before_hash":"47d2233e32feafd31c03d86e1e529303","after_hash":"6e2da3eb11f286830ec3365cebddefde"},{"tool":"lookup_trademark","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"5520fe6c9289053349a19bf20a660a8b","after_hash":"33a652ac4be16aed213ef0a1a233499d"},{"tool":"list_prosecution_documents","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"d3f82775b1e13e41adfe81ed1003ede6","after_hash":"abd88fda43b03c9d3059b3fd172b7324"},{"tool":"is_mark_famous","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Check whether a trademark is FAMOUS — and, critically, famous FOR A SPECIFIC MARKET (you pass the applicant's Nice class as a PROXY for that market; fame is market-determined, there is no per-class fame doctrine). Fame is market-specific (Joseph Phelps Vineyards v. Fairmont): a mark famous for electronics is not automatically famous for fresh fruit. Returns is_famous, famous_in_class, the fame tier (broad/dilution-tier household name vs market-specific), the famous market footprint (expressed as Nice classes), portfolio size, and the corporate family's TTAB-as-plaintiff enforcement history. Use for \"is X a famous trademark?\", \"is X famous for <goods>?\", gauging a senior mark's §2(d) strength, or §43(c) dilution eligibility. It is a circumstantial signal, not statutory fame proof.","description_after":"Checks whether a trademark is famous, and whether it is famous for a specific market, using the applicant's Nice class as a stand-in for that market (fame is market-specific under Joseph Phelps Vineyards v. Fairmont: a mark famous for electronics is not automatically famous for fresh fruit). Returns is_famous, famous_in_class, the fame tier (broad household-name fame or market-specific fame), the classes where the mark is famous, portfolio size, and the corporate family's record as a TTAB plaintiff. Relevant to whether a mark is famous, the strength of a senior mark under Section 2(d), and dilution eligibility under Section 43(c). A circumstantial signal, not proof of statutory fame.","description_similarity":0.655,"before_hash":"626dfc4311e9efd028f933c3f7eae55d","after_hash":"aa53f73bfac60b655a442d3847856cb3"},{"tool":"get_ttab_top_opposition_filers","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Rank the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range — the market-wide \"who opposes the most\" question. Use this for questions like \"which party filed the most oppositions in April 2026?\". Do NOT substitute get_owner_ttab_stats (one owner) or get_ttab_proceeding_details (one proceeding); this is the only tool that ranks filers market-wide. Pass the exact calendar range the user implied.","description_after":"Ranks the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range. Answers market-wide questions such as which party filed the most oppositions in April 2026. Takes a calendar date range. One owner's record is covered by get_owner_ttab_stats, and one proceeding by get_ttab_proceeding_details.","description_similarity":0.542,"before_hash":"bba2705b67e01163095e2b0c30b1227a","after_hash":"01b01bc10a032d2b3105e00eceae0b7c"},{"tool":"get_ttab_proceeding_details","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"570bcbe29ac860b12a2a892fc6225953","after_hash":"fcc8197d90edf1dd442e88c3ca1fd9fa"},{"tool":"get_ttab_document","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"46ac982af8e82463cad418910b07c070","after_hash":"508483dd41609e4b77e00515ea3605aa"},{"tool":"get_top_filers","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"557ceb1f4b8eb5db58de7555522f71ec","after_hash":"16830c450e8b9cf9634dc6cdbf29a70f"},{"tool":"get_similar_marks","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"8aa850af27c8bb3073f91b68ac6f460e","after_hash":"3d66a32fd14e8c8074c13f49f6baf3c1"},{"tool":"get_reference_lookup","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"f30a78f3f707b870ef9b823573e949a4","after_hash":"54e51b929fd95ae86c32b4f21b6272af"},{"tool":"get_prosecution_timeline","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"871043a3688c6b5990f9fef55727c2aa","after_hash":"b403d328ccf225d70ecfe9b042518880"},{"tool":"get_prosecution_document","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"56b4e28dc7147cf51f58c41e0366cec1","after_hash":"84ae96d7aae687018f0e56527b7d3f51"},{"tool":"get_owner_ttab_stats","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Get a compact TTAB history for one owner with substantive inter partes, opposition, cancellation, extension, appeal, and role breakdowns. Do not equate total records with initiated oppositions. Use get_owner_ttab_enforcement for date ranges or challenged-mark/class analysis.","description_after":"Returns a compact TTAB history for one owner: counts of inter partes proceedings, oppositions, cancellations, extensions of time to oppose and appeals, broken down by the owner's role. The total counts every record, including extensions and cases the owner defended, so it is not the number of oppositions the owner started. get_owner_ttab_enforcement covers date ranges and the marks and classes challenged.","description_similarity":0.302,"before_hash":"5121a245865a302fc40dd5499b3eaca9","after_hash":"24dcb963b89f24c6bf51b553c5e6730b"},{"tool":"get_owner_ttab_enforcement","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"9dfddb3a3d187f7a2de9c5bc80321e16","after_hash":"8ca3529768f29618f39b6270d9b566f8"},{"tool":"get_owner_related_parties","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e9ceb57e7763e06af41b38674eaf2f4a","after_hash":"8f69be2a38e9cfd8797be7f6e07ebb17"},{"tool":"get_owner_goods_keywords","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"488b422de6d7fece0cb59f22cfb24637","after_hash":"d97bd7ae06ccae95c9c728a0364b8856"},{"tool":"get_owner_filing_trends","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"5e8a648ab1c6d946571f333d1fe5ad39","after_hash":"acf4a573d4ded31111caf263aae4f751"},{"tool":"get_owner_deadlines","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"7475082240a3ff7bae832c2876c180dc","after_hash":"83a220eedde42b9b3cc60cee8da38a46"},{"tool":"get_owner_ai_summary","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"d3d7692b716689bf6370808418078689","after_hash":"8e277a87b8bd9ba06afa12ef66ae68c8"},{"tool":"get_nice_classes","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"50e3dce6bf1a62c0051420414d6de7e7","after_hash":"5c52e9ebf6cd279fecf4243c869008ee"},{"tool":"get_mark_prosecution_summary","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"f66233552c3d78b2334d31b0d170dfcb","after_hash":"0105fe1ef35f0bfb37f21112febd14c4"},{"tool":"get_mark_owner_landscape","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"0c5fc6c2c75c265cc04410118f3c36a0","after_hash":"08d149f75cc20295a83234c67839aa42"},{"tool":"get_mark_international_profile","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"7a111c28117ba2dc4ccd7a08641d577a","after_hash":"142e9e269e86c777c2a4b5c7494c4fec"},{"tool":"get_mark_deadlines","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"dd2fc4bfa6a4727380c22c00dd6c9e1b","after_hash":"012a03351a14407b3bc7f359967b7433"},{"tool":"get_mark_ai_summary","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"05ad7ed16ce68704ee24af3fe4507717","after_hash":"150da57d8c11aa87cf7f7310316a7792"},{"tool":"get_latest_office_action","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Get the latest office action for a trademark serial number, plus the latest recorded response if one exists, and the VERIFIED refusal grounds (with cited registration numbers) parsed from the OA text. The refusal_grounds field is the authoritative, parsed basis of the refusal (rather than the document title).","description_after":"Returns the most recent Office Action for a trademark serial number, the latest recorded response if there is one, and the refusal grounds parsed from the Office Action text, with the cited registration numbers. refusal_grounds is taken from the text of the action, not from the document title.","description_similarity":0.628,"before_hash":"8a605c852200941c1eded9a83b2d25ed","after_hash":"fa8ac055e7940f9334b0e9c02a73b3d6"},{"tool":"get_firm_top_correspondents","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Get the leading correspondents or attorneys inside one named law firm, ranked by filing volume with prosecution and TTAB activity counts. Use this when the user asks for top correspondents at a specific firm, such as \"Who are the top correspondents at Fross Zelnick?\"","description_after":"Ranks the correspondents or attorneys within one named law firm by filing volume, with prosecution and TTAB activity counts. Answers questions such as who the top correspondents at Fross Zelnick Lehrman & Zissu are.","description_similarity":0.581,"before_hash":"94d4a96b78c50526dbf1f55e9ca4d6da","after_hash":"6ff609c26aab217a22636d46ab6a7458"},{"tool":"get_firm_oa_outcomes","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"1ec54e23ea9b1307b9679a3ec98a1bd7","after_hash":"915fe3dcb11c7a799c1ea8d238c2e9f7"},{"tool":"get_firm_deadlines","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"ae961a73a22230596ccb13964f09f9c6","after_hash":"27a2871ee3851c93571d1dd6ab60ce3a"},{"tool":"get_firm_correspondent_tasks","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["description","annotations"],"description_before":"Resolve a trademark law firm and return what its lawyers should focus on: overdue/next-window action-required deadlines plus recent Office Actions from both case-file events and prosecution documents, including ROA-filed and §2(d) indicators. Use this for questions like \"what correspondent tasks should this firm focus on over the next 30 days?\" or \"what recent OAs does this law firm have?\".","description_after":"Resolves a trademark law firm and returns its action-required work: overdue deadlines and those in the next window, plus recent Office Actions from case-file events and prosecution documents, with flags for a filed response and for Section 2(d) refusals. Answers questions such as which correspondent tasks a firm has in the next 30 days or which recent Office Actions a firm has received.","description_similarity":0.493,"before_hash":"8e9c741be26e2f3ff9b4b7b0c96d75bc","after_hash":"c82f866a8f2745dcf8fe01f0e8aaae85"},{"tool":"get_fame_profile","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e263606f54378f41779139bf680d0cae","after_hash":"58525b528fa7f936b4ad86dc7009aea4"},{"tool":"get_event_status_mapping","kind":"changed","observed_at":"2026-09-24T10:54:05.937Z","fields":["annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"270b13501af3edb897314045d91d373f","after_hash":"d64774bec7a17f9c28c36ccbb898fd40"}],"next_before":"29723","next_actions":[{"action":"list_changes","description":"Older changes","href":"/v1/servers/com.gleanmark%2Ftrademark-search/changes?before=29723&limit=50"}]}