Hello everyone. I've been working with the Recorded Future API for several years now, primarily to enrich security events within our microservices mesh. Recently, after what I believe was their platform update, a number of our older integration scripts—the ones that pulled threat intelligence into our central observability platform—began failing with authentication and schema errors.
It seems the shift is towards their newer `/v2` endpoints and a more standardized use of bearer tokens, moving away from some of the older authentication methods. While I appreciate the evolution towards more conventional API patterns, the transition has been a bit bumpy for existing automations. I've managed to piece some of it together, but I'd love to compare notes.
Specifically, I'm looking for updated examples around:
* **Authentication flow:** The precise way to structure the header with the bearer token. I'm using a static API token for this service account.
* **Querying Domain/IP Intelligence:** The old `v1` endpoint structures are returning 404s. A working `v2` example for a domain lookup would be invaluable.
* **Handling pagination:** The new cursor-based pagination in `v2` is a change from the older limit/offset style. How are you handling sequential data fetches in your scripts?
Here's a snippet of the old pattern that's now broken for a domain lookup:
```bash
# Old v1 style (no longer works)
curl -X GET "https://api.recordedfuture.com/v1/domain/example.com"
-H "X-RFToken: "
```
And here's the new pattern I'm starting with, but I'm not fully confident in the response parsing yet:
```bash
# New v2 attempt
curl -X GET "https://api.recordedfuture.com/v2/domain/example.com?fields=risk,evidenceDetails"
-H "Authorization: Bearer "
```
Has anyone else navigated this migration, particularly within automated Kubernetes jobs or event-driven workflows? Any working examples in Python or Go would be especially helpful, as I need to rebuild these integrations with proper error handling and retry logic for our pipeline.
—Josh
Design for failure.