protocolType names the wire protocol, such as webhook for webhooks or
otlp for OpenTelemetry exporters. Parable Pulse sends data from each Mac
through its own agent protocol. See
Parable Pulse.
Sender verification
A leaf connection method of such a Provider listssupportedInboundAuthStrategies.
Each strategy has an id, a label, a verificationType, a
handshakeKind, and a configSchema for the secret that verifies the
sender:
handshakeKind says how the sender confirms the endpoint when you register
it: none, slack_url_verification for Slack’s URL verification, or
ms_graph_validation_token for a Microsoft Graph subscription. Parable
answers the handshake for you.
Connect and get an endpoint
-
Create the connection with
POST /api/connectors, as in Connect a Provider. Send theidof an inbound strategy asauthenticationStrategyId, and the verification secret that itsconfigSchemaasks for asauthenticationConfig. - Parable records the credential as valid when you save it, because there is no Provider API to check it against. Parable checks the sender on every delivery. Saving the credential, then or later, starts no backfill and no schedule.
-
List the connection’s Taps with
GET /api/tenant-connector-taps/tenant-connector-taps?tenantConnectorId=.... -
Mint an ingest token for each Tap that a sender delivers to:
The response has
token,endpointUrl, andingestToken, the token’s record.endpointUrlis the full address that the sender posts to, with the token in it. -
Put
endpointUrlin the Provider’s console or the sender’s settings.
token and endpointUrl once, and stores only a hash of the
token. Keep them where the sender’s configuration lives. A Tap has at most one
active token. Minting a second one fails while the first is active.
Manage ingest tokens
A token record has
prefix, the first characters of the token, to tell
tokens apart. It also has lastUsedAt, expiresAt, rotatedAt, and
revokedAt. Minting, rotating, and revoking need permission to change the
connection’s Taps.
To replace a token without a gap, rotate it, update the sender with the new
endpointUrl, and let the old token expire.
Send data
Each receiver has its own path under the endpoint. Every request is aPOST.
A webhook body is one JSON object, a JSON array of objects, or JSON Lines, one
object on each line. Each request lands every record in it.
Parable answers:
The rate for each token is 25 requests a second for a webhook and 200 for
OTLP, unless the plugin sets its own limit.
Send a delivery again when it fails. A plugin keys its records on a stable
ID. When the Tap sets
deduplicateAcrossLoads, a record that two deliveries
carry keeps one row (Tap schemas).
See when data arrives
When Parable lands data for a token, it stamps the token’slastUsedAt, at
most once a minute. A refused request never stamps it. The connection’s
lastDataReceivedAt is the newest lastUsedAt among its tokens. It is null
until the first delivery.
Parable moves landed data into the Provider Pool on a schedule. A query can
read no rows for a short time after a delivery lands.
The API Reference has the full request and response
shapes.