InfoMuck
Products Pricing News Hub The Standard Reg Watch

API Documentation

Integrate InfoMuck intelligence into your applications, workflows, and analytics platforms.

API Access

API access is available on Professional and Enterprise plans. Generate your API key from Settings → API in your dashboard.

Quick Start Guide: Your First API Call in 5 Steps

Getting started with the InfoMuck API takes less than five minutes. This step-by-step guide walks you through generating your API key, making your first authenticated request, parsing the response, and setting up a basic monitoring pipeline. Whether you are building a compliance dashboard, integrating policy alerts into Slack, or feeding intelligence data into your analytics platform, this quick start will have you pulling live briefings in minutes.

Step 1 Generate Your API Key

Log into your InfoMuck dashboard and navigate to Settings → API. Click Generate New Key. Copy the key immediately — it is shown only once. Store it securely in your environment variables or secrets manager.

export INFOMUCK_API_KEY="your_api_key_here"
Step 2 Make Your First Request

Use curl or any HTTP client to fetch the latest AI policy briefings. The Authorization header carries your Bearer token for authentication.

curl "https://api.infomuck.com/v1/briefings?topic=ai&limit=5" \
  -H "Authorization: Bearer $INFOMUCK_API_KEY"
Step 3 Parse the JSON Response

Every response returns structured JSON with a data array. Each briefing object includes an ID, title, category, impact level, source attributions, and a direct URL for the full report.

import requests, os

resp = requests.get(
    "https://api.infomuck.com/v1/briefings",
    params={"topic": "cyber", "impact": "high", "limit": 10},
    headers={"Authorization": f"Bearer {os.environ['INFOMUCK_API_KEY']}"}
)

for briefing in resp.json()["data"]:
    print(f"[{briefing['impact'].upper()}] {briefing['title']}")
Step 4 Create a Monitoring Pipeline

Automate intelligence delivery by creating a pipeline via the API. Set topic filters, impact thresholds, and choose your delivery method (email digest, webhook, or both).

curl -X POST "https://api.infomuck.com/v1/pipelines" \
  -H "Authorization: Bearer $INFOMUCK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "High-Impact AI & Cyber Alerts",
    "filters": {"topics": ["ai","cyber"], "impact": ["high","very_high"]},
    "delivery": {"method": "webhook", "url": "https://yourapp.com/hook", "frequency": "realtime"}
  }'
Step 5 Verify Webhook Signatures

When a new briefing matches your pipeline, InfoMuck sends an HTTPS POST to your webhook URL. Always verify the X-InfoMuck-Signature header using HMAC-SHA256 to ensure payload authenticity before processing.

import hmac, hashlib

def verify_signature(payload, signature, secret):
    expected = hmac.new(secret.encode(), payload, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, signature)

Authentication

Authentication

All API requests require authentication via Bearer token:

curl https://api.infomuck.com/v1/briefings \
  -H "Authorization: Bearer YOUR_API_KEY"

Base URL: https://api.infomuck.com/v1
Format: JSON
Rate Limits: 1000 requests/hour (Professional), 5000 requests/hour (Enterprise)

Endpoints

GET /briefings

Retrieve recent briefings with optional filters.

Query Parameters:

Parameter Type Description
topic string Filter by topic: ai, cyber, defence, antitrust, telecom
since ISO 8601 Return briefings after this date (e.g., 2025-01-01)
limit integer Max results (default: 50, max: 100)
impact string Filter by impact level: low, medium, high, very_high

Example Request:

curl "https://api.infomuck.com/v1/briefings?topic=ai&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response:

{
  "data": [
    {
      "id": "brief_abc123",
      "title": "OMB Overhaul Slashes AI Compliance Requirements 60%",
      "category": "AI Policy",
      "summary": "New OMB memos replace Biden-era safety vetting...",
      "impact": "high",
      "published_at": "2025-01-16T08:00:00Z",
      "read_time_minutes": 6,
      "sources": ["OMB", "FedScoop", "GAO Report"],
      "url": "https://infomuck.com/briefings/brief_abc123"
    }
  ],
  "pagination": {
    "next": "https://api.infomuck.com/v1/briefings?cursor=xyz789",
    "has_more": true
  }
}
GET /briefings/{id}

Retrieve a specific briefing by ID, including full content.

Example Request:

curl https://api.infomuck.com/v1/briefings/brief_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response:

{
  "id": "brief_abc123",
  "title": "OMB Overhaul Slashes AI Compliance Requirements 60%",
  "category": "AI Policy",
  "content": "Full briefing markdown content here...",
  "impact": "high",
  "published_at": "2025-01-16T08:00:00Z",
  "read_time_minutes": 6,
  "sources": [
    {
      "name": "OMB Memo M-25-04",
      "url": "https://whitehouse.gov/omb/..."
    }
  ],
  "tags": ["ai", "compliance", "omb", "executive_action"]
}
GET /pipelines

List all your configured pipelines.

Example Response:

{
  "data": [
    {
      "id": "pipe_xyz456",
      "name": "AI Policy Watch",
      "filters": {
        "topics": ["ai"],
        "impact": ["high", "very_high"]
      },
      "delivery": {
        "method": "email",
        "frequency": "daily"
      },
      "active": true
    }
  ]
}
POST /pipelines

Create a new pipeline programmatically.

Example Request:

curl -X POST https://api.infomuck.com/v1/pipelines \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Cyber Alerts",
    "filters": {
      "topics": ["cyber"],
      "impact": ["high", "very_high"]
    },
    "delivery": {
      "method": "webhook",
      "url": "https://yourapp.com/webhook",
      "frequency": "realtime"
    }
  }'

