index.md

HTML wrapper for HTML-only fetchers; content is shown verbatim.

Raw file

Links (extracted)

Clickable list for reviewers; avoids copy/paste line-wrap issues.
# if.api (API integrations) — public inventory + demo plan (black/white)

**Audience:** external reviewers + operators  
**Reality gate:** `docs/22-ifttt-handover-and-roadmap.md` (single-host; do not imply shipped integrations without evidence)  
**Naming (enforced):** see `AGENTS.md` + `if.registry.json`

This document is the public-facing “what integrations exist?” inventory for `if.api`.

---

## 0) What this is (and is not)

This is:
- a public-safe inventory of `if.api` integrations with explicit status (shipped/demo/roadmap/out-of-scope)
- a receipt-first approach: every “demo” item must have an `if.trace` receipt (brand `if.trace`) (not just a claim)

This is not:
- a claim that any third-party integration is deployed on the current single-host system unless it is linked to receipts and reproducible steps

Canonical `if.api` path shape (do not claim deployed unless verified):
- `/if/api`

---

## 1) Status definitions (black/white)

- **shipped**: deployed on the current environment *and* evidenced with public, no-login receipts
- **demo**: runnable demo exists (no internal access), bound to `if.trace` receipts (brand `if.trace`)
- **roadmap**: described in internal/embedded papers, but not reviewable yet (no public demo + receipts)
- **out-of-scope**: explicitly not planned

---

## 2) Inventory (no tables)

### Integration A — GitHub webhook → normalized event envelope (demo)

Status:
- demo (receipt-backed)

Inputs:
- GitHub “push” webhook JSON (sample payload)

Outputs:
- normalized “event envelope” JSON (demo schema; not a published IF.bus contract yet)

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-github-webhook-demo/2026-01-05/index.html

`if.trace` receipt (brand `if.trace`) (shareId):
https://infrafabric.io/static/trace/Z_kiBtTQHztidcgYYaSRy4UK

Notes (black/white):
- This demo proves deterministic transformation of a known input blob into a known output blob (hash-bound by `if.trace`).
- This demo does not prove any production GitHub auth, rate-limit handling, or live webhook delivery pipeline.

---

### Integration B — GitHub Search API (roadmap)

Status:
- roadmap (mentioned in embedded audit; not verified on this deployment)

Inputs:
- search query + optional auth token (not published here)

Outputs:
- repository metadata + matches; intended to feed “open source monitoring” workflows

Receipts:
- none published yet

---

### Integration C — arXiv API / RSS monitoring (roadmap)

Status:
- roadmap (mentioned in embedded audit; not verified on this deployment)

Inputs:
- arXiv RSS feed or API query

Outputs:
- paper metadata + change detection for monitoring workflows

Receipts:
- none published yet

---

### Integration D — YouTube Data API v3 (roadmap)

Status:
- roadmap (mentioned in embedded audit; not verified on this deployment)

Inputs:
- channel/video query + API key (not published here)

Outputs:
- video metadata intended for monitoring workflows

Receipts:
- none published yet

---

### Integration E — OpenAI Whisper API (roadmap)

Status:
- roadmap (mentioned in embedded audit; not verified on this deployment)

Inputs:
- audio blob + API key (not published here)

Outputs:
- transcript text + timing metadata

Receipts:
- none published yet

---

### Integration F — Discord webhook / bot monitoring (roadmap)

Status:
- roadmap (mentioned in embedded audit; not verified on this deployment)

Inputs:
- Discord events + bot token (not published here)

Outputs:
- monitored messages + extracted signals

Receipts:
- none published yet

---

### Integration G — Multi-model bridge (external reference)

Status:
- roadmap for this deployment (external repo exists; not wired into `if.trace` in this workspace)

Reference:
https://github.com/dannystocker/mcp-multiagent-bridge

Receipts:
- none published here

---

### Integration H — DOI / Handle resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- DOI string (e.g., `10.xxxx/yyy`) or Handle URL

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/EKMtQbLWtQLZEERUqcKX1g

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-doi-resolver-demo/2026-01-07/index.html

Notes (black/white):
- DOI is an identifier + metadata registry, not an integrity system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://www.doi.org/
https://www.doi.org/the-identifier/what-is-a-doi/
https://www.doi.org/doi-handbook/HTML/basic-principle-integration-of.html
https://www.crossref.org/services/content-registration/

