zyphr 0.1.56 → 0.1.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de2fcdf8ab6779134bd46363a7c5fc6b458c05c72444a679bf6f0feba7de9bbd
4
- data.tar.gz: 792f4f9353a0f31fd809afbcde76127e1a02e10f84ebc67236d33cc53e843e4d
3
+ metadata.gz: 73209ffa1ba9676a583e467516b494c43208a18f87c6a51ff66cf94a136cffb3
4
+ data.tar.gz: 5697da2a7c2ea0f6b7441c4a0912f1b034ae45e03271a99c5de9a39cb0d0e733
5
5
  SHA512:
6
- metadata.gz: 700ea510741ee07471d0cc8d8128dcfed02f39b84df08eb6dd92bcaadd666d99176cd46b885e5296b751e86a96c4b8e2ec5c185ffc94e3ac55931a5934a6fc85
7
- data.tar.gz: aa49c456517da6f54590d7c0fe374721b93875e4dfee83032b1b20553aa2f4260811a0484470e6e80dae518a43af092718ba5b2582d5ab3183ba0ac58d4ae896
6
+ metadata.gz: b7f63e08054d7f0e8949dd0caea18c48cb28a32374cf3ca23ba4f87ebefc27f05d31a88b682990b711b87eb6071290a0e33530e0c2e193830d7c81fd43892be3
7
+ data.tar.gz: 66cadb733a76634cfbf5e1e579cb0f5aff4208d0854780bf33e6a998c07cc903c940852bf924a686dcf538ef334d6d547d27d70313241014cffe694196f93a50
@@ -15,7 +15,7 @@ All URIs are relative to *https://api.zyphr.dev/v1*
15
15
 
16
16
  Confirm email verification
17
17
 
18
- Verify the user's email using a token you collected yourself. IMPORTANT: the emailed verification LINK verifies the address server-side **on click** and then redirects to `redirect_url`. So if you take the token off that redirect and post it here, it is already redeemed and this endpoint treats that as an idempotent **success** (`200` with `already_verified: true`), not an error. Only a genuinely invalid / expired / unknown token returns `400`. `send` / `confirm` / `resend` are NOT a mandatory matched set`confirm` is for flows where you collect the token directly rather than landing the hosted redirect. Recommended pattern for the redirect landing: call `confirm`, ignore its result, then read the user's verified state back and report that — correct whether or not the link already consumed the token.
18
+ Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification emailthere is no hosted fallback page.
19
19
 
20
20
  ### Examples
21
21
 
data/docs/DevicesApi.md CHANGED
@@ -378,7 +378,7 @@ end
378
378
 
379
379
  Register a device
380
380
 
381
- Register a device for push notifications. If the token already exists, updates it.
381
+ Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Requires a secret API key, so call it from your backend and derive `user_id` from the authenticated session rather than the request body.
382
382
 
383
383
  ### Examples
384
384
 
@@ -20,7 +20,7 @@ module Zyphr
20
20
  @api_client = api_client
21
21
  end
22
22
  # Confirm email verification
23
- # Verify the user's email using a token you collected yourself. IMPORTANT: the emailed verification LINK verifies the address server-side **on click** and then redirects to `redirect_url`. So if you take the token off that redirect and post it here, it is already redeemed and this endpoint treats that as an idempotent **success** (`200` with `already_verified: true`), not an error. Only a genuinely invalid / expired / unknown token returns `400`. `send` / `confirm` / `resend` are NOT a mandatory matched set`confirm` is for flows where you collect the token directly rather than landing the hosted redirect. Recommended pattern for the redirect landing: call `confirm`, ignore its result, then read the user's verified state back and report that — correct whether or not the link already consumed the token.
23
+ # Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification emailthere is no hosted fallback page.
24
24
  # @param confirm_email_verification_request [ConfirmEmailVerificationRequest]
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [ConfirmEmailVerificationResponse]
@@ -30,7 +30,7 @@ module Zyphr
30
30
  end
31
31
 
32
32
  # Confirm email verification
33
- # Verify the user&#39;s email using a token you collected yourself. IMPORTANT: the emailed verification LINK verifies the address server-side **on click** and then redirects to &#x60;redirect_url&#x60;. So if you take the token off that redirect and post it here, it is already redeemed and this endpoint treats that as an idempotent **success** (&#x60;200&#x60; with &#x60;already_verified: true&#x60;), not an error. Only a genuinely invalid / expired / unknown token returns &#x60;400&#x60;. &#x60;send&#x60; / &#x60;confirm&#x60; / &#x60;resend&#x60; are NOT a mandatory matched set&#x60;confirm&#x60; is for flows where you collect the token directly rather than landing the hosted redirect. Recommended pattern for the redirect landing: call &#x60;confirm&#x60;, ignore its result, then read the user&#39;s verified state back and report that — correct whether or not the link already consumed the token.
33
+ # Verify the user&#39;s email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR &#x60;redirect_url&#x60; with &#x60;?token&#x3D;&lt;raw&gt;&#x60;; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns &#x60;200&#x60; with &#x60;already_verified: true&#x60; rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns &#x60;400&#x60;. Note &#x60;redirect_url&#x60; is REQUIRED (snake_case) when sending the verification emailthere is no hosted fallback page.
34
34
  # @param confirm_email_verification_request [ConfirmEmailVerificationRequest]
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(ConfirmEmailVerificationResponse, Integer, Hash)>] ConfirmEmailVerificationResponse data, response status code and response headers
@@ -339,7 +339,7 @@ module Zyphr
339
339
  end
