assistants

Register or update a device push token for the assistant owner.

Authenticates via either:

  • Session (web / iOS WebView): the requesting user must own the assistant_id referenced in the URL. This is the path used by the web/src/lib/push/register.ts Capacitor flow on iOS.
  • AssistantAPIKey (external SDK): the key must match the URL assistant_id; the registered user is assistant.created_by.

Both paths converge on the same (user, token, bundle_id) upsert. The last_seen_at timestamp is updated on every successful call.

post/v1/assistants/{assistant_id}/push-tokens/

Request

  • The document declares no server URL.
  • Auth: one of:
    • HTTP bearer
    • API key in cookie sessionid
    • API key in header X-Session-Token
    • API key in header Authorization

Path parameters

assistant_idstring uuid required

Request body

OR

Response

tokenstring required
platform'ios' | 'android' required
  • ios - ios
  • android - android
bundle_idstring required
capabilitiesstring[] required

What the shell registering this token can render. Known values: native-notification-render. An unknown value is dropped and the rest of the registration succeeds, so a client can advertise a capability this server does not know yet. Omitting the field resets the stored list to [].

Changes

    • ○

      added the new optional request property //// (media type: application/json)

    • ○

      added the new optional request property //// (media type: application/x-www-form-urlencoded)

    • ○

      added the new optional request property //// (media type: multipart/form-data)

    • ○

      added the required property to the response with the status

    • ▲

      the request's body type changed from object to no type (media type: application/json)

    • ▲

      the response property became nullable for the status

    • ▲

      added to the response property oneOf list for the response status

    • ▲

      the response's property type changed from string to no type for status

    • ●

      removed the request property (media type: application/json)

    • ●

      removed the request property (media type: application/x-www-form-urlencoded)

    • ●

      removed the request property (media type: multipart/form-data)

    • ●

      removed the request property (media type: application/json)

    • ●

      removed the request property (media type: application/x-www-form-urlencoded)

    • ●

      removed the request property (media type: multipart/form-data)

    • ●

      removed the request property (media type: application/json)

    • ●

      removed the request property (media type: application/x-www-form-urlencoded)

    • ●

      removed the request property (media type: multipart/form-data)

    • ●

      removed the request property (media type: application/json)

    • ●

      removed the request property (media type: application/x-www-form-urlencoded)

    • ●

      removed the request property (media type: multipart/form-data)

    • ●

      added the new android enum value to the response property for the response status

    • ○

      added request discriminator (media type: application/json)

    • ○

      added request discriminator (media type: application/x-www-form-urlencoded)

    • ○

      added request discriminator (media type: multipart/form-data)

    • ○

      added to the request body oneOf list (media type: application/json)

    • ○

      added to the request body oneOf list (media type: application/x-www-form-urlencoded)

    • ○

      added to the request body oneOf list (media type: multipart/form-data)

    • ○

      the request's body type was generalized from object to no type (media type: application/x-www-form-urlencoded)

    • ○

      the request's body type was generalized from object to no type (media type: multipart/form-data)

    • ○

      removed the development enum value from the response property for the response status

    • ○

      removed the production enum value from the response property for the response status