---

### Integration I — SWHID resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- SWHID strings (e.g., `swh:1:rev:...`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/gtwHpclpxuWVxvcRPDecFQ

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-swhid-resolver-demo/2026-01-07/index.html

Notes (black/white):
- SWHID is a persistent identifier for archived software artifacts; it is not a receipt for your output bytes.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://www.softwareheritage.org/
https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html
https://archive.softwareheritage.org/

---

### Integration J — OCI digest resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- OCI digest strings (e.g., `sha256:...`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/Uwyn6BzY73BX10NogUrmFg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-oci-digest-demo/2026-01-07/index.html

Notes (black/white):
- OCI digests are content hashes, not receipts for your output bytes.
- If used, they should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://opencontainers.org/
https://github.com/opencontainers/image-spec/blob/main/manifest.md
https://github.com/opencontainers/distribution-spec

---

### Integration K — ORCID resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- ORCID IDs (e.g., `0000-0000-0000-0000`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/RT-yKNMoCECSvSrZyX4ycw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-orcid-resolver-demo/2026-01-07/index.html

Notes (black/white):
- ORCID is a contributor identity registry, not a receipt for output bytes.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://orcid.org/
https://info.orcid.org/documentation/
https://info.orcid.org/documentation/api-tutorials/

---

### Integration L — ROR resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- ROR IDs (e.g., `https://ror.org/000000000`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/BZlX4T3mBcoc-Sgubo74Mw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-ror-resolver-demo/2026-01-07/index.html

Notes (black/white):
- ROR is an organization registry, not a receipt for output bytes.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://ror.org/
https://ror.org/registry/
https://ror.readme.io/

---

### Integration M — OpenRouter (out-of-scope / revoked)

Status:
- out-of-scope for public demo (revoked key is cited in embedded audit; no public demo planned)

Receipts:
- none published here

---

### Integration N — Adobe PDF Services (demo)

Status:
- demo (receipt-backed)

Inputs:
- PDF transform requests (OCR, export, optimize) (synthetic in this demo)

Outputs:
- normalized transform results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/90V64PCa93C_WmP3TdywOA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-adobe-pdf-demo/2026-01-07/index.html

Notes (black/white):
- Adobe PDF Services is a transform API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developer.adobe.com/document-services/apis/pdf-services/
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/howtos/

---

### Integration O — Adobe Sign (demo)

Status:
- demo (receipt-backed)

Inputs:
- agreement requests (signers, document name) (synthetic in this demo)

Outputs:
- normalized signing results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/U2USOHGE8j715whbmsBr0Q

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-adobe-sign-demo/2026-01-07/index.html

Notes (black/white):
- Adobe Sign is a signing workflow API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://opensource.adobe.com/acrobat-sign/
https://opensource.adobe.com/acrobat-sign/developer_guide/

---

### Integration P — DocuSign (demo)

Status:
- demo (receipt-backed)

Inputs:
- envelope requests (recipients, document name) (synthetic in this demo)

Outputs:
- normalized signing results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/HmlXcqae8heBq1siMrIRyw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-docusign-demo/2026-01-07/index.html

Notes (black/white):
- DocuSign is a signing workflow API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developers.docusign.com/
https://developers.docusign.com/docs/esign-rest-api/

---

### Integration Q — Dropbox Sign (demo)

Status:
- demo (receipt-backed)

Inputs:
- signature request payloads (signers, document name) (synthetic in this demo)

Outputs:
- normalized signing results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/V5pqVq8uGnu71v_ncRh4aA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-dropbox-sign-demo/2026-01-07/index.html

Notes (black/white):
- Dropbox Sign is a signing workflow API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developers.hellosign.com/
https://developers.hellosign.com/api/reference/welcome/

---

### Integration R — SignNow (demo)

Status:
- demo (receipt-backed)

Inputs:
- document signing requests (signers, document name) (synthetic in this demo)

Outputs:
- normalized signing results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/TMibfiKsD3YOPEY2vJrjRg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-signnow-demo/2026-01-07/index.html

Notes (black/white):
- SignNow is a signing workflow API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://www.signnow.com/developers
https://docs.signnow.com/docs/signnow/welcome

---

### Integration S — PandaDoc (demo)

Status:
- demo (receipt-backed)

