# General Usage

This documentation helps you interact with the REST API to manage your accounts. It also shows you how to set up your development environment for building Twilio apps. You can use your trial account to test your work and protect your Twilio accounts, applications, and users against fraud.

If you're not a developer, explore the Twilio [product portfolio](/en-us/products) to see what you can do with Twilio.

## Get started with Twilio

If you're just getting started with Twilio, you may want to jump straight into one of our quickstarts. Choose the product you're most interested in: [Programmable SMS](/docs/messaging), [Programmable Voice](/docs/voice), or 2FA with [Verify](/docs/verify/api).

For detailed guidance on the basics of getting started with Twilio, complete the following steps:

* Start with a [Twilio trial account](/docs/usage/tutorials/how-to-use-your-free-trial-account)
* Set up your development environment for [C# and ASP.NET](/docs/usage/tutorials/how-to-set-up-your-csharp-and-asp-net-mvc-development-environment), [Java and Servlets](/docs/usage/tutorials/how-to-set-up-your-java-development-environment), [Node.js and Express](/docs/usage/tutorials/how-to-set-up-your-node-js-and-express-development-environment), [PHP](/docs/usage/tutorials/how-to-set-up-your-php-development-environment), [Python and Flask](/docs/usage/tutorials/how-to-set-up-your-python-and-flask-development-environment), [Ruby and Sinatra](/docs/usage/tutorials/how-to-set-up-your-ruby-and-sinatra-development-environment), or [Go and Gin](/docs/usage/tutorials/how-to-set-up-your-go-and-gin-development-environment).
* Understand [requests to Twilio](/docs/usage/requests-to-twilio) and [Twilio responses](/docs/usage/twilios-response)
* Debug your [Twilio application](/docs/usage/troubleshooting/debugging-your-application)

## Manage your Twilio account and applications with the API

Whether you're using Programmable Voice or building two-factor authentication with Verify, the [Twilio REST API](/docs/usage/api) can give you insight into your usage, accounts, applications, and more:

* [Get your account details](/docs/iam/api/account), [fetch all active accounts](/docs/iam/api/account?code-sample=code-list-all-active-accounts), or create [subaccounts](/docs/iam/api/subaccounts) with the REST API.
* Provision or revoke [API keys](/docs/iam/api-keys/key-resource-v2010) through the REST API.
* Use the REST API to [provision, update, or delete an application](/docs/usage/api/applications) on your Twilio account
* [Create access tokens](/docs/iam/access-tokens) to authenticate Twilio client-side SDKs such as Voice, Chat, and Video.

## Keep your applications and users secure

Protect your Twilio applications and your users by following our best practices for security and availability:

* Read best practices for [protecting your accounts and applications from fraud](/docs/usage/anti-fraud-developer-guide)
* Secure your applications by validating incoming requests in [Python](/docs/usage/tutorials/how-to-secure-your-django-project-by-validating-incoming-twilio-requests), [C#](/docs/usage/tutorials/how-to-secure-your-csharp-aspnet-app-by-validating-incoming-twilio-requests), [Node.js](/docs/usage/tutorials/how-to-secure-your-express-app-by-validating-incoming-twilio-requests), [Java](/docs/usage/tutorials/how-to-secure-your-servlet-app-by-validating-incoming-twilio-requests), [PHP](/docs/usage/tutorials/how-to-secure-your-lumen-app-by-validating-incoming-twilio-requests), [Ruby](https://www.twilio.com/blog/secure-your-sinatra-app-validating-incoming-twilio-requests), and [Go](/docs/usage/tutorials/how-to-secure-your-gin-project-by-validating-incoming-twilio-requests).
