Hi NHS Developer Community,
We are integrating the NHS Cyber Alerts API as a data source for Threat Intelligence and other relevant cyber-alert information.
We need clarification on the following issues:
1. Cloudflare / WAF restriction
The API works correctly when accessed through a browser and returns the expected JSON response.
However, when the same endpoint is accessed through Postman or our backend application, the request is intercepted by Cloudflare and returns:
“Just a moment… Enable JavaScript and cookies to continue”
The API documentation states that the Cyber Alerts API is open-access and does not require authentication.
Could you please confirm:
-
Is server-to-server/programmatic access to the Cyber Alerts API officially supported?
-
Is there an approved way for a backend application to access the API?
-
Can the application’s outbound IP be allowlisted, or can the relevant Cloudflare/WAF rule be configured to permit API access?
-
Is the Cyber Alerts API part of the NHS API Platform/developer onboarding process, or is it a standalone service?
We are looking for the officially supported approach, rather than trying to bypass the Cloudflare challenge.
2. Pagination
We tested the following URLs directly through a browser:
https://digital.nhs.uk/restapi/CyberAlert/
https://digital.nhs.uk/restapi/CyberAlert/?page=1
https://digital.nhs.uk/restapi/CyberAlert/?page=2
All three currently return the same JSON response, although the documentation indicates that page=x should return different pages.
Could you please confirm whether pagination is currently working as expected, or if there is another supported way to retrieve all alerts?
3. IoC data / indicatorsCompromise
We observed that the indicatorsCompromise field is empty in several alerts we reviewed, while the responses contain other information such as CVEs, advisory content, remediation guidance and reference URLs.
Could you please clarify:
-
Is an empty
indicatorsCompromisefield expected for some alerts? -
Should
indicatorsCompromisebe considered the primary/authoritative source for IoC extraction? -
If
indicatorsCompromiseis empty, should another field or section be considered for IoC extraction? -
Are there any guidelines on which IoC types should be extracted, such as IPs, domains, URLs or hashes?
Any guidance on these points would be appreciated, particularly regarding the officially supported approach for server-to-server access.