Inputs:
- document workflow requests (template, recipients) (synthetic in this demo)

Outputs:
- normalized signing results envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/UhmvPGzaJT6oAHzq19x-Gw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-pandadoc-demo/2026-01-07/index.html

Notes (black/white):
- PandaDoc is a document workflow API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developers.pandadoc.com/
https://developers.pandadoc.com/reference/about

---

### Integration T — Google Drive (demo)

Status:
- demo (receipt-backed)

Inputs:
- Drive file IDs (files/folders) (synthetic in this demo)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/UL9-wyRgKRgtGphVV-KURw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-gdrive-demo/2026-01-07/index.html

Notes (black/white):
- Google Drive is a storage API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developers.google.com/drive
https://developers.google.com/drive/api/reference/rest

---

### Integration U — Dropbox (demo)

Status:
- demo (receipt-backed)

Inputs:
- Dropbox file IDs (files/folders) (synthetic in this demo)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/4L1Lh6FSmQV0Tp3AkaLrag

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-dropbox-demo/2026-01-07/index.html

Notes (black/white):
- Dropbox is a storage API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://www.dropbox.com/developers
https://www.dropbox.com/developers/documentation/http/documentation

---

### Integration V — OneDrive (demo)

Status:
- demo (receipt-backed)

Inputs:
- OneDrive item IDs (files/folders) (synthetic in this demo)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/A1g_uV2xyExs7KA6ORRsBg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-onedrive-demo/2026-01-07/index.html

Notes (black/white):
- OneDrive is a storage API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://learn.microsoft.com/en-us/graph/onedrive-concept-overview
https://learn.microsoft.com/en-us/graph/api/resources/drive?view=graph-rest-1.0

---

### Integration W — Box (demo)

Status:
- demo (receipt-backed)

Inputs:
- Box file IDs (files/folders) (synthetic in this demo)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/G-6hX-Cmog5k5sYkrC68QA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-box-demo/2026-01-07/index.html

Notes (black/white):
- Box is a storage API, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developer.box.com/
https://developer.box.com/reference/

---

### Integration X — Zapier (demo)

Status:
- demo (receipt-backed)

Inputs:
- Zapier workflow identifiers (zaps) + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/Jj_tBbpBkdm97tcdxwGv6Q

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-zapier-demo/2026-01-07/index.html

Notes (black/white):
- Zapier is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.zapier.com/platform/home
https://docs.zapier.com/platform/docs

---

### Integration Y — IFTTT (demo)

Status:
- demo (receipt-backed)

Inputs:
- IFTTT applet identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/OXvxOFLTNjApboQ89VkNZA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-ifttt-demo/2026-01-07/index.html

Notes (black/white):
- IFTTT is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://ifttt.com/docs
https://ifttt.com/

---

### Integration Z — Make.com (demo)

Status:
- demo (receipt-backed)

Inputs:
- Make.com scenario identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/2mpXmqbyKWtgStp0B1xnyQ

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-make-demo/2026-01-07/index.html

Notes (black/white):
- Make.com is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developers.make.com/
https://developers.make.com/custom-apps-documentation

---

### Integration AA — n8n (demo)

Status:
- demo (receipt-backed)

Inputs:
- n8n workflow identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/-aSIHTMOo1-V6B6ez-aKJg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-n8n-demo/2026-01-07/index.html

Notes (black/white):
- n8n is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.n8n.io/
https://n8n.io/

---

### Integration AB — Pipedream (demo)

Status:
- demo (receipt-backed)

Inputs:
- Pipedream workflow identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/8xH7cfKib0TFAil7tZhvmQ

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-pipedream-demo/2026-01-07/index.html

Notes (black/white):
- Pipedream is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://pipedream.com/docs
https://pipedream.com/docs/api

---

### Integration AC — Workato (demo)

Status:
- demo (receipt-backed)

Inputs:
- Workato recipe identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/Z7cho6wS6grqOFVqfAQpSw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-workato-demo/2026-01-07/index.html

Notes (black/white):
- Workato is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.workato.com/
https://www.workato.com/

---

### Integration AD — Tray.io (demo)

Status:
- demo (receipt-backed)

Inputs:
- Tray.io workflow identifiers + trigger/action metadata (synthetic in this demo)

