Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion activitysmith_openapi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
""" # noqa: E501


__version__ = "1.13.0"
__version__ = "1.14.0"

# import apis into sdk package
from activitysmith_openapi.api.app_icon_badges_api import AppIconBadgesApi
Expand Down
2 changes: 1 addition & 1 deletion activitysmith_openapi/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def __init__(
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = 'OpenAPI-Generator/1.13.0/python'
self.user_agent = 'OpenAPI-Generator/1.14.0/python'
self.client_side_validation = configuration.client_side_validation

def __enter__(self):
Expand Down
2 changes: 1 addition & 1 deletion activitysmith_openapi/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ def to_debug_report(self):
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: 1.0.0\n"\
"SDK Package Version: 1.13.0".\
"SDK Package Version: 1.14.0".\
format(env=sys.platform, pyversion=sys.version)

def get_host_settings(self):
Expand Down
4 changes: 2 additions & 2 deletions activitysmith_openapi/docs/LiveActivitiesApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ Name | Type | Description | Notes
**400** | Bad request (invalid stream_key, payload, action, or channel targeting input) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**402** | Trial expired, trial allowance exhausted, or paid usage cap reached | - |
**403** | Forbidden (API key scope or channel assignment violation) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No recipients found for effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No paired devices on the account, or no devices matched the effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**429** | Rate limit exceeded | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> * Retry-After - Seconds to wait before retrying after a request-rate 429. Live Activity capacity errors are separate and require freeing device capacity; they do not provide a timed retry guarantee. <br> |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
Expand Down Expand Up @@ -341,7 +341,7 @@ Name | Type | Description | Notes
**400** | Bad request (invalid payload or channel targeting input) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**402** | Billing access required | - |
**403** | Forbidden (API key scope or channel assignment violation) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No recipients found for effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No paired devices on the account, or no devices matched the effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**429** | Rate limit exceeded | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> * Retry-After - Seconds to wait before retrying after a request-rate 429. Live Activity capacity errors are separate and require freeing device capacity; they do not provide a timed retry guarantee. <br> |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Name | Type | Description | Notes
**ignored** | **bool** | True when the stream was already ended and the request had no effect. | [optional]
**message** | **str** | | [optional]
**forced_completion** | **bool** | | [optional]
**warning** | **str** | | [optional]
**delivered** | **bool** | Present when the stream had a current Live Activity. True when the end was sent to at least one device, or queued for a device that has not registered yet. False when no device received it, so the Live Activity may stay on the Lock Screen until iOS removes it or someone dismisses it. | [optional]
**warning** | **str** | Explains why the end may not have removed the Live Activity, for example because iOS had already ended a Live Activity that started more than 8 hours ago. | [optional]
**errors** | **List[str]** | Per-device delivery errors when some devices could not be reached. | [optional]

## Example
Expand Down
2 changes: 2 additions & 0 deletions activitysmith_openapi/docs/NoRecipientsError.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | **str** | |
**code** | **str** | no_paired_devices: the account has no active paired iOS devices; pair an iPhone with the ActivitySmith app. no_recipients_found: devices are paired, but none matched the targeted channels. | [optional]
**message** | **str** | |
**app_store_url** | **str** | ActivitySmith App Store link. Present when code is no_paired_devices. | [optional]
**effective_channel_slugs** | **List[str]** | | [optional]

## Example
Expand Down
2 changes: 1 addition & 1 deletion activitysmith_openapi/docs/PushNotificationsApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ Name | Type | Description | Notes
**400** | Bad request (invalid payload or channel targeting input) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**402** | Billing access required | - |
**403** | Forbidden (API key scope or channel assignment violation) | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No recipients found for effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**422** | No paired devices on the account, or no devices matched the effective channel target | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> |
**429** | Rate limit exceeded | * RateLimit - Current request quotas using IETF draft-8 structured fields. Each named policy includes r (remaining requests) and t (seconds until reset). Multiple policies may apply. <br> * RateLimit-Policy - Each named policy includes q (request quota) and w (window in seconds). Each feature has an independent IP limit of 600 requests per 60 seconds. Independent account limits per 60 seconds are: Push Notifications 60, badges 60, Live Activities 300, and metric updates 300. <br> * Retry-After - Seconds to wait before retrying after a request-rate 429. Live Activity capacity errors are separate and require freeing device capacity; they do not provide a timed retry guarantee. <br> |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | **str** | |
**code** | **str** | |
**message** | **str** | |
**app_store_url** | **str** | ActivitySmith App Store link. Present when code is no_paired_devices. | [optional]
**effective_channel_slugs** | **List[str]** | | [optional]
**code** | **str** | |
**badge** | **int** | |
**devices_targeted** | **int** | | [optional]
**devices_updated** | **int** | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ class LiveActivityStreamDeleteResponse(BaseModel):
ignored: Optional[StrictBool] = Field(default=None, description="True when the stream was already ended and the request had no effect.")
message: Optional[StrictStr] = None
forced_completion: Optional[StrictBool] = None
warning: Optional[StrictStr] = None
delivered: Optional[StrictBool] = Field(default=None, description="Present when the stream had a current Live Activity. True when the end was sent to at least one device, or queued for a device that has not registered yet. False when no device received it, so the Live Activity may stay on the Lock Screen until iOS removes it or someone dismisses it.")
warning: Optional[StrictStr] = Field(default=None, description="Explains why the end may not have removed the Live Activity, for example because iOS had already ended a Live Activity that started more than 8 hours ago.")
errors: Optional[List[StrictStr]] = Field(default=None, description="Per-device delivery errors when some devices could not be reached.")
__properties: ClassVar[List[str]] = ["success", "operation", "stream_key", "activity_id", "devices_queued", "devices_notified", "timestamp", "ignored", "message", "forced_completion", "warning", "errors"]
__properties: ClassVar[List[str]] = ["success", "operation", "stream_key", "activity_id", "devices_queued", "devices_notified", "timestamp", "ignored", "message", "forced_completion", "delivered", "warning", "errors"]

@field_validator('operation')
def operation_validate_enum(cls, value):
Expand Down Expand Up @@ -114,6 +115,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"ignored": obj.get("ignored"),
"message": obj.get("message"),
"forced_completion": obj.get("forced_completion"),
"delivered": obj.get("delivered"),
"warning": obj.get("warning"),
"errors": obj.get("errors")
})
Expand Down
18 changes: 16 additions & 2 deletions activitysmith_openapi/models/no_recipients_error.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import re # noqa: F401
import json

from pydantic import BaseModel, ConfigDict, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
Expand All @@ -27,9 +27,21 @@ class NoRecipientsError(BaseModel):
NoRecipientsError
""" # noqa: E501
error: StrictStr
code: Optional[StrictStr] = Field(default=None, description="no_paired_devices: the account has no active paired iOS devices; pair an iPhone with the ActivitySmith app. no_recipients_found: devices are paired, but none matched the targeted channels.")
message: StrictStr
app_store_url: Optional[StrictStr] = Field(default=None, description="ActivitySmith App Store link. Present when code is no_paired_devices.")
effective_channel_slugs: Optional[List[StrictStr]] = None
__properties: ClassVar[List[str]] = ["error", "message", "effective_channel_slugs"]
__properties: ClassVar[List[str]] = ["error", "code", "message", "app_store_url", "effective_channel_slugs"]

