# Introduction

Our SMS APIs are designed to integrate seamlessly with your systems and applications and are supported by our dependable bulk SMS gateway. This document is a comprehensive reference for all the features accessible to you through our APIs for sending SMS messages.

## Getting Started <a href="#getting-started" id="getting-started"></a>

{% hint style="info" %}
To send SMS using our APIs, you need to have a TextCus SMS Messaging account.

**Step 1: Create a TextCus SMS Messaging account (if you don't already have one)**

* Visit <https://sms.textcus.com/signup> to create a new SMS account.
* Follow the steps provided to activate your account.
  {% endhint %}

## Overview

Our APIs are designed to integrate seamlessly with your systems and applications. This document is a comprehensive reference for all the features accessible through our APIs for adding and fetching data. It's designed around the primary resources you'll need most frequently and is made with RESTful standards in mind.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><p><mark style="color:yellow;"><strong><code>POST</code></strong></mark></p><p>To add new user data to the system, use this request.</p></td><td></td><td></td></tr><tr><td><mark style="color:green;"><strong><code>GET</code></strong></mark></td><td>To add and retrieve user data from the system, use this request.</td><td></td></tr></tbody></table>

## Authentication

**Reference your API Key**

{% hint style="info" %}
**Reference your API Key**

* Log in to your TextCus SMS Messaging account
* Go to API > API Access or visit <https://sms.textcus.com/api-access>
* Copy your API key for future reference
  {% endhint %}

The following format should be used for authorisation headers:

`Authorization: Bearer API_KEY`

{% hint style="info" %}
**Sample Authorization Header**

Authorization: Bearer 92857043717beff382ae75c8dc7514162f04
{% endhint %}

```php
curl -H "Authorization: Bearer API_KEY" \
     https://api.textcus.com/api/v2/user/authenticate
```

## Requests and Response <a href="#authentication-1" id="authentication-1"></a>

The format of the response and request payloads is JSON. Responses will always have `application/json` as their content type. Each response will typically follow this format:

## Response Formats

<table><thead><tr><th width="255">Response</th><th>Data type</th><th>Description</th></tr></thead><tbody><tr><td>status</td><td>number</td><td>The HTTP status code indicating a status operation.</td></tr><tr><td>message</td><td>string</td><td>This gives you detailed explaination on the request sent. The interpretation of the status code.</td></tr><tr><td>data</td><td>object</td><td>An object holding any data that the API returned after receiving the request.</td></tr></tbody></table>

## **Status Codes and Interpretation**

| Status Code | Interpretation                                            |
| ----------- | --------------------------------------------------------- |
| `200`       | Standard for successful request.                          |
| `201`       | Used for requests as a result of creation.                |
| `204`       | Indicates that a request has succeeded or been processed. |
| `400`       | For bad requests.                                         |
| `401`       | For unathorized.                                          |
| `402`       | For payment required.                                     |
| `404`       | For not found.                                            |
| `500`       | For internal server errors.                               |
