push-transport

Put Push Transport

Replace one provider's transport. Only that provider's entry is touched.

put/v1/push-transport/{provider}

Request

  • Base URL: https://api.elaan.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.elaan.io/v1/push-transport/{provider}
  • Auth: none declared

Path parameters

provider'fcm' | 'apns' | 'expo' | 'onesignal' | 'webpush' required

The service a push subscription is delivered through — the routing key that ties a contact's PushSubscription to the tenant's configured PushTransportConfig and selects which sender adapter delivers it.

Cross-cutting vocabulary (like Channel): it lives in shared because both contact (the destination side) and push_transport / outbound_push (the sending side) reference the same members, and they must not drift apart.

Covers direct transports (FCM / APNs / Web Push) and aggregators that fan out to the native platforms themselves (Expo, OneSignal). Subclassing str keeps JSON and dict keys clean.

Headers

authorizationstring nullable

Request body

Example request

{
  "expo": {
    "access_token": "ExpoAccessToken-xxxx"
  },
  "fcm": {
    "service_account_json": "{\"type\":\"service_account\", ...}"
  },
  "webpush": {
    "public_key": "BEl62iUYgUivxIkv69yViEuiBIa-Ib9-SkR...",
    "private_key": "UUxI4O8-FbRouAevSmBQ6o18hgE4nSG3qwvJTfKc-ls",
    "subject": "mailto:ops@example.com"
  }
}

Response

Successful Response

provider'fcm' | 'apns' | 'expo' | 'onesignal' | 'webpush' required

The service a push subscription is delivered through — the routing key that ties a contact's PushSubscription to the tenant's configured PushTransportConfig and selects which sender adapter delivers it.

Cross-cutting vocabulary (like Channel): it lives in shared because both contact (the destination side) and push_transport / outbound_push (the sending side) reference the same members, and they must not drift apart.

Covers direct transports (FCM / APNs / Web Push) and aggregators that fan out to the native platforms themselves (Expo, OneSignal). Subclassing str keeps JSON and dict keys clean.

updated_atstring date-time nullable
credentials_unreadableboolean

This provider has a stored transport whose credentials can no longer be decrypted (the encryption key was rotated), so its settings are absent from this entry. It is NOT the same as being unconfigured: sends through it fail until it is replaced. PUT the provider again with fresh credentials to repair it.

Changes

No recorded changes to this operation across all 1 revision of this API.