340
340
 
341
341
  # Register a device
342
- # Register a device for push notifications. If the token already exists, updates it.
342
+ # Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Requires a secret API key, so call it from your backend and derive `user_id` from the authenticated session rather than the request body.
343
343
  # @param register_device_request [RegisterDeviceRequest]
344
344
  # @param [Hash] opts the optional parameters
345
345
  # @return [DeviceResponse]
@@ -349,7 +349,7 @@ module Zyphr
349
349
  end
350
350
 
351
351
  # Register a device
352
- # Register a device for push notifications. If the token already exists, updates it.
352
+ # Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different &#x60;user_id&#x60; **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. &#x60;user_id&#x60; is an opaque string you choose. It is stored verbatim with no foreign key, and &#x60;POST /v1/push&#x60; matches on exactly that value. No Subscriber record is created for you. Requires a secret API key, so call it from your backend and derive &#x60;user_id&#x60; from the authenticated session rather than the request body.
353
353
  # @param register_device_request [RegisterDeviceRequest]
354
354
  # @param [Hash] opts the optional parameters
355
355
  # @return [Array<(DeviceResponse, Integer, Hash)>] DeviceResponse data, response status code and response headers
@@ -34,7 +34,7 @@ describe 'AuthEmailVerificationApi' do
34
34
 
35
35
  # unit tests for confirm_email_verification
36
36
  # Confirm email verification
37
- # Verify the user&#39;s email using a token you collected yourself. IMPORTANT: the emailed verification LINK verifies the address server-side **on click** and then redirects to &#x60;redirect_url&#x60;. So if you take the token off that redirect and post it here, it is already redeemed and this endpoint treats that as an idempotent **success** (&#x60;200&#x60; with &#x60;already_verified: true&#x60;), not an error. Only a genuinely invalid / expired / unknown token returns &#x60;400&#x60;. &#x60;send&#x60; / &#x60;confirm&#x60; / &#x60;resend&#x60; are NOT a mandatory matched set&#x60;confirm&#x60; is for flows where you collect the token directly rather than landing the hosted redirect. Recommended pattern for the redirect landing: call &#x60;confirm&#x60;, ignore its result, then read the user&#39;s verified state back and report that — correct whether or not the link already consumed the token.
37
+ # Verify the user&#39;s email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR &#x60;redirect_url&#x60; with &#x60;?token&#x3D;&lt;raw&gt;&#x60;; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns &#x60;200&#x60; with &#x60;already_verified: true&#x60; rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns &#x60;400&#x60;. Note &#x60;redirect_url&#x60; is REQUIRED (snake_case) when sending the verification emailthere is no hosted fallback page.
38
38
  # @param confirm_email_verification_request
39
39
  # @param [Hash] opts the optional parameters
40
40
  # @return [ConfirmEmailVerificationResponse]
@@ -96,7 +96,7 @@ describe 'DevicesApi' do
96
96
 
97
97
  # unit tests for register_device
98
98
  # Register a device
99
- # Register a device for push notifications. If the token already exists, updates it.
99
+ # Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different &#x60;user_id&#x60; **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. &#x60;user_id&#x60; is an opaque string you choose. It is stored verbatim with no foreign key, and &#x60;POST /v1/push&#x60; matches on exactly that value. No Subscriber record is created for you. Requires a secret API key, so call it from your backend and derive &#x60;user_id&#x60; from the authenticated session rather than the request body.
100
100
  # @param register_device_request
101
101
  # @param [Hash] opts the optional parameters
102
102
  # @return [DeviceResponse]
data/zyphr.gemspec CHANGED
@@ -17,7 +17,7 @@ require "zyphr/version"
17
17
 
18
18
  Gem::Specification.new do |s|
19
19
  s.name = "zyphr"
20
- s.version = '0.1.56'
20
+ s.version = '0.1.58'
21
21
  s.platform = Gem::Platform::RUBY
22
22
  s.authors = ["Zyphr"]
23
23
  s.email = ["support@zyphr.dev"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zyphr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.56
4
+ version: 0.1.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zyphr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-16 00:00:00.000000000 Z
11
+ date: 2026-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday