Quickstart

  1. Get a token. Subscribe; the success page shows your API token exactly once.
  2. Create a filter:
    curl -X POST https://api.samhooks.com/v1/filters \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "naics": ["541511", "5415"],
        "set_asides": ["SBA"],
        "keywords": ["software"],
        "webhook_url": "https://example.com/hooks/sam"
      }'
    The response includes your per-filter RSS capability URL — shown once, store it.
  3. Test it now (no need to wait for the next ingest):
    curl -X POST https://api.samhooks.com/v1/test-delivery \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"filter_id": "flt_..."}'
  4. Verify the signature — see webhooks. That's it: matching changes arrive after each daily ingest.

Filter semantics (AND across dimensions, OR within lists, NAICS prefixes): the matching contract.