Webhooks

Receive real-time notifications when new briefings match your pipeline filters.

Payload Format:

{
  "event": "briefing.published",
  "timestamp": "2025-01-16T08:00:00Z",
  "data": {
    "id": "brief_abc123",
    "title": "White House Issues Emergency AI Directive",
    "category": "AI Policy",
    "impact": "very_high",
    "url": "https://infomuck.com/briefings/brief_abc123"
  }
}

Security: All webhook requests include an X-InfoMuck-Signature header for verification.

Error Handling

The API uses standard HTTP status codes:

Code Meaning
200 Success
400 Bad Request (invalid parameters)
401 Unauthorized (invalid API key)
403 Forbidden (plan doesn't include API access)
429 Rate Limit Exceeded
500 Internal Server Error

Error Response Format:

{
  "error": {
    "code": "invalid_parameter",
    "message": "Unknown topic 'blockchain'. Valid topics: ai, cyber, defence, antitrust, telecom",
    "param": "topic"
  }
}

Official SDKs

Python

pip install infomuck
View Docs →

Node.js

npm i @infomuck/node
View Docs →

Go

go get github.com/infomuck/go
View Docs →

API Capabilities

The InfoMuck API provides programmatic access to the same intelligence briefings, policy tracking, and regulatory analysis used by government affairs teams, compliance officers, and policy analysts across the public and private sectors. Every API response is delivered in structured JSON, making it straightforward to parse, store, and integrate into dashboards, alerting systems, or internal knowledge bases.

With the Briefings endpoint, you can retrieve fully sourced intelligence reports filtered by topic area (AI policy, cybersecurity, defence procurement, antitrust, and telecommunications), impact severity, and publication date. Each briefing includes metadata such as estimated read time, source attributions with direct links to primary documents, and semantic tags for downstream categorization.

The Pipelines API lets you create, update, and manage custom monitoring pipelines entirely through code. Configure topic filters, impact thresholds, and delivery preferences (email digest, webhook, or both) without ever logging into the web interface. Combined with webhook support, this enables fully automated intelligence workflows where new briefings matching your criteria are pushed to Slack channels, SIEM platforms, or internal ticketing systems within seconds of publication.

All API traffic is encrypted via TLS 1.2+, authenticated with rotating Bearer tokens, and protected by per-plan rate limits. Webhook payloads include HMAC signatures for tamper verification, ensuring that your integrations only process authentic InfoMuck data.

Frequently Asked Questions

What are the API rate limits?

Professional plans allow up to 1,000 requests per hour, while Enterprise plans support up to 5,000 requests per hour. If you exceed your limit, the API returns a 429 status code with a Retry-After header indicating when you can resume requests. Contact support if you need higher throughput for enterprise integrations.

How do I authenticate API requests?

All requests require a Bearer token sent in the Authorization header. Generate your API key from Settings → API in your InfoMuck dashboard. Keys can be rotated at any time, and you can maintain multiple active keys for different integrations.

What data formats does the API support?

The API exclusively uses JSON for both request bodies and responses. All timestamps follow ISO 8601 format (e.g., 2025-01-16T08:00:00Z). Briefing content is returned as structured fields with optional markdown formatting for full-text content.

Can I receive real-time notifications via webhooks?

Yes. When you create a pipeline with webhook delivery, InfoMuck sends an HTTPS POST request to your configured URL each time a new briefing matches your filters. Every webhook payload includes an X-InfoMuck-Signature header for HMAC verification, ensuring payload authenticity and integrity.

Which plans include API access?

API access is available on Professional and Enterprise plans. Free-tier users can explore the API documentation but must upgrade to generate an API key and make authenticated requests. Enterprise plans include higher rate limits and priority support for integration issues.

Integration Patterns

The InfoMuck API is designed to fit into the tools your team already uses. Below are three common integration patterns that our customers deploy to keep policy intelligence flowing through their organizations without manual effort. Each pattern can be implemented in under an hour using the endpoints and webhooks documented above.

1. Compliance Dashboard Widget

Embed a live regulatory feed directly into your internal compliance dashboard or GRC platform. Poll the GET /briefings endpoint on a schedule (e.g., every 30 minutes) filtered by the topics and impact levels relevant to your industry. Render the structured JSON response as cards or table rows showing title, impact severity, category, and a link to the full briefing. This pattern is ideal for compliance officers who need a persistent, always-current view of policy changes without switching between tools. Teams using platforms like ServiceNow, Jira, or custom React dashboards typically integrate this within a single sprint.

2. Slack Bot for Real-Time Alerts

Create a pipeline with webhook delivery and point it at a small middleware service (e.g., an AWS Lambda function or Cloudflare Worker) that reformats the InfoMuck webhook payload into a Slack Block Kit message. When a high-impact briefing drops, your compliance or government affairs channel receives a rich notification with the briefing title, impact level, source agencies, and a one-click link to the full analysis. This pattern ensures critical regulatory changes reach decision-makers in seconds rather than hours, eliminating the risk of missed deadlines or delayed responses. Most teams deploy this using fewer than 50 lines of code.

3. Automated Email Digest

Schedule a daily or weekly script that calls GET /briefings?since=YESTERDAY&limit=50, groups the results by category and impact level, and renders them into an HTML email template. Send the digest to your leadership team, board members, or external clients using SendGrid, Mailgun, or any SMTP service. This pattern is particularly popular with government affairs consultancies that need to deliver curated intelligence reports to multiple client organizations on a recurring basis. Each client can receive a tailored digest based on their specific topic filters and impact thresholds, all powered by a single API integration.

Need Help?

Join our developer community or reach out to our technical support team.