Capability matrix
Fictix is intentionally capability-driven: the available records and native-shaped routes depend on the generated company and selected services.
Do not hard-code a provider/object assumption from a marketing list. Discover the current capability before issuing a runtime request.
Discovery surface
Catalog endpoints are public and are safe to call before you have a company key:
| Need | Endpoint |
|---|---|
| Canonical entities and aliases | GET /api/v1/catalog/entities |
| Selectable/unsupported connector status | GET /api/v1/catalog/connector-capabilities |
| Service families and visible record types | GET /api/v1/catalog/services |
| Object display/schema metadata | GET /api/v1/catalog/services/{service_id}/objects/{object_type}/schema |
| File-oriented export packs | GET /api/v1/catalog/export-packs |
Access matrix
The provider directory contains
first-request templates reviewed for the September 7, 2026 staging release and
tested in staging only. Public catalog snapshots observed October 28, 2026 list
60 entries in both environments (59 marked available/selectable and one FCI
preview); all 60 report approximate fidelity. These catalog reports do not
verify provider request behavior or promise strict upstream parity. The
workflow reference documents supported
staging operations and limits. Relay Financial is unavailable. FCI uses execute
and remains marked as preview with ui_selectable: false in both catalogs.
In the connector catalog, status and ui_selectable describe availability.
native_supported and contract_surfaces identify the available transports.
fidelity, parity_status, and limitations describe compatibility; these are
separate from the object-schema labels below. Query the API origin you will
use rather than assuming the production and staging catalogs match.
| Surface | Purpose | Credential | Source of truth |
|---|---|---|---|
| Catalog | Discover entities, services, and schemas | None | /api/v1/catalog/* |
| Normalized runtime data | Read one Console-created company's records | Project X-API-Key |
/api/v1/orgs/{slug}/data/{entity} |
| Runtime exports | Load JSON, CSV, and supported packs | Project X-API-Key plus applicable entitlement |
/api/v1/orgs/{slug}/export/* |
| Native-shaped runtime | Exercise selected provider-like APIs | Project X-API-Key plus native.genome entitlement |
/api/v1/orgs/{slug}/native/{service}/... |
| Execute transport | Call a named capability, including FCI | Runtime X-API-Key with execute plus read or write for the capability |
/api/v1/orgs/{slug}/execute |
| Console management | Create/control jobs in the signed-in Console | Console-managed WorkOS bearer session (not copyable) | /api/v1/demo-jobs/* |
| Demo-job control plane | Create/control normalized jobs from an external integration | Fictix-supplied FICTIX_ADMIN_API_KEY / X-Admin-Key |
/api/v1/demo-jobs/* |
In staging, an organization X-API-Key can also use the normalized data,
export, and native runtime rows above for companies owned by that organization.
The same scopes and entitlements apply. Its company directory is
GET /api/v1/organizations/{org_id}/companies; it does not grant Console or
demo-job management access. See One key for multiple companies.
Fidelity labels
The catalog can mark a native object schema as one of these levels:
| Label | Meaning |
|---|---|
native |
The object has provider-shaped fields documented by the catalog schema. |
generic |
The object is available but uses Fictix's generic field projection. |
unsupported |
The connector is not selectable for the requested product state. |
Treat native as shape compatibility, not a claim that every upstream endpoint
or vendor side effect is implemented. Test the exact method/path your product
uses against a staging company before promoting your own integration.
Recommended capability check
/api/v1/catalog/connector-capabilities/api/v1/catalog/services/{service_id}/objects/{object_type}/schemacurl -sS "https://api.fictix.ai/api/v1/catalog/connector-capabilities" | jq
curl -sS "https://api.fictix.ai/api/v1/catalog/services/qbo/objects/invoice/schema" | jq
Then use the project-specific key issued through the Fictix Console to make the runtime call:
/api/v1/orgs/{slug}/native/{service}/...curl -sS \
"https://api.fictix.ai/api/v1/orgs/$FICTIX_PROJECT_SLUG/native/qbo/invoice" \
-H "X-API-Key: $FICTIX_PROJECT_API_KEY" | jq
Unsupported or partial behavior
Build integrations to handle 400, 404, and 422 without assuming a missing
resource is a transport outage. Use the capability/catalog response to decide
whether to hide a feature, choose a generic projection, or use another service.
For a product-ready integration, persist the catalog version and selected service set alongside the imported data. That makes later support and replay work deterministic.
