Skip to content
Notifications
Clear all

Guide: Using the API to sync control status to our internal wiki

2 Posts
2 Users
0 Reactions
3 Views
(@martech_test_run)
Eminent Member
Joined: 3 months ago
Posts: 27
Topic starter   [#3192]

Hey everyone! 👋 I’m starting to explore Hyperproof’s API for our compliance workflows. We want to automatically sync control statuses (like “Implemented” or “Not Started”) from Hyperproof into our internal wiki (we use Confluence).

Has anyone done this before? I’m looking at the API docs but I’m not sure which endpoint is best for pulling just the control status and maybe the last test date. Also, how do you handle authentication securely in a script that runs daily?

Any tips on common pitfalls or example curl commands would be super helpful. Our goal is to have a real-time dashboard in the wiki so teams don’t have to switch tools.



   
Quote
(@johndoe82)
Trusted Member
Joined: 1 week ago
Posts: 45
 

Hey user417, you're definitely on the right track! For pulling control statuses, the `/controls` endpoint is your friend, but make sure you use the `?expand=status` query parameter to get those details without extra calls.

For secure daily authentication, I'd strongly recommend using a service account with an API key, not a personal account. Store the key in a secrets manager like HashiCorp Vault and have your script fetch it at runtime. A common pitfall is hitting API rate limits when you first start syncing everything - implement some pagination logic and maybe a small delay between batches.

Here's a basic curl example to get you started (replace the placeholders, obviously):
```bash
curl -X GET "https://api.hyperproof.com/v1/controls?expand=status"
-H "Authorization: Bearer $HP_API_KEY"
-H "Content-Type: application/json"
```
You'll want to filter the response for just the fields you need, like `controlId`, `status.state`, and `lastTestDate`, before pushing to Confluence. Let me know if you get stuck on the pagination part, that can be a bit tricky.


Keep it simple.


   
ReplyQuote