{"id":19251048,"url":"https://github.com/onesignal/onesignal-rust-api","last_synced_at":"2026-04-18T01:09:40.383Z","repository":{"id":37940935,"uuid":"496797639","full_name":"OneSignal/onesignal-rust-api","owner":"OneSignal","description":"OneSignal Rust API Client SDK library","archived":false,"fork":false,"pushed_at":"2026-04-16T23:40:46.000Z","size":260,"stargazers_count":12,"open_issues_count":1,"forks_count":4,"subscribers_count":28,"default_branch":"main","last_synced_at":"2026-04-17T01:18:25.177Z","etag":null,"topics":["email","in-app-messaging","notifications","push-notifications","rust","sms"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OneSignal.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-26T23:08:45.000Z","updated_at":"2026-04-10T18:26:27.000Z","dependencies_parsed_at":"2024-11-09T18:21:40.187Z","dependency_job_id":"04ff0a0d-8234-4d21-8be5-1e8758dc0e75","html_url":"https://github.com/OneSignal/onesignal-rust-api","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/OneSignal/onesignal-rust-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-rust-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-rust-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-rust-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-rust-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OneSignal","download_url":"https://codeload.github.com/OneSignal/onesignal-rust-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-rust-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31952255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"ssl_error","status_checked_at":"2026-04-18T00:39:20.671Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","in-app-messaging","notifications","push-notifications","rust","sms"],"created_at":"2024-11-09T18:19:44.899Z","updated_at":"2026-04-18T01:09:40.374Z","avatar_url":"https://github.com/OneSignal.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust API client for onesignal-rust-api\n\nA powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com\n\nFor more information, please visit [https://onesignal.com](https://onesignal.com)\n\n- API version: 5.4.0\n- Package version: 5.4.0\n\n## Installation\n\nAdd to `Cargo.toml` under `[dependencies]`:\n\n```toml\nonesignal-rust-api = \"5.4.0\"\n```\n\n## Configuration\n\nEvery SDK requires authentication via API keys. Two key types are available:\n\n- **REST API Key** — required for most endpoints (sending notifications, managing users, etc.). Found in your app's **Settings \u003e Keys \u0026 IDs**.\n- **Organization API Key** — only required for organization-level endpoints like creating or listing apps. Found in **Organization Settings**.\n\n\u003e **Warning:** Store your API keys in environment variables or a secrets manager. Never commit them to source control.\n\n```rust\nuse onesignal::apis::configuration::Configuration;\n\nfn create_configuration() -\u003e Configuration {\n    let mut config = Configuration::new();\n    config.rest_api_key_token = Some(\"YOUR_REST_API_KEY\".to_string());\n    config.organization_api_key_token = Some(\"YOUR_ORGANIZATION_API_KEY\".to_string());\n    config\n}\n```\n\n## Send a push notification\n\n```rust\nuse onesignal::apis::default_api;\nuse onesignal::models::{Notification, StringMap};\n\nlet mut contents = StringMap::new();\ncontents.en = Some(\"Hello from OneSignal!\".to_string());\n\nlet mut headings = StringMap::new();\nheadings.en = Some(\"Push Notification\".to_string());\n\nlet mut notification = Notification::new(\"YOUR_APP_ID\".to_string());\nnotification.contents = Some(Box::new(contents));\nnotification.headings = Some(Box::new(headings));\nnotification.included_segments = Some(vec![\"Subscribed Users\".to_string()]);\n\nlet config = create_configuration();\nlet response = default_api::create_notification(\u0026config, notification).await;\n```\n\n## Send an email\n\n```rust\nlet mut notification = Notification::new(\"YOUR_APP_ID\".to_string());\nnotification.email_subject = Some(\"Important Update\".to_string());\nnotification.email_body = Some(\"\u003ch1\u003eHello!\u003c/h1\u003e\u003cp\u003eThis is an HTML email.\u003c/p\u003e\".to_string());\nnotification.included_segments = Some(vec![\"Subscribed Users\".to_string()]);\nnotification.channel_for_external_user_ids = Some(\"email\".to_string());\n\nlet response = default_api::create_notification(\u0026config, notification).await;\n```\n\n## Send an SMS\n\n```rust\nlet mut contents = StringMap::new();\ncontents.en = Some(\"Your SMS message content here\".to_string());\n\nlet mut notification = Notification::new(\"YOUR_APP_ID\".to_string());\nnotification.contents = Some(Box::new(contents));\nnotification.included_segments = Some(vec![\"Subscribed Users\".to_string()]);\nnotification.channel_for_external_user_ids = Some(\"sms\".to_string());\nnotification.sms_from = Some(\"+15551234567\".to_string());\n\nlet response = default_api::create_notification(\u0026config, notification).await;\n```\n\n## Full API reference\n\nThe complete list of API endpoints and their parameters is available in the [DefaultApi documentation](https://github.com/OneSignal/onesignal-rust-api/blob/main/docs/DefaultApi.md).\n\nFor the underlying REST API, see the [OneSignal API reference](https://documentation.onesignal.com/reference).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonesignal%2Fonesignal-rust-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonesignal%2Fonesignal-rust-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonesignal%2Fonesignal-rust-api/lists"}