C# client SDK for The SMS Works API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


C# library for the The SMS Works API

The SMS Works provides a low-cost, reliable SMS API for developers. Pay only for delivered texts, all failed messages are refunded.

This C# SDK is automatically generated by the Swagger Codegen project:

  • API version: 1.1.0
  • SDK version: 1.0.0
  • Build package: io.swagger.codegen.languages.CSharpClientCodegen

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)


The DLLs included in the package may not be the latest version. We recommend using [NuGet] (https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742


Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;


A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out IO.Swagger.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Getting Started

using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
    public class Example
        public void main()

            var apiInstance = new AuthApi();
            var customerid = customerid_example;  // string | The Customer ID

                ApiKeyResponse result = apiInstance.KeySecret(customerid);
            catch (Exception e)
                Debug.Print("Exception when calling AuthApi.KeySecret: " + e.Message );


Documentation for API Endpoints

All URIs are relative to https://api.thesmsworks.co.uk/v1

Class Method HTTP request Description
AuthApi KeySecret GET /auth/getApiKey
AuthApi Login POST /auth/token
BatchMessagesApi CancelScheduledBatchJob DELETE /batches/schedule/{batchid}
BatchMessagesApi GetBatchById GET /batch/{batchid}
BatchMessagesApi ScheduleBatch POST /batch/schedule
BatchMessagesApi SendBatch POST /batch/send
CreditsApi Credits GET /credits/balance
MessagesApi CancelScheduledJob DELETE /messages/schedule/{messageid}
MessagesApi GetInboxMessages POST /messages/inbox
MessagesApi GetMessageById GET /messages/{messageid}
MessagesApi GetMessages POST /messages
MessagesApi ScheduleMessage POST /message/schedule
MessagesApi SendMessage POST /message/send
UtilsApi Test GET /utils/test

Documentation for Models

Documentation for Authorization


  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header