Outputs:
- normalized automation resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/DfEMhe_bAtZpAh_JMjGl1w

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-tray-demo/2026-01-07/index.html

Notes (black/white):
- Tray.io is an automation platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.tray.ai/
https://tray.ai/

---

### Integration AE — ARK resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- ARK identifiers (e.g., `ark:/99999/fk4...`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/0kNPIN8az7f6KyIOvNKImA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-ark-resolver-demo/2026-01-07/index.html

Notes (black/white):
- ARK is a persistent identifier scheme, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://arks.org/
https://arks.org/about/
https://n2t.net/e/ark_ids.html

---

### Integration AF — URN:NBN resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- URN:NBN identifiers (e.g., `urn:nbn:de:...`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/vxq6JBhV7qa7GcczlqxtEA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-urn-nbn-resolver-demo/2026-01-07/index.html

Notes (black/white):
- URN:NBN is a national-library identifier scheme, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://urn.nbngw.net/
https://www.dnb.de/EN/Professionell/Standardisierung/URN/urn_node.html

---

### Integration AG — PURL resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- PURL identifiers (e.g., `https://purl.org/net/...`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/q_2CUIyV8_VF7wWsLy1l-Q

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-purl-resolver-demo/2026-01-07/index.html

Notes (black/white):
- PURL is a redirect-based identifier system, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://purl.org/
https://purl.archive.org/docs/index.html

---

### Integration AH — ISBN/ISSN resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- ISBN (e.g., `978...`) and ISSN (e.g., `2049-3630`) identifiers

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/hVGcjMpThKv4OYkDyA6oZg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-isbn-issn-resolver-demo/2026-01-07/index.html

Notes (black/white):
- ISBN/ISSN are publication identifiers, not receipt systems.
- If used, they should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://www.isbn-international.org/
https://www.issn.org/

---

### Integration AI — arXiv resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- arXiv identifiers (e.g., `arXiv:2312.01234`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/6uQGE1f2tgwkFE5L_hUaBw

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-arxiv-resolver-demo/2026-01-07/index.html

Notes (black/white):
- arXiv is a scholarly repository, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://arxiv.org/
https://arxiv.org/help/api/

---

### Integration AJ — PubMed resolver (demo)

Status:
- demo (receipt-backed)

Inputs:
- PubMed identifiers (e.g., `31452104`)

Outputs:
- resolved metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/qCNj7UQEsiyI0g109v82oA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-pubmed-resolver-demo/2026-01-07/index.html

Notes (black/white):
- PubMed is a biomedical literature index, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://pubmed.ncbi.nlm.nih.gov/
https://pubmed.ncbi.nlm.nih.gov/about/

---

### Integration AK — Slack incoming webhook (demo)

Status:
- demo (receipt-backed)

Inputs:
- Slack webhook identifiers + channel metadata (synthetic in this demo)

Outputs:
- normalized notification resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/93xpGazJYImUZjfW8zLSlg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-slack-demo/2026-01-07/index.html

Notes (black/white):
- Slack is a messaging platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.slack.dev/
https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/

---

### Integration AL — Microsoft Teams incoming webhook (demo)

Status:
- demo (receipt-backed)

Inputs:
- Teams webhook identifiers + channel metadata (synthetic in this demo)

Outputs:
- normalized notification resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/B7yj7MyzwIais61G-bgFFA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-teams-demo/2026-01-07/index.html

Notes (black/white):
- Microsoft Teams is a messaging platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/what-are-webhooks-and-connectors
https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook

---

### Integration AM — Jira Issues API (demo)

Status:
- demo (receipt-backed)

Inputs:
- Jira issue keys + project metadata (synthetic in this demo)