@field_validator('code')
def code_validate_enum(cls, value):
"""Validates the enum"""
if value is None:
return value

if value not in set(['no_paired_devices', 'no_recipients_found']):
raise ValueError("must be one of enum values ('no_paired_devices', 'no_recipients_found')")
return value

model_config = ConfigDict(
populate_by_name=True,
Expand Down Expand Up @@ -83,7 +95,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:

_obj = cls.model_validate({
"error": obj.get("error"),
"code": obj.get("code"),
"message": obj.get("message"),
"app_store_url": obj.get("app_store_url"),
"effective_channel_slugs": obj.get("effective_channel_slugs")
})
return _obj
Expand Down
4 changes: 2 additions & 2 deletions activitysmith_openapi/openapi-source.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"repository": "ActivitySmithHQ/activitysmith-backend",
"commit": "dd6757c5defa3d1e6524faef789b6829184fb852",
"commit": "e42e208747b605b890281ebf87dc9f1a14c1f734",
"path": "openapi.json",
"sha256": "24dae2d064095351d5e5cf800228e64a2d23c40b1e31a9754503081ddf31c5d8"
"sha256": "0ffffad32b2eacb5fdce9efe3040bb9a0a66c90ee5561e017c31cb3a2cba3170"
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> LiveActivityStreamDeleteResponse:
ignored = True,
message = '',
forced_completion = True,
delivered = True,
warning = '',
errors = [
''
Expand Down
2 changes: 2 additions & 0 deletions activitysmith_openapi/test/test_no_recipients_error.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ def make_instance(self, include_optional) -> NoRecipientsError:
if include_optional:
return NoRecipientsError(
error = '',
code = 'no_paired_devices',
message = '',
app_store_url = '',
effective_channel_slugs = [
''
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ def make_instance(self, include_optional) -> UpdateAppIconBadgeCount422Response:
if include_optional:
return UpdateAppIconBadgeCount422Response(
error = '',
code = 'badge_device_disconnected',
message = '',
app_store_url = '',
effective_channel_slugs = [
''
],
code = 'badge_device_disconnected',
badge = 0,
devices_targeted = 56,
devices_updated = 56,
Expand All @@ -50,8 +51,8 @@ def make_instance(self, include_optional) -> UpdateAppIconBadgeCount422Response:
else:
return UpdateAppIconBadgeCount422Response(
error = '',
message = '',
code = 'badge_device_disconnected',
message = '',
badge = 0,
devices_updated = 56,
)
Expand Down
Loading