{"openapi":"3.1.0","info":{"title":"Patent Status API","description":"\nStatus of every US patent application and patent, served from our own copy of USPTO bulk data (public domain,\n17 U.S.C. §105). Built for AI agents: compact JSON, stable field names, no seats, no rate limits per key.\n\n**How to use**: send `X-API-KEY: <key>` (or `Authorization: Bearer <key>`) on every `/v1` request.\nNo key yet? `POST /agent/signup` with your owner's email returns one; the first data request answers\n`402 {\"error\": \"payment_required\", \"checkout\": \"POST /agent/checkout-link\", \"minimum_usd\": 20}` — call that endpoint,\nhave a human pay the Stripe link, and retry. Read `/agents.md` for the full flow.\n\n**Billing**: 1 unit per request; list endpoints 1 unit per 100 rows returned. Only successful (2xx) responses are\ncharged. `X-Credits-Remaining` on every response tells you what is left.\n\n**Provenance**: every object carries `source` {product, file_date} naming the USPTO bulk file it came from,\n`as_of` (the date we last ingested that table) and `stale` (true when our copy is more than 48 h old — check\n`/health`). Application numbers are 8-digit strings; patent numbers are strings without commas; dates are ISO 8601.\n\n**Typical flows**: name → `/v1/entities/search` → `/v1/entities/{id}/applications?status=pending`;\napplication → `/v1/applications/{n}` then `/transactions?since=` to watch for office actions and allowances;\npatent → `/v1/patents/{n}/maintenance` (alive?) and `/v1/patents/{n}/ptab` (challenged?).\n","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Service and data freshness","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/v1/applications/{application_number}":{"get":{"tags":["patent status"],"summary":"Current status of one application","description":"Answers: what is the current state of this US patent application — pending, allowed, abandoned, or granted (and as which patent), who filed it, who examines it, what it claims priority to, and how much activity (office actions, assignments, PTAB challenges) it has seen. One object: `status` {code, description, category, date}, `patent_number`/`grant_date` (null until granted), `publication_number`/`publication_date`, `applicant_name` + `applicant_entity_id` (use with /v1/entities), `examiner_name`, `art_unit`, `entity_status` (small|micro|undiscounted), `continuity` {parents, children}, `counts`, and provenance `source` {product, file_date} / `as_of` / `stale`. For the timeline call /transactions; for ownership call /assignments. 404 not_found if we have no record.","operationId":"get_application_v1_applications__application_number__get","parameters":[{"name":"application_number","in":"path","required":true,"schema":{"type":"string","description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456').","title":"Application Number"},"description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456')."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/{application_number}/transactions":{"get":{"tags":["patent status"],"summary":"Prosecution timeline of one application","description":"Answers: what has happened to this application and when — every USPTO transaction (filing, office actions, responses, notice of allowance, issue, abandonment), newest first. Each item is {date, code, description, event_type} where code/description are USPTO's verbatim and event_type is our normalized enum (office_action, allowance, abandonment, grant, publication, ... or null). Pass `since=YYYY-MM-DD` to get only what happened on or after a date (e.g. since your last check).","operationId":"get_transactions_v1_applications__application_number__transactions_get","parameters":[{"name":"application_number","in":"path","required":true,"schema":{"type":"string","description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456').","title":"Application Number"},"description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456')."},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Only transactions dated on or after this ISO date.","title":"Since"},"description":"Only transactions dated on or after this ISO date."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/{application_number}/office-actions":{"get":{"tags":["patent status"],"summary":"Office actions (examiner rejections) of one application, with text","description":"Answers: what did the examiner reject, under which statutes, and when is a response due. Each item is one office action (non-final, final, restriction, ...) with mailed_date, response_due_estimate (3-month shortened statutory period; extensions can push it to 6), `statutes` (e.g. 101, 102, 103, 112(a)) and `rejections` when USPTO's parsed data exists, and `sections` (rejection text split by statute). Pass include_text=true to get the full body_text (tens of KB each). Text lags mailing by 0–7 days; a transaction can exist before its text does.","operationId":"get_office_actions_v1_applications__application_number__office_actions_get","parameters":[{"name":"application_number","in":"path","required":true,"schema":{"type":"string","description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456').","title":"Application Number"},"description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456')."},{"name":"include_text","in":"query","required":false,"schema":{"type":"boolean","description":"Include the full text of each action.","default":false,"title":"Include Text"},"description":"Include the full text of each action."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/applications/{application_number}/assignments":{"get":{"tags":["patent status"],"summary":"Ownership records of one application","description":"Answers: who owns this application, and how did ownership change — every recorded assignment (reel/frame) whose properties include this application or the patent granted on it, newest recorded first. Each has `assignors`, `assignees` (with `entity_id` when resolved), `conveyance_type` (assignment, security interest, merger, ...), `recorded_date`, `execution_date`, and the `properties` covered by that recordation.","operationId":"get_application_assignments_v1_applications__application_number__assignments_get","parameters":[{"name":"application_number","in":"path","required":true,"schema":{"type":"string","description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456').","title":"Application Number"},"description":"US application number, 8 digits. Slashes, commas and spaces are ignored ('17/123,456' = '17123456')."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/patents/{patent_number}/assignments":{"get":{"tags":["patent status"],"summary":"Ownership records of one patent","description":"Same as /v1/applications/{n}/assignments but keyed by patent number: who owns this patent and every recorded transfer or security interest against it.","operationId":"get_patent_assignments_v1_patents__patent_number__assignments_get","parameters":[{"name":"patent_number","in":"path","required":true,"schema":{"type":"string","description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123).","title":"Patent Number"},"description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assignments":{"get":{"tags":["patent status"],"summary":"Assignments received by an assignee","description":"Answers: what patents/applications has this company acquired or been assigned, and when. `assignee` is an entity id (ent_...) from /v1/entities/search, or a name (matched as a normalized prefix, so 'Impossible Foods' finds 'IMPOSSIBLE FOODS INC.'). `recorded_after` narrows to recordations after a date — use it to watch for new acquisitions. Paginated newest first with `next_cursor`. Costs 1 unit per 100 rows.","operationId":"search_assignments_v1_assignments_get","parameters":[{"name":"assignee","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Entity id (ent_...) or assignee name.","title":"Assignee"},"description":"Entity id (ent_...) or assignee name."},{"name":"recorded_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Only recordations strictly after this ISO date.","title":"Recorded After"},"description":"Only recordations strictly after this ISO date."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Page size. Each 100 rows returned costs 1 request unit.","default":100,"title":"Limit"},"description":"Page size. Each 100 rows returned costs 1 request unit."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page.","title":"Cursor"},"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/patents/{patent_number}/ptab":{"get":{"tags":["patent status"],"summary":"PTAB challenges against one patent","description":"Answers: is this patent under (or has it survived) an inter partes review, post-grant review, CBM or derivation proceeding at the PTAB. Each proceeding has `type`, `petitioner`, `patent_owner`, `filed_date`, `status`, `institution_decision` (instituted|denied|null), `institution_date`, `final_written_decision`, `fwd_date`, plus the raw `outcome` and `termination_date`. Empty `proceedings` for a known patent means no challenge on record.","operationId":"get_patent_ptab_v1_patents__patent_number__ptab_get","parameters":[{"name":"patent_number","in":"path","required":true,"schema":{"type":"string","description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123).","title":"Patent Number"},"description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ptab":{"get":{"tags":["patent status"],"summary":"Search PTAB proceedings by party, date or status","description":"Answers: which patents is this petitioner attacking, which of this owner's patents are being challenged, or what was filed after a date. `petitioner` / `patent_owner` accept an entity id (ent_...) or a case-insensitive name fragment. At least one filter is required. Paginated newest filed first. Costs 1 unit per 100 rows.","operationId":"search_ptab_v1_ptab_get","parameters":[{"name":"petitioner","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Entity id or name fragment of the petitioner.","title":"Petitioner"},"description":"Entity id or name fragment of the petitioner."},{"name":"patent_owner","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Entity id or name fragment of the patent owner.","title":"Patent Owner"},"description":"Entity id or name fragment of the patent owner."},{"name":"filed_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Only petitions filed strictly after this ISO date.","title":"Filed After"},"description":"Only petitions filed strictly after this ISO date."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"USPTO trialStatusCategory, e.g. 'Instituted', 'Terminated' (case-insensitive exact).","title":"Status"},"description":"USPTO trialStatusCategory, e.g. 'Instituted', 'Terminated' (case-insensitive exact)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Page size. Each 100 rows returned costs 1 request unit.","default":100,"title":"Limit"},"description":"Page size. Each 100 rows returned costs 1 request unit."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page.","title":"Cursor"},"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/patents/{patent_number}/maintenance":{"get":{"tags":["patent status"],"summary":"Is this patent alive? Maintenance fees and expiration","description":"Answers: is this patent still in force, have its 3.5/7.5/11.5-year maintenance fees been paid, and when does it expire. Returns `events` (every fee event: paid, reminder, expired, reinstated), `windows` {\"3.5y\", \"7.5y\", \"11.5y\": paid|due|expired|n/a}, `expired` (true once a fee lapsed or the term ended), `expiration_reason`, and `expiration_estimate` (filing date + 20 years + PTA; `estimate: true` because terminal disclaimers may shorten it). Window values: paid, due (payable now), grace (overdue, surcharge), expired, upcoming (not yet payable), n/a (design/plant/reissue owe no fees).","operationId":"get_patent_maintenance_v1_patents__patent_number__maintenance_get","parameters":[{"name":"patent_number","in":"path","required":true,"schema":{"type":"string","description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123).","title":"Patent Number"},"description":"US patent number without commas; design/plant/reissue prefixes allowed (D912345, PP12345, RE48123)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/search":{"get":{"tags":["patent status"],"summary":"Resolve a company or inventor name to an entity id","description":"Answers: which entity is 'Impossible Foods' (or any assignee / inventor name) in the USPTO record, and what are its known name variants. Start here before /v1/entities/{id}/applications, /v1/assignments?assignee=, or /v1/ptab?patent_owner=. Results are ranked (prefix matches first) and include `aliases`, `location`, and `counts` {applications, patents, pending}. `type` filters to assignee or inventor. Costs 1 unit per 100 rows.","operationId":"search_entities_v1_entities_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Name to resolve; punctuation, case and corporate suffixes are ignored.","title":"Q"},"description":"Name to resolve; punctuation, case and corporate suffixes are ignored."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(assignee|inventor)$"},{"type":"null"}],"description":"assignee or inventor.","title":"Type"},"description":"assignee or inventor."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/{entity_id}":{"get":{"tags":["patent status"],"summary":"One entity with aliases and portfolio counts","description":"Answers: who is this entity id — canonical name, name variants, location, and how many applications / patents / pending applications it has.","operationId":"get_entity_v1_entities__entity_id__get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/{entity_id}/applications":{"get":{"tags":["patent status"],"summary":"An entity's applications (portfolio), filterable by status","description":"Answers: what has this company filed, and what is each filing's state right now. Each row carries the application's current `status` {code, description, category, date}, `patent_number` when granted, and the link `role`/`confidence`. `status` filters on the category: pending, granted, abandoned, allowed, expired, provisional, pct, other. Newest serial first; paginate with `next_cursor`. Costs 1 unit per 100 rows.","operationId":"get_entity_applications_v1_entities__entity_id__applications_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Status category filter: pending | granted | abandoned | allowed | expired | provisional | pct | other.","title":"Status"},"description":"Status category filter: pending | granted | abandoned | allowed | expired | provisional | pct | other."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Page size. Each 100 rows returned costs 1 request unit.","default":100,"title":"Limit"},"description":"Page size. Each 100 rows returned costs 1 request unit."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page.","title":"Cursor"},"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/{entity_id}/patents":{"get":{"tags":["patent status"],"summary":"An entity's granted patents","description":"Answers: which patents does this company hold (by applicant, assignee or inventor link), with grant date, expiration estimate and whether each has expired. Newest number first; paginate with `next_cursor`. Costs 1 unit per 100 rows.","operationId":"get_entity_patents_v1_entities__entity_id__patents_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Page size. Each 100 rows returned costs 1 request unit.","default":100,"title":"Limit"},"description":"Page size. Each 100 rows returned costs 1 request unit."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page.","title":"Cursor"},"description":"Opaque cursor from a previous response's next_cursor. Omit for the first page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/signup":{"post":{"tags":["billing"],"summary":"Agent Signup","operationId":"agent_signup_agent_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/checkout-link":{"post":{"tags":["billing"],"summary":"Agent Checkout Link","operationId":"agent_checkout_link_agent_checkout_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/stripe":{"post":{"tags":["billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/keys":{"post":{"tags":["billing"],"summary":"Mint Key","operationId":"mint_key_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/me":{"get":{"tags":["billing"],"summary":"Agent Me","operationId":"agent_me_agent_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/v1/monitors":{"get":{"tags":["monitors"],"summary":"List your monitors","operationId":"list_monitors_v1_monitors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["monitors"],"summary":"Watch applications, patents, or entities and get webhooks","description":"Creates a monitor. When our nightly ingest detects one of `events` on any target, we POST the event to `webhook_url` signed with HMAC-SHA256 of `secret` in `X-Signature`. Each delivery costs 1 request.","operationId":"create_monitor_v1_monitors_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitors/{monitor_id}":{"delete":{"tags":["monitors"],"summary":"Stop a monitor","operationId":"delete_monitor_v1_monitors__monitor_id__delete","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitors/{monitor_id}/events":{"get":{"tags":["monitors"],"summary":"Events matched by a monitor and their delivery status","operationId":"monitor_events_v1_monitors__monitor_id__events_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date; only events detected on/after this date","title":"Since"},"description":"ISO date; only events detected on/after this date"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CheckoutIn":{"properties":{"amount_usd":{"type":"integer","title":"Amount Usd","description":"Whole US dollars, minimum 20."}},"type":"object","required":["amount_usd"],"title":"CheckoutIn"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeyIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"}},"type":"object","title":"KeyIn"},"MonitorIn":{"properties":{"targets":{"$ref":"#/components/schemas/Targets"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"webhook_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Webhook Url"},"secret":{"anyOf":[{"type":"string","maxLength":128,"minLength":16},{"type":"null"}],"title":"Secret"}},"type":"object","required":["targets","webhook_url"],"title":"MonitorIn"},"SignupIn":{"properties":{"owner_email":{"type":"string","title":"Owner Email","description":"A real inbox belonging to the human responsible for this agent."},"agent_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Agent Name"}},"type":"object","required":["owner_email"],"title":"SignupIn"},"Targets":{"properties":{"application_numbers":{"items":{"type":"string"},"type":"array","maxItems":1000,"title":"Application Numbers"},"patent_numbers":{"items":{"type":"string"},"type":"array","maxItems":1000,"title":"Patent Numbers"},"entity_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Entity Ids"}},"type":"object","title":"Targets"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"patent status","description":"Application status, timelines, ownership, PTAB, maintenance, entities."},{"name":"meta","description":"Health and discovery documents."}]}