Is your feature request related to a problem? Please describe.
The current APIVoid response integration (content/response_integrations/google/api_void, currently at version 15.0) still calls APIVoid's legacy v1 endpoints exclusively. In core/APIVoidManager.py every request points at https://endpoint.apivoid.com/<service>/v1/pay-as-you-go/ and authenticates via the ?key= query parameter, e.g.:
python
self.session.post(
url=f"{self.api_root}/iprep/v1/pay-as-you-go/",
params={"ip": ip, "key": self.api_key},
)
In the meantime APIVoid has released a redesigned v2 API on a new host (api.apivoid.com) with cleaner, REST-style paths, header-based authentication, and JSON request bodies — for example, IP Reputation is now POST https://api.apivoid.com/v2/ip-reputation with an X-API-Key header and a JSON body. This means:
- Customers running the shipped integration are stuck on the older API surface and miss any improvements, fields, or services that v2 introduces.
- There is an ongoing risk that v1 endpoints will be deprecated or sunset by APIVoid, which would silently break this integration for every Google SecOps SOAR customer using it.
- Anyone wanting v2 today has to fork the integration and maintain their own copy, which defeats the purpose of having an officially maintained Google integration.
Describe the solution you'd like
Migrate the APIVoid integration to APIVoid API v2 across all actions (Get IP Reputation, Get URL Reputation, Get Domain Reputation, Get Screenshot, Verify Email, Ping). Concretely:
- Update the default
Api Root in definition.yaml to https://api.apivoid.com (or make the API version configurable to ease the transition).
- Rewrite
APIVoidManager to use the v2 endpoint paths (/v2/ip-reputation, /v2/url-reputation, /v2/domain-reputation, /v2/screenshot, /v2/email-verify, etc.).
- Switch authentication from the
key query parameter to the X-API-Key HTTP header.
- Send request payloads as JSON bodies with
Content-Type: application/json instead of query parameters.
- Update
APIVoidTranslationLayer and the data models to map the v2 response schema, and update the predefined widgets accordingly so the UI keeps rendering correctly.
- Bump the integration to a new major version (16.0) and document the change in
release_notes.yaml, ideally with upgrade notes for existing users.
Example v2 call the integration should produce (equivalent of today's Get IP Reputation):
http
POST /v2/ip-reputation HTTP/1.1
Host: api.apivoid.com
Content-Type: application/json
X-API-Key: <API_KEY>
{"ip": "80.82.77.139"}
Describe alternatives you've considered
- Forking the integration internally and maintaining a private v2 version. Works, but every customer who wants v2 has to do this independently, and forks drift away from upstream fixes (widget updates, Python version bumps, TIPCommon upgrades, etc.).
- Leaving things on v1 until APIVoid forces a migration. Reactive and risky — it guarantees a period of broken playbooks if/when v1 is retired, especially since reputation lookups often sit on critical incident-response paths.
- Adding only v2 support as a new integration alongside the existing one. Possible, but doubles the maintenance surface and confuses users who'd have two near-identical integrations to choose from. A clean upgrade with a major-version bump and release notes seems preferable.
Additional context
Is your feature request related to a problem? Please describe.
The current APIVoid response integration (
content/response_integrations/google/api_void, currently at version 15.0) still calls APIVoid's legacy v1 endpoints exclusively. Incore/APIVoidManager.pyevery request points athttps://endpoint.apivoid.com/<service>/v1/pay-as-you-go/and authenticates via the?key=query parameter, e.g.:In the meantime APIVoid has released a redesigned v2 API on a new host (
api.apivoid.com) with cleaner, REST-style paths, header-based authentication, and JSON request bodies — for example, IP Reputation is nowPOST https://api.apivoid.com/v2/ip-reputationwith anX-API-Keyheader and a JSON body. This means:Describe the solution you'd like
Migrate the APIVoid integration to APIVoid API v2 across all actions (Get IP Reputation, Get URL Reputation, Get Domain Reputation, Get Screenshot, Verify Email, Ping). Concretely:
Api Rootindefinition.yamltohttps://api.apivoid.com(or make the API version configurable to ease the transition).APIVoidManagerto use the v2 endpoint paths (/v2/ip-reputation,/v2/url-reputation,/v2/domain-reputation,/v2/screenshot,/v2/email-verify, etc.).keyquery parameter to theX-API-KeyHTTP header.Content-Type: application/jsoninstead of query parameters.APIVoidTranslationLayerand the data models to map the v2 response schema, and update the predefined widgets accordingly so the UI keeps rendering correctly.release_notes.yaml, ideally with upgrade notes for existing users.Example v2 call the integration should produce (equivalent of today's Get IP Reputation):
Describe alternatives you've considered
Additional context
content/response_integrations/google/api_voidpyproject.toml):15.0https://docs.apivoid.com/for the exact schemas of each endpoint.