# Send an SMS Message with .NET SDK
Note:
Before you can get started, you need the following already set up:
-
- [The latest version of .NET with **Long Term Support**](https://dotnet.microsoft.com/download) and a familiarity with how to create a new console app.
Learn how to quickly send SMS messages in a .NET application with the Sinch .NET SDK.
Steps:
1. [Set up](#set-up-your-net-application) your .NET application
2. [Send](#send-your-first-sms-message) your first SMS message
## Set up your .NET application
1. Create a new folder where you want your app project. Then, open a terminal or command prompt to that location.
2. Create a new .NET console app with the following command:
```shell
dotnet new console
```
3. Open the `Program.cs` file in your project folder. Replace everything in the file with the "Send an SMS message" code.
### Modify your application
The code provided includes placeholder parameters. You'll need to update the parameters detailed in the following subsections with your values.
#### Initialize the client
Before initializing a client using this SDK, you'll need three pieces of information:
- Your Project ID
- An access key ID
- An access key Secret
These values can be found on the [Access Keys](https://dashboard.sinch.com/settings/access-keys) page of the Sinch Build Dashboard. You can also [create new access key IDs and Secrets](https://community.sinch.com/t5/Conversation-API/How-to-get-your-access-key-for-Conversation-API/ta-p/8120), if required.
Note
If you have trouble accessing the above link, ensure that you have gained access to the [Conversation API](https://dashboard.sinch.com/convapi/overview) by accepting the corresponding terms and conditions.
To start using the SDK, you need to initialize the main client class with your credentials from your Sinch [dashboard](https://dashboard.sinch.com).
Note:
For testing purposes on your local environment it's fine to use hardcoded values, but before deploying to production we strongly recommend using environment variables to store the credentials.
```cpp Initialize client
using Sinch;
var sinch = new SinchClient("YOUR_project_id",
"YOUR_access_key",
"YOUR_access_secret");
```
You can also implement the client using ASP.NET dependency injection. `SinchClient` is thread safe, so it's fine to add it as a singleton:
```cpp Initialize client using dependency injection
builder.Services.AddSingleton(x => new SinchClient(
builder.Configuration["YOUR_project_id"],
builder.Configuration["YOUR_access_key"],
builder.Configuration["YOUR_access_secret"]));
```
#### Fill in remaining parameters
Replace the remaining placeholder values for these parameters with your values:
| Parameter | Your value |
| --- | --- |
| `YOUR_Sinch_phone_number` | Any number you've assigned to your Sinch account. Find the number on your Sinch [dashboard](https://dashboard.sinch.com/sms/api/rest) by clicking the service plan ID link and scrolling to the bottom of the page. |
| `YOUR_recipient_phone_number` | The phone number to which you want to send the test SMS message. |
Ensure you save your file.
### Build your project
Before executing your code, you must first compile your application. Execute the following command:
```shell
dotnet build
```
## Send your first SMS message
Now you can execute the code and send your test SMS message. Run the following command:
```shell
dotnet run
```
You should receive a text to the phone number you entered and you'll see a response in your terminal or command prompt. Press `Enter` to exit the application. You did it!
## Next steps
The code you used in the `SMS.cs` file sends a `POST` request to the Sinch API `/batches` endpoint to send the SMS message.
- Click [here to read more about the batches endpoint](/docs/sms/api-reference/sms/batches).
- [Learn how to recieve SMS](/docs/sms/getting-started/dotnet-sdk/handle-incoming)
## Additional resources
- Explore the [API specification](/docs/sms/api-reference/) to test more endpoints.