{"openapi":"3.1.0","info":{"title":"Veripoint Data API Reference","version":"2026-10-01","description":"Machine-readable companion to the existing data API reference. Separate data API credentials, product entitlements and limits are required. Examples are illustrative. Response structures may change with provenance; preserve documented warnings and confirm operations marked with source discrepancies before production use. This reference does not describe Veripoint workspace-key execution routes."},"servers":[{"url":"https://api.globaldatabase.com/v2"}],"security":[{"DataToken":[]}],"paths":{"/ai/query":{"post":{"operationId":"ai_financial_research_api","summary":"Ask a financial question","description":"Send one self-contained question. Receive progress, tool results and, in AI mode, a written answer through a Server-Sent Events stream.\n\nIllustrative SSE frames. Real requests can contain multiple tool calls and text fragments; the token counts above are placeholders.\n\nUse Accept: text/event-stream. Even data mode returns SSE, not a single JSON response.\n\nIn data mode, read done.data: an array of { tool, data } objects.\n\nA successful query consumes an AI-query request. The underlying data tools also have separate product limits. Read X-Quota-* and Retry-After when returned.\n\nCheck both HTTP errors before streaming and error events after HTTP 200. A stream ending without done is incomplete.","tags":["regis"],"externalDocs":{"url":"https://veripoint.ai/api-docs/ai-financial-research-api"},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"One question, up to 4,000 characters. Include the company and country; the API does not retain conversation history."},"mode":{"type":"string","enum":["ai","data"],"description":"Defaults to ai. Use data for raw tool results in the final done event."}},"required":["query"],"additionalProperties":true},"example":{"query":"Find company VICAT in FR and show its financials","mode":"ai"}}}},"responses":{"200":{"description":"Illustrative SSE frames. Real requests can contain multiple tool calls and text fragments; the token counts above are placeholders.","content":{"text/event-stream":{"schema":{"type":"string"},"example":"event: status\ndata: {\"type\":\"status\",\"message\":\"Looking up company…\"}\n\nevent: text\ndata: {\"type\":\"text\",\"content\":\"Example answer fragment.\"}\n\nevent: done\ndata: {\"type\":\"done\",\"tools_used\":[],\"usage\":{\"prompt_tokens\":0,\"completion_tokens\":0,\"total_tokens\":0},\"message_id\":null}\n\n"}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/search":{"post":{"operationId":"kyb_search","summary":"Find a company","description":"Resolve the legal entity before requesting officers, ownership or financial records.\n\nIllustrative default response excerpt: an array of matches. Match the entity before reusing its id.\n\nlocation and at least one identifier are required. Use name, registration_number or vat_number for the clearest documented path; confirm ticker-only validation if needed.\n\ninclude_provenance adds source metadata. IDs appear as both strings and numbers in the reference examples; preserve them without treating them as registration numbers.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-search"},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"location":{"type":"string","description":"ISO country code (GB), country-state code (US-CA, CA-ON, CN-BJ), or a KYB nomenclature ID."},"name":{"type":"string","description":"Company name. Supply at least one company identifier."},"registration_number":{"type":"string","description":"Company registration number; preserve leading zeros."},"vat_number":{"type":"string","description":"VAT number or EIN."},"ticker":{"type":"string","description":"Ticker. Listed in the parameter table and validation list; a later validation note omits it."},"city_or_state":{"type":"array","items":{"type":"string"},"description":"Optional city or state names, for example [\"London\"]."},"include_provenance":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."}},"required":["location"],"additionalProperties":true,"anyOf":[{"required":["name"]},{"required":["registration_number"]},{"required":["vat_number"]},{"required":["ticker"]}]},"example":{"name":"Example Limited","location":"GB"}}}},"responses":{"200":{"description":"Illustrative default response excerpt: an array of matches. Match the entity before reusing its id.","content":{"application/json":{"schema":{},"example":[{"id":"12345678","name":"EXAMPLE LIMITED","registration_number":"01234567","country_code":"GB"}]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/lite":{"get":{"operationId":"kyb_lite","summary":"Company profile","description":"Retrieve legal identity, status, incorporation, address and available contact information.\n\nIllustrative default response excerpt. Fields may be null or unavailable.\n\nWith include_provenance=true, the example changes from a flat object to grouped basic, address and contact objects with source metadata. Do not only add a source field to your default-response parser.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-lite"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative default response excerpt. Fields may be null or unavailable.","content":{"application/json":{"schema":{},"example":{"id":"12345678","name":"EXAMPLE LIMITED","registration_number":"01234567","country_code":"GB","status":"Active","incorporation_date":"2020-01-01","website":null,"ticker":null}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/officers":{"get":{"operationId":"kyb_officers","summary":"Company officers","description":"Retrieve available director and officer appointments for one company.\n\nIllustrative default excerpt. This endpoint uses data, total_pages and total_results.\n\nWith provenance, officer, appointment and address fields are grouped into nested objects.\n\nAn officer appointment is not evidence of share ownership or a sanctions-screening result.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-officers"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","description":"Page to retrieve."},"description":"Page to retrieve."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","description":"Records to return per page. No maximum is specified here in the source reference."},"description":"Records to return per page. No maximum is specified here in the source reference."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative default excerpt. This endpoint uses data, total_pages and total_results.","content":{"application/json":{"schema":{},"example":{"data":[{"id":123,"first_name":"Alex","last_name":"Example","appointed_at":"2020-01-01","resigned_at":null,"work_status":"ACTIVE","job_title":"Director"}],"total_pages":1,"total_results":1}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/officers/search":{"post":{"operationId":"kyb_officers_search","summary":"Search officer appointments","description":"Start with an officer’s name and retrieve linked company appointments.\n\nIllustrative default array excerpt. No pagination parameters are specified for this operation in the source.\n\nProvenance groups company, officer and appointment information. Use the relevant response variant.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-officers-search"},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Full or partial name; minimum 2 characters."},"date_of_birth_year":{"type":"integer","description":"Four-digit year to help distinguish namesakes."},"country_code":{"type":"string","description":"ISO two-letter country code."},"status":{"type":"string","enum":["C","P"],"description":"C for current, P for previous appointments."},"appointment_date":{"type":"object","additionalProperties":true,"description":"Object with optional gte and lte dates in YYYY-MM-DD format."},"resignation_date":{"type":"object","additionalProperties":true,"description":"Object with optional gte and lte dates in YYYY-MM-DD format."},"company_name":{"type":"string","description":"Filter the linked company name."},"company_reg_number":{"type":"string","description":"Filter the linked registration number."},"company_status":{"type":"array","items":{},"description":"Company Status nomenclature IDs."},"company_countries":{"type":"array","items":{},"description":"KYB Countries nomenclature IDs; not the ISO-code filter used by shareholder search."},"include_provenance":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."}},"required":["name"],"additionalProperties":true},"example":{"name":"Alex Example","country_code":"GB","status":"C"}}}},"responses":{"200":{"description":"Illustrative default array excerpt. No pagination parameters are specified for this operation in the source.","content":{"application/json":{"schema":{},"example":[{"id":123,"company_id":12345678,"company_name":"EXAMPLE LIMITED","full_name":"Alex Example","officer_role":"Director","appointed_at":"2020-01-01","resigned_at":null}]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/shareholders":{"get":{"operationId":"kyb_shareholders","summary":"Company shareholders","description":"Retrieve available holdings, share classes, quantities and values for one company.\n\nIllustrative default excerpt. A missing percentage must not be inferred from the name or share class.\n\nProvenance adds a source object alongside the paginated results.\n\nA direct shareholder record does not, by itself, establish an ultimate beneficial owner.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-shareholders"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","description":"Page to retrieve."},"description":"Page to retrieve."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","description":"Records to return per page. No maximum is specified here in the source reference."},"description":"Records to return per page. No maximum is specified here in the source reference."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative default excerpt. A missing percentage must not be inferred from the name or share class.","content":{"application/json":{"schema":{},"example":{"data":[{"id":123,"name":"EXAMPLE HOLDINGS LIMITED","percentage":100,"quantity":100,"share_type":"ORDINARY","currency":"GBP"}],"total_pages":1,"total_results":1}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/shareholders/search/{view_mode}":{"post":{"operationId":"kyb_shareholders_search","summary":"Search shareholdings","description":"Find companies linked to an individual or corporate shareholder.\n\nIllustrative lite response excerpt. full adds percentage, quantity, share_type, share_price, share_value, currency, status, id and created.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-shareholders-search"},"parameters":[{"name":"view_mode","in":"path","required":true,"schema":{"type":"string","enum":["lite","full"],"description":"lite returns the holder and linked company; full adds holding details. Permissions are separate for each mode."},"description":"lite returns the holder and linked company; full adds holding details. Permissions are separate for each mode."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Shareholder name, 2–500 characters."},"company_name":{"type":"string","description":"Linked company name."},"registration_number":{"type":"string","description":"Linked company registration number."},"vat_number":{"type":"string","description":"Linked company VAT number."},"location_countries":{"type":"array","items":{"type":"string"},"description":"ISO two-letter country codes, for example [\"GB\"]."},"percentage":{"type":"object","additionalProperties":true,"description":"Optional gte and lte integers, each from 1 to 100."},"page":{"type":"integer","description":"Default 1."},"per_page":{"type":"integer","description":"Default 10; maximum 50."},"include_provenance":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."}},"required":["name"],"additionalProperties":true},"example":{"name":"Example Holdings","location_countries":["GB"],"page":1,"per_page":10}}}},"responses":{"200":{"description":"Illustrative lite response excerpt. full adds percentage, quantity, share_type, share_price, share_value, currency, status, id and created.","content":{"application/json":{"schema":{},"example":{"data":[{"name":"EXAMPLE HOLDINGS LIMITED","type":"Company","company":{"id":"12345678","name":"EXAMPLE LIMITED","registration_number":"01234567","country_code":"GB"}}],"total_pages":1,"total_results":1}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/group-structures/lite":{"get":{"operationId":"kyb_group_lite","summary":"Corporate tree · lite","description":"Inspect the immediate group relationships available for a company.\n\nIllustrative default array excerpt. children holds nested relationships.\n\nWith provenance enabled, the response becomes { data: [...], source: {...} }.\n\nThe reference labels group-structure provenance as Modelled. Retain that distinction; a modelled link is not the same as a verified ownership filing.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-group-lite"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative default array excerpt. children holds nested relationships.","content":{"application/json":{"schema":{},"example":[{"id":12345678,"name":"EXAMPLE LIMITED","country":"GB","registration_number":"GB 01234567","selected":true,"children":[]}]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/group-structures/full":{"get":{"operationId":"kyb_group_full","summary":"Corporate tree · full","description":"Retrieve the wider hierarchy of available parent, subsidiary and related-company connections.\n\nIllustrative default array excerpt. children holds nested relationships.\n\nWith provenance enabled, the response becomes { data: [...], source: {...} }.\n\nThe reference labels group-structure provenance as Modelled. Retain that distinction; a modelled link is not the same as a verified ownership filing.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-group-full"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative default array excerpt. children holds nested relationships.","content":{"application/json":{"schema":{},"example":[{"id":12345678,"name":"EXAMPLE LIMITED","country":"GB","registration_number":"GB 01234567","selected":true,"children":[]}]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/financial":{"get":{"operationId":"kyb_financial","summary":"Financial statements","description":"Pull the actual deterministic financial dataset for a resolved company through the Financial KYB endpoint.\n\nIllustrative structure and fictional values. Figures may be numeric strings or null; keys correspond to the returned reporting periods.\n\nThis Financial KYB request is the endpoint Veripoint uses to retrieve the financial data after resolving a company ID. The product is documented under Financials API.\n\nRead the currency, reporting period and consolidated-account context alongside each number. A null value does not mean zero.\n\nWith provenance, the financial shape is preserved and a top-level source object is added.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-financial"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative structure and fictional values. Figures may be numeric strings or null; keys correspond to the returned reporting periods.","content":{"application/json":{"schema":{},"example":{"years":["2023-12-31"],"groups":[{"id":"Summary","name":"Summary","order":0,"list":[{"name":"Currency","list":{"2023-12-31":"GBP"}},{"name":"Working Capital","list":{"2023-12-31":"4200000.0"}}]}]}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/kyb/{id}/full":{"get":{"operationId":"kyb_full","summary":"Full company report","description":"Request profile, officers, shareholders, group structure and financials in one response.\n\nIllustrative partial-response excerpt. HTTP 200 does not guarantee that every section succeeded.\n\nInspect lite, officers, shareholders, group_structures_full and financial individually for error before reading data.\n\nEach section has its own entitlement and usage accounting. Section errors can contain status_code 403 for access/limit issues or 404 for unavailable data.\n\nOfficers and shareholders are complete sets in this response, unlike their paginated standalone operations.\n\nDo not assume bundled group_structures_full is identical to the standalone tree endpoint; the source examples use different structures.","tags":["kyb"],"externalDocs":{"url":"https://veripoint.ai/api-docs/kyb-full"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"include_provenance","in":"query","required":false,"schema":{"type":"boolean","description":"Include source metadata. Some endpoints also change their response structure."},"description":"Include source metadata. Some endpoints also change their response structure."}],"responses":{"200":{"description":"Illustrative partial-response excerpt. HTTP 200 does not guarantee that every section succeeded.","content":{"application/json":{"schema":{},"example":{"lite":{"id":"12345678","name":"EXAMPLE LIMITED","registration_number":"01234567","country_code":"GB"},"officers":[],"shareholders":[],"group_structures_full":[],"financial":{"error":{"status_code":403,"detail":{"message_guard":"Example: financial access is not enabled."}}}}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/start":{"post":{"operationId":"watch_start","summary":"Start watching a company","description":"Subscribe a company to selected change indicators.\n\nThe reference documents HTTP 201, without a JSON response body.\n\nSet fields explicitly when you need a limited set of indicators. Omitting fields starts monitoring all available indicators.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-start"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"Optional list of indicator keys. If omitted, all available watch fields are selected."}},"required":[],"additionalProperties":true},"example":{"fields":["company.status","company.financial","company.group_structure"]}}}},"responses":{"201":{"description":"The reference documents HTTP 201, without a JSON response body."},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/stop":{"delete":{"operationId":"watch_stop","summary":"Stop watching a company","description":"Remove the company’s watch subscription.\n\nThe reference documents HTTP 200, without a JSON response body.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-stop"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."}],"responses":{"200":{"description":"The reference documents HTTP 200, without a JSON response body."},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/watch":{"get":{"operationId":"watch_list","summary":"List watched companies","description":"Read the companies currently being watched, with optional filters.\n\nIllustrative excerpt. Watch pagination uses pages, rather than KYB’s total_pages.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-list"},"parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Optional YYYY-MM-DD date filter."},"description":"Optional YYYY-MM-DD date filter."},{"name":"fields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Optional indicator filter. Query-array serialization is not specified in the source; confirm before use."},"description":"Optional indicator filter. Query-array serialization is not specified in the source; confirm before use."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","description":"Page to retrieve."},"description":"Page to retrieve."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","description":"Records to return per page. No maximum is specified here in the source reference."},"description":"Records to return per page. No maximum is specified here in the source reference."}],"responses":{"200":{"description":"Illustrative excerpt. Watch pagination uses pages, rather than KYB’s total_pages.","content":{"application/json":{"schema":{},"example":{"data":[{"id":"12345678","name":"EXAMPLE LIMITED","registration_number":"01234567","country_code":"GB","date":"2026-09-01","fields":["company.status"]}],"total_results":1,"pages":1}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/events":{"get":{"operationId":"watch_events","summary":"Read company events","description":"Retrieve dated changes for a company, optionally filtered by indicator.\n\nIllustrative excerpt. Event history uses event_type; webhook notifications use field.\n\nThe source’s message example contains HTML. Render it as text or sanitize it; do not insert it as trusted HTML.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-events"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."},{"name":"from_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Optional start date, YYYY-MM-DD."},"description":"Optional start date, YYYY-MM-DD."},{"name":"to_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Optional end date, YYYY-MM-DD."},"description":"Optional end date, YYYY-MM-DD."},{"name":"fields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Optional indicator filter. Confirm the expected query-array serialization."},"description":"Optional indicator filter. Confirm the expected query-array serialization."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","description":"Page to retrieve."},"description":"Page to retrieve."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","description":"Records to return per page. No maximum is specified here in the source reference."},"description":"Records to return per page. No maximum is specified here in the source reference."}],"responses":{"200":{"description":"Illustrative excerpt. Event history uses event_type; webhook notifications use field.","content":{"application/json":{"schema":{},"example":{"data":[{"status":"UPDATED","message":"Example company status changed.","date_created":"2026-09-01T12:00:00Z","event_type":"company.status"}],"total_results":1,"pages":1}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/fields":{"get":{"operationId":"watch_fields","summary":"Read watched fields","description":"Inspect the indicators selected for a company’s watch subscription.\n\nIllustrative field list. This path follows the source’s cURL example.\n\nThe source reference disagrees with itself: its endpoint summary differs from its cURL example. The path shown here follows the cURL example and needs provider confirmation before production use. Older examples also contain field aliases such as vat_number; confirm supported aliases rather than assuming they match the current namespaced catalogue.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-fields"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."}],"responses":{"200":{"description":"Illustrative field list. This path follows the source’s cURL example.","content":{"application/json":{"schema":{},"example":["company.status","company.financial"]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/fields/add":{"put":{"operationId":"watch_fields_add","summary":"Add watched fields","description":"Add indicators to an existing watch subscription.\n\nIllustrative returned field list. Confirm exact behavior and accepted indicator keys before integration.\n\nThe source reference disagrees with itself: its endpoint summary differs from its cURL example. The path shown here follows the cURL example and needs provider confirmation before production use. Older examples also contain field aliases such as vat_number; confirm supported aliases rather than assuming they match the current namespaced catalogue.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-fields-add"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"Watch indicator keys, such as company.status or company.financial."}},"required":[],"additionalProperties":true},"example":{"fields":["company.status"]}}}},"responses":{"200":{"description":"Illustrative returned field list. Confirm exact behavior and accepted indicator keys before integration.","content":{"application/json":{"schema":{},"example":["company.financial"]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/{id}/watch/fields/remove":{"put":{"operationId":"watch_fields_remove","summary":"Remove watched fields","description":"Remove selected indicators from a watch subscription.\n\nIllustrative returned field list. Confirm exact behavior and accepted indicator keys before integration.\n\nThe source reference disagrees with itself: its endpoint summary differs from its cURL example. The path shown here follows the cURL example and needs provider confirmation before production use. Older examples also contain field aliases such as vat_number; confirm supported aliases rather than assuming they match the current namespaced catalogue.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-fields-remove"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","description":"Company ID returned by a company lookup. It is not the registration number."},"description":"Company ID returned by a company lookup. It is not the registration number."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"Watch indicator keys, such as company.status or company.financial."}},"required":[],"additionalProperties":true},"example":{"fields":["company.status"]}}}},"responses":{"200":{"description":"Illustrative returned field list. Confirm exact behavior and accepted indicator keys before integration.","content":{"application/json":{"schema":{},"example":["company.financial"]}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}},"/companies/watch/callback":{"put":{"operationId":"watch_callback_set","summary":"Set the callback URL","description":"Configure the destination that receives company-change notifications.\n\nIllustrative callback configuration. The secret is generated on the first PUT and remains unchanged when the callback URL changes.\n\nThis operation sets the callback without a company ID. Treat it as shared configuration; check the current URL before replacing it.\n\nKeep the returned secret on the receiver’s server. Verify X-GD-Signature as the hex HMAC-SHA256 of the exact raw request body using the secret string before processing an event. Return HTTP 200 promptly; the provider documents a few retries of unsuccessful deliveries, checked once per minute. Ordering, a stable event ID and exactly-once delivery are not specified.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-callback-set"},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callback":{"type":"string","format":"uri","description":"Your HTTPS webhook receiver."}},"required":["callback"],"additionalProperties":true},"example":{"callback":"https://your-app.example/webhooks/company-changes"}}}},"responses":{"200":{"description":"Illustrative callback configuration. The secret is generated on the first PUT and remains unchanged when the callback URL changes.","content":{"application/json":{"schema":{},"example":{"callback":"https://your-app.example/webhooks/company-changes","secret":"YOUR_WEBHOOK_SECRET"}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}},"get":{"operationId":"watch_callback_get","summary":"Read the callback URL","description":"Inspect the current notification destination before making changes.\n\nIllustrative callback configuration. The response also contains the webhook signing secret; keep it private on the receiver’s server.","tags":["watch"],"externalDocs":{"url":"https://veripoint.ai/api-docs/watch-callback-get"},"parameters":[],"responses":{"200":{"description":"Illustrative callback configuration. The response also contains the webhook signing secret; keep it private on the receiver’s server.","content":{"application/json":{"schema":{},"example":{"callback":"https://your-app.example/webhooks/company-changes","secret":"YOUR_WEBHOOK_SECRET"}}}},"default":{"description":"Inspect the returned HTTP status, error body and per-section errors. Limits and entitlement depend on your data API contract."}}}}},"components":{"securitySchemes":{"DataToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Send Authorization: Token YOUR_DATA_API_KEY. This is a separate credential from the Veripoint workspace key."}}},"externalDocs":{"url":"https://veripoint.ai/api-docs"}}