Outputs:
- normalized issue resolution envelope (not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/-_QAJ3ogug9p3XICsgxiaQ

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-jira-demo/2026-01-07/index.html

Notes (black/white):
- Jira is a work tracking platform, not a receipt system.
- This demo uses a synthetic resolution map; no live Jira API calls.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developer.atlassian.com/cloud/jira/platform/
https://developer.atlassian.com/cloud/jira/platform/rest/v3/

---

### Integration AN — AWS S3 (demo)

Status:
- demo (receipt-backed)

Inputs:
- S3 bucket + object key (synthetic in this demo)

Outputs:
- resolved object metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/Nm-pfYocqBvkNadrh9moOg

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-s3-demo/2026-01-07/index.html

Notes (black/white):
- AWS S3 is object storage, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html

---

### Integration AO — Azure Blob Storage (demo)

Status:
- demo (receipt-backed)

Inputs:
- Azure storage account + container + blob (synthetic in this demo)

Outputs:
- resolved blob metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/bTYwONvnsqCsIP0si1t4gA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-azure-blob-demo/2026-01-07/index.html

Notes (black/white):
- Azure Blob Storage is object storage, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://learn.microsoft.com/en-us/azure/storage/blobs/
https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api

---

### Integration AP — Google Cloud Storage (demo)

Status:
- demo (receipt-backed)

Inputs:
- GCS bucket + object (synthetic in this demo)

Outputs:
- resolved object metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/cCNg6HvNn3Bbp-SzJm-C0w

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-gcs-demo/2026-01-07/index.html

Notes (black/white):
- Google Cloud Storage is object storage, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://cloud.google.com/storage
https://cloud.google.com/storage/docs/json_api/

---

### Integration AQ — SharePoint (demo)

Status:
- demo (receipt-backed)

Inputs:
- SharePoint site + drive + item IDs (synthetic in this demo)

Outputs:
- resolved item metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/q2UTiDyUcG06G8k8_-YcmA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-sharepoint-demo/2026-01-07/index.html

Notes (black/white):
- SharePoint is a content platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://learn.microsoft.com/en-us/sharepoint/dev/
https://learn.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-1.0

---

### Integration AR — Salesforce (demo)

Status:
- demo (receipt-backed)

Inputs:
- Salesforce record IDs (synthetic in this demo)

Outputs:
- resolved record metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/psFu6Jg7CNHq5VS8HoakIA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-salesforce-demo/2026-01-07/index.html

Notes (black/white):
- Salesforce is a CRM platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/overview.htm

---

### Integration AS — ServiceNow (demo)

Status:
- demo (receipt-backed)

Inputs:
- ServiceNow record IDs (synthetic in this demo)

Outputs:
- resolved record metadata + target URL (normalized event envelope; not a published IF.bus contract yet)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/LAOtzUpSBPBUHoW0l--wkA

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-servicenow-demo/2026-01-07/index.html

Notes (black/white):
- ServiceNow is an ITSM platform, not a receipt system.
- If used, it should **point to** an `if.trace` receipt/pack rather than replace it.

References (one URL per line):
https://developer.servicenow.com/dev.do#!/reference/api
https://developer.servicenow.com/dev.do#!/learn

---

### Integration AT — vMix playout control (demo)

Status:
- demo (receipt-backed; dry-run control plan only)

Inputs:
- control intent (e.g., start/stop streaming, switch inputs, set overlays)

Outputs:
- control acknowledgement + status snapshots (contract target; not a shipped runtime)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/pKvJ1MR2maQi2mwtYB_kvA

Pack (HTML view):
https://infrafabric.io/static/pack/pKvJ1MR2maQi2mwtYB_kvA

Source bundle (tgz):
https://infrafabric.io/static/source/d4c29c27c97c126c77002d85ea31bd92ccd721930e9128055fe9929c19ba3596.tgz

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-production-control-demo/2026-01-08/index.html

Evidence (black/white):
- Code exists in internal repo branches (vMix adapter + production adapter base); it is not shipped as a receipt-backed demo in this workspace.
- This demo is a receipt-backed control-plan generator that emits `if.bus.envelope` events for vMix control intents; it does not execute live playout.

Notes (black/white):
- This is a physical/real-world control surface; demos must default to simulation/dry-run unless an operator explicitly opts into live control.
- A YouTube stream key must never be published in public artifacts; use redacted placeholders.

References (one URL per line):
https://www.vmix.com/help24/index.htm?DeveloperAPI.html

---

### Integration AU — OBS Studio control (roadmap)

Status:
- roadmap (no receipt-backed demo published on this host)

Inputs:
- control intent (e.g., switch scene, start/stop streaming, set input mute)

Outputs:
- control acknowledgement + status snapshots (contract target; not a shipped runtime)

Receipts:
- none published yet

Evidence (black/white):
- Code exists in internal repo branches (OBS adapter via obs-websocket); it is not shipped as a receipt-backed demo in this workspace.

References (one URL per line):
https://github.com/obsproject/obs-websocket

---

### Integration AV — Home Assistant production control (roadmap)

Status:
- roadmap (no receipt-backed demo published on this host)

Inputs:
- service calls and event subscriptions (e.g., lights, cameras, automations)

Outputs:
- control acknowledgement + state snapshots (contract target; not a shipped runtime)

Receipts:
- none published yet

Evidence (black/white):
- Code exists in internal repo branches (Home Assistant adapter); it is not shipped as a receipt-backed demo in this workspace.

Notes (black/white):
- Treat this as an infrastructure control surface; publish only public-safe artifacts (no tokens, no internal hostnames).

References (one URL per line):
https://developers.home-assistant.io/docs/api/rest/
https://developers.home-assistant.io/docs/api/websocket/

---

### Integration AW — Drone fleet control (MAVLink / CoT / DJI) (demo)

Status:
- demo (receipt-backed; dry-run control plan only)

Inputs:
- control intent (e.g., takeoff, land, goto waypoint, telemetry request)

Outputs:
- control acknowledgement + telemetry snapshots (contract target; not a shipped runtime)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/pKvJ1MR2maQi2mwtYB_kvA

Pack (HTML view):
https://infrafabric.io/static/pack/pKvJ1MR2maQi2mwtYB_kvA

Source bundle (tgz):
https://infrafabric.io/static/source/d4c29c27c97c126c77002d85ea31bd92ccd721930e9128055fe9929c19ba3596.tgz

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-production-control-demo/2026-01-08/index.html

Evidence (black/white):
- Code exists in internal repos (drone fleet adapter with MAVSDK/CoT/DJI protocol support); it is not shipped or demoed in this workspace.
- This demo is a receipt-backed control-plan generator that emits `if.bus.envelope` events for drone control intents; it does not execute live takeoff/flight.

Notes (black/white):
- Physical safety risk: do not ship a “live takeoff” demo without explicit simulation mode, geofencing assumptions, and operator stop conditions.

References (one URL per line):
https://mavsdk.mavlink.io/

---

### Integration AX — ROS2 robotics bridge (demo)

Status:
- demo (receipt-backed; dry-run control plan only)

Inputs:
- robotics intents (e.g., e-stop, motion commands) via ROS2 topics/services

Outputs:
- acknowledgement + safety events (contract target; not a shipped runtime)

Receipts:
- `if.trace` receipt (shareId):
https://infrafabric.io/static/trace/pKvJ1MR2maQi2mwtYB_kvA

Pack (HTML view):
https://infrafabric.io/static/pack/pKvJ1MR2maQi2mwtYB_kvA

Source bundle (tgz):
https://infrafabric.io/static/source/d4c29c27c97c126c77002d85ea31bd92ccd721930e9128055fe9929c19ba3596.tgz

Public demo (HTML-first):
https://infrafabric.io/static/hosted/review/if-api-production-control-demo/2026-01-08/index.html

Evidence (black/white):
- Code stub exists in internal repos (ROS2 bridge); no receipt-backed demo published in this workspace.
- This demo is a receipt-backed control-plan generator that emits `if.bus.envelope` events for ROS2 robotics intents; it does not execute live actuation.

Notes (black/white):
- Treat physical actuation as safety-critical; require explicit stop conditions and an operator-controlled emergency stop path.

References (one URL per line):
https://docs.ros.org/en/rolling/

---

## 3) What must be added to move roadmap → demo

For any integration to move from roadmap to demo, publish:
1) a minimal integration contract (inputs/outputs, auth boundary, rate limits)
2) a runnable demo bundle (no internal access)
3) `if.trace` receipt links (brand `if.trace`) (HTML-first) that bind the demo outputs

---

## 4) Live readiness gate (if.api) (not live)

Black/white:
- `if.api` remains `roadmap` in `if.registry.json` until all criteria below are satisfied and publicly reviewable.

Gate criteria (all MUST be true):
1) Inventory lists status + inputs/outputs for every integration (this doc).
2) At least 3 public demos exist, each reproducible without internal access.
3) Each demo is bound to `if.trace` receipts (HTML-first links, one URL per line).
4) Trace pages meet UX requirements (VERIFIED badge at top, offline bundles link or explicit "No offline bundles published for this trace.", QUANTUM READY wording only when PQ receipt exists).
5) Status flip to `live` happens only after the above are verified.