{"id":5506,"library":"sunshine-conversations-client","title":"Sunshine Conversations Client","description":"The `sunshine-conversations-client` is an auto-generated Python SDK for interacting with the Sunshine Conversations API (now part of Zendesk). It provides a programmatic interface to manage conversations, users, messages, and integrations across various messaging channels. While the library is functional and existing implementations will continue to work, Zendesk has deprecated the auto-generation and maintenance of these SDKs, encouraging users to refer directly to the OpenAPI specification or generate their own clients. The current version is 17.0.1.","status":"maintenance","version":"17.0.1","language":"en","source_language":"en","source_url":"https://github.com/zendesk/sunshine-conversations-python","tags":["API client","messaging","Zendesk","conversations","OpenAPI","SDK"],"install":[{"cmd":"pip install sunshine-conversations-client","lang":"bash","label":"Install stable version"}],"dependencies":[],"imports":[{"symbol":"sunshine_conversations_client","correct":"import sunshine_conversations_client"},{"symbol":"Configuration","correct":"from sunshine_conversations_client import Configuration"},{"symbol":"ApiClient","correct":"from sunshine_conversations_client import ApiClient"},{"symbol":"ApiException","correct":"from sunshine_conversations_client.rest import ApiException"}],"quickstart":{"code":"import sunshine_conversations_client\nfrom sunshine_conversations_client.rest import ApiException\nimport os\n\n# Configure HTTP basic authorization (recommended)\nconfiguration = sunshine_conversations_client.Configuration()\nconfiguration.username = os.environ.get('SC_API_KEY_ID', 'YOUR_API_KEY_ID')\nconfiguration.password = os.environ.get('SC_API_SECRET', 'YOUR_API_SECRET')\n\n# Optionally, set a non-US region host (e.g., for EU)\n# configuration.host = \"https://api.eu-1.smooch.io\"\n\n# Create an instance of the API client\napi_client = sunshine_conversations_client.ApiClient(configuration)\n\n# Create an instance of a specific API, e.g., AppKeysApi\napi_instance = sunshine_conversations_client.AppKeysApi(api_client)\n\napp_id = os.environ.get('SC_APP_ID', 'YOUR_APP_ID')  # Replace with your App ID\n\ntry:\n    # Example: List App Keys for your app\n    api_response = api_instance.list_app_keys(app_id)\n    print(\"Successfully listed App Keys:\")\n    for key in api_response.app_keys:\n        print(f\"  Key ID: {key.id}, Secret: {key.secret}\")\nexcept ApiException as e:\n    print(f\"Exception when calling AppKeysApi->list_app_keys: {e}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to configure the client for basic authentication using environment variables for API Key ID and Secret, and then how to make a sample API call (listing app keys). Replace 'YOUR_API_KEY_ID', 'YOUR_API_SECRET', and 'YOUR_APP_ID' or set them as environment variables. Ensure you have an App ID from your Sunshine Conversations (Zendesk Admin Center) account."},"warnings":[{"fix":"Users are encouraged to use the Sunshine Conversations OpenAPI specification directly, or generate their own client libraries using community tools like OpenAPI Generator, for future compatibility and new features.","message":"Zendesk has officially deprecated the auto-generated Python SDKs for Sunshine Conversations. While existing implementations will continue to function, there will be no new feature development or automatic updates to these libraries based on OpenAPI specification changes. Future API changes may not be reflected in this SDK.","severity":"breaking","affected_versions":"All versions 17.0.1 and below (as of August 2025 deprecation announcement)"},{"fix":"Ensure `configuration.username` is set to your API Key ID and `configuration.password` to your API Secret for Basic Authentication. Refer to Zendesk documentation for JWT authentication if needed.","message":"Authentication can be done using Basic Authentication (API Key ID and Secret) or JSON Web Tokens (JWTs). Basic authentication is generally recommended for server-to-server calls unless specific JWT use cases are required.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Set `configuration.host = \"https://api.eu-1.smooch.io\"` (or the appropriate regional host) if your app is not in the US region.","message":"The default API region is US. If your Sunshine Conversations app is hosted in a different region (e.g., EU), you must explicitly configure the `host` in the `Configuration` object.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Implement retry logic with exponential backoff and jitter to handle 429 responses in your application.","message":"Sunshine Conversations APIs are subject to rate limiting. Exceeding limits will result in a 429 Too Many Requests HTTP status code.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Affected users must follow instructions in their direct email from Zendesk, which may include migrating to Zendesk Admin Center, resetting account-level keys, or removing Sunshine Conversations dependencies before February 1, 2027.","message":"For legacy Sunshine Conversations subscriptions, Zendesk is migrating administration to Zendesk Admin Center or shutting down accounts by February 1, 2027. This could lead to loss of access and service disruption for unmigrated or unsupported accounts.","severity":"breaking","affected_versions":"Legacy accounts with Sunshine Conversations subscriptions (check direct email from Zendesk for specific details and effective dates)"}],"env_vars":null,"last_verified":"2026-04-13T00:00:00.000Z","next_check":"2026-07-12T00:00:00.000Z"}