{"id":13534157,"url":"https://github.com/appwrite/sdk-for-dotnet","last_synced_at":"2026-03-03T13:05:44.210Z","repository":{"id":40493589,"uuid":"326631201","full_name":"appwrite/sdk-for-dotnet","owner":"appwrite","description":"[READ-ONLY] Official Appwrite .NET SDK","archived":false,"fork":false,"pushed_at":"2026-02-12T10:59:43.000Z","size":1013,"stargazers_count":125,"open_issues_count":3,"forks_count":20,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-02-15T19:01:41.091Z","etag":null,"topics":["appwrite","csharp","dotnet","hacktoberfest","sdk"],"latest_commit_sha":null,"homepage":"https://appwrite.io","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appwrite.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":"2021-01-04T09:24:55.000Z","updated_at":"2026-02-02T12:51:14.000Z","dependencies_parsed_at":"2023-11-16T05:24:08.281Z","dependency_job_id":"58b3bcc1-2b35-447f-9761-212ea8ae6f78","html_url":"https://github.com/appwrite/sdk-for-dotnet","commit_stats":{"total_commits":73,"total_committers":9,"mean_commits":8.11111111111111,"dds":0.726027397260274,"last_synced_commit":"5e3b2fd95cd060e533eb9b6cde40c0795f36d036"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/appwrite/sdk-for-dotnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Fsdk-for-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Fsdk-for-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Fsdk-for-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Fsdk-for-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appwrite","download_url":"https://codeload.github.com/appwrite/sdk-for-dotnet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Fsdk-for-dotnet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29616961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["appwrite","csharp","dotnet","hacktoberfest","sdk"],"created_at":"2024-08-01T07:01:27.096Z","updated_at":"2026-03-03T13:05:44.203Z","avatar_url":"https://github.com/appwrite.png","language":"C#","readme":"# Appwrite .NET SDK\n\n![License](https://img.shields.io/github/license/appwrite/sdk-for-dotnet.svg?style=flat-square)\n![Version](https://img.shields.io/badge/api%20version-1.8.1-blue.svg?style=flat-square)\n[![Build Status](https://img.shields.io/travis/com/appwrite/sdk-generator?style=flat-square)](https://travis-ci.com/appwrite/sdk-generator)\n[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee\u0026label=twitter\u0026style=flat-square)](https://twitter.com/appwrite)\n[![Discord](https://img.shields.io/discord/564160730845151244?label=discord\u0026style=flat-square)](https://appwrite.io/discord)\n\n**This SDK is compatible with Appwrite server version 1.8.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-dotnet/releases).**\n\nAppwrite is an open-source backend as a service server that abstracts and simplifies complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the .NET SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)\n\n\n## Installation\n\n### .NET\nAdd this reference to your project's `.csproj` file:\n\n```xml\n\u003cPackageReference Include=\"Appwrite\" Version=\"1.0.0\" /\u003e\n```\n\nYou can install packages from the command line:\n\n```powershell\n# Package Manager\nInstall-Package Appwrite -Version 1.0.0\n\n# or .NET CLI\ndotnet add package Appwrite --version 1.0.0\n```\n\n\n## Getting Started\n\n### Initialize \u0026 Make API Request\nOnce you have installed the package, it is extremely easy to get started with the SDK; all you need to do is import the package in your code, set your Appwrite credentials, and start making API calls. Below is a simple example:\n\n```csharp\nusing Appwrite;\nusing Appwrite.Services;\nusing Appwrite.Models;\n\nvar client = new Client()\n  .SetEndpoint(\"http://\u003cREGION\u003e.cloud.appwrite.io/v1\")  \n  .SetProject(\"5ff3379a01d25\")                 // Your project ID\n  .SetKey(\"cd868db89\");                         // Your secret API key\n\nvar users = new Users(client);\n\nvar user = await users.Create(\n    userId: ID.Unique(),\n    email: \"email@example.com\",\n    phone: \"+123456789\",\n    password: \"password\",\n    name: \"Walter O'Brien\");\n\nConsole.WriteLine(user.ToMap());\n```\n\n### Error Handling\nThe Appwrite .NET SDK raises an `AppwriteException` object with `message`, `code`, and `response` properties. You can handle any errors by catching `AppwriteException` and presenting the `message` to the user or handling it yourself based on the provided error information. Below is an example.\n\n```csharp\nvar users = new Users(client);\n\ntry\n{\n    var user = await users.Create(\n        userId: ID.Unique(),\n        email: \"email@example.com\",\n        phone: \"+123456789\",\n        password: \"password\",\n        name: \"Walter O'Brien\");\n} \ncatch (AppwriteException e)\n{\n    Console.WriteLine(e.Message);\n}\n```\n\n### Learn more\nYou can use the following resources to learn more and get help\n- 🚀 [Getting Started Tutorial](https://appwrite.io/docs/getting-started-for-server)\n- 📜 [Appwrite Docs](https://appwrite.io/docs)\n- 💬 [Discord Community](https://appwrite.io/discord)\n- 🚂 [Appwrite .NET Playground](https://github.com/appwrite/playground-for-dotnet)\n\n\n### Preparing Models for Databases API\n\nFor the .NET SDK, we use the `System.Text.Json` library for serialization/deserialization support. The default behavior converts property names from `PascalCase` to `camelCase` on serializing to JSON. In case the names of attributes in your Appwrite collection are not created in `camelCase`, this serializer behavior can cause errors due to mismatches in the names in the serialized JSON and the actual attribute names in your collection.\n\nThe way to fix this is to add the `JsonPropertyName` attribute to the properties in the POCO class you create for your model.\n\nFor e.g., if you have two attributes, `name` (`string` type) and `release_date` (`DateTime` type), your POCO class would be created as follows:\n\n```csharp\npublic class TestModel\n{\n  [JsonPropertyName(\"name\")]\n  public string Name { get; set; }\n\n  [JsonPropertyName(\"release_date\")]\n  public DateTime ReleaseDate { get; set; }\n}\n```\n\nThe `JsonPropertyName` attribute will ensure that your data object for the Appwrite database is serialized with the correct names.\n\n## Contribution\n\nThis library is auto-generated by Appwrite custom [SDK Generator](https://github.com/appwrite/sdk-generator). To learn more about how you can help us improve this SDK, please check the [contribution guide](https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md) before sending a pull-request.\n\n## License\n\nPlease see the [BSD-3-Clause license](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) file for more information.\n","funding_links":[],"categories":["SDK"],"sub_categories":["Official Appwrite SDKs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappwrite%2Fsdk-for-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappwrite%2Fsdk-for-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappwrite%2Fsdk-for-dotnet/lists"}