{"id":17947584,"url":"https://github.com/nudge-reality/managexr-api-csharp","last_synced_at":"2026-05-19T05:33:22.463Z","repository":{"id":258352773,"uuid":"874684472","full_name":"nudge-reality/managexr-api-csharp","owner":"nudge-reality","description":"This library provides a simple and convenient way to interact with the ManageXR API using C#.","archived":false,"fork":false,"pushed_at":"2024-10-18T20:37:53.000Z","size":246,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T08:05:49.111Z","etag":null,"topics":["api-wrapper","csharp","dotnet","managexr","virtual-reality","vr","xr"],"latest_commit_sha":null,"homepage":"https://www.managexr.com/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nudge-reality.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2024-10-18T09:20:58.000Z","updated_at":"2024-10-21T17:32:39.000Z","dependencies_parsed_at":"2024-10-19T02:49:24.142Z","dependency_job_id":null,"html_url":"https://github.com/nudge-reality/managexr-api-csharp","commit_stats":null,"previous_names":["nudge-reality/managexr-api-csharp"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nudge-reality%2Fmanagexr-api-csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nudge-reality%2Fmanagexr-api-csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nudge-reality%2Fmanagexr-api-csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nudge-reality%2Fmanagexr-api-csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nudge-reality","download_url":"https://codeload.github.com/nudge-reality/managexr-api-csharp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229998140,"owners_count":18157188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api-wrapper","csharp","dotnet","managexr","virtual-reality","vr","xr"],"created_at":"2024-10-29T08:05:50.738Z","updated_at":"2025-11-13T22:36:03.439Z","avatar_url":"https://github.com/nudge-reality.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![ManageXR Wordmark](.github/images/wordmark.png)\n\n# ManageXR API C# Wrapper\n\nWelcome to the ManageXR API C# Wrapper! This library provides a simple and convenient way to interact with the ManageXR API using C#.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Authentication](#authentication)\n- [Supported Endpoints](#supported-endpoints)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\n````\nInstall-Package ManageXRAPI.Client\n````\n\n## Authentication\n\nTo authenticate with the ManageXR API, you'll need your Organisation Id as well as a Key and Secret. You can obtain this from your ManageXR account settings from the related Organisation.\n\n```csharp\nvar credentials = new AuthCredentials(\"your-organisation-id\", \"your-key-id\", \"your-key-secret\");\n```\n\nWhen using the `ManageXRAPI.Extensions` package, you can utilise the `AddManageXRClient` function to easily create an instance within your `ServiceCollection`. This function retrieves credentials stored in your `appsettings.json`, an example of this can be found below:\n\n````json\n// appsettings.json\n{\n  \"ManageXR\": {\n    \"OrganisationId\": \"\",\n    \"KeyId\": \"\",\n    \"KeySecret\": \"\"\n  }\n}\n````\n\n## Usage\n\nHere's a quick example to get you started with the ManageXR API C# Wrapper:\n\n```csharp\nusing System;\nusing ManageXRCSharpWrapper;\n\nnamespace ManageXRExample\n{\n    class Program\n    {\n        static void Main(string[] args)\n        {\n            // Store Credentials\n            var credentials = new AuthCredentials(\"your-organisation-id\", \"your-key-id\", \"your-key-secret\");\n            \n            // Initialise the API client\n            var mxrClient = new ManageXRClient(credentials, new HttpClient());\n\n            // Get device information\n            var devices = mxrClient.ListDevices();\n\n            foreach(var device in devices)\n            {\n              Console.WriteLine($\"Device Name: {device.Name}\");\n              Console.WriteLine($\"Device Serial: {device.Serial}\");\n            }\n            \n            // Update device settings\n            mxrClient.EditDevice(\"device-id\", new EditDeviceOptions\n            {\n                Name = \"Updated Device Name\",\n                // Add other update options as needed\n            });\n\n            Console.WriteLine(\"Device updated successfully.\");\n        }\n    }\n}\n```\n\n## Supported Endpoints\n\nThe ManageXR API C# Wrapper supports various API calls, including:\n\n- [`ListDevices()`](https://docs.managexr.com/api-reference/endpoint/list-devices): Retrieve a list of all devices\n\n- [`GetDevice(string deviceId)`](https://docs.managexr.com/api-reference/endpoint/get-device): Retrieve a specific device with the matching `deviceId`\n\n  \u003e `deviceId` in this context refers to a headset's Hardware ID\n- [`EditDevice(string deviceId, EditDeviceOptions options)`](https://docs.managexr.com/api-reference/endpoint/edit): Edit various settings of a specific device.\n- [`SendCommand(string deviceId, DeviceCommand deviceCommand)`](https://docs.managexr.com/api-reference/endpoint/send-command): Trigger a command on a specific device.\n- [`SendBatchCommand(BatchCommand batchCommand)`](https://docs.managexr.com/api-reference/endpoint/batch-commands): Trigger a command on a list of headsets\n- [`SetPauseUpdates(bool pauseUpdates, params string[] deviceIds)`](https://docs.managexr.com/api-reference/endpoint/set-pause-updates): Enable/Disable Configuration Updates on a set of devices.\n- [`ListConfigurations`](https://docs.managexr.com/api-reference/endpoint/list-configurations): List all the configurations associated with the organisation\n- [`GetConfiguration(string configurationId)`](https://docs.managexr.com/api-reference/endpoint/get-configuration): Get a specific configuration using the configuration id\n\nRefer to the [official ManageXR API documentation](https://docs.managexr.com/introduction) for detailed information on all available methods.\n\n\u003e For any missing endpoints not implemented in the ManageXR API C# Wrapper, feel free to [make an issue](https://github.com/nudge-reality/managexr-api-csharp/issues) or [submit a Pull Request](#contributing)!\n\n## Contributing\n\nWe welcome contributions to the ManageXR API C# Wrapper! If you'd like to contribute, please fork the repository and submit a pull request!\n\nWhen it comes to testing, add an `appsettings.test.json` file to the `ManageXRAPI.Tests` project and add your credentials in there, as structured [above](#authentication).\n\n\u003e You will need to modify the `TestCase` parameters that reference `\u003cdevice-id-here\u003e` and `\u003cconfiguration-id-here\u003e` to values that exist in the organisation you're using to test these functions.\n\n##  License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnudge-reality%2Fmanagexr-api-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnudge-reality%2Fmanagexr-api-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnudge-reality%2Fmanagexr-api-csharp/lists"}