Register sender

Prerequisites

In order to use your own sender, you need to register it in your account. You can do this via calls to the API described below, or directly via the user portal.

Please note that your registered senders can only be sent with if you have an active subscription, or the additional service ”Optional Sender”, which is purchased separately if you use our system for SMS balance. This can be ordered in one of our web services or in the webshop

Notice! If you are developing with a test account, you need to use the sender iP1 or iP1sms. These senders are initially registered on the account.


Quick start

Using the example below, replace ”API_NYCKEL” with a bearer token that you create in the user portal.

curl -X PUT "https://api.ip1sms.com/v2/me/senders" \
-H "Authorization: Bearer API_NYCKEL" \
-H "Content-Type: application/json" \
-d '{
    "sender": "Company name"
}'

call

Register sender

Endpoint: me/senders/{sender}

Methodology: PUT

Read sender

Endpoint: me/shippers

Methodology: GET

Read a single sender

Endpoint: /v2/me/senders/{sender}

Methodology: GET

Unsubscribe sender

Endpoint: /v2/me/senders/{sender}

Methodology: DELETE


Examples of calls

https://api.ip1sms.com/v2/me/senders/Foretagsnamn

Fields for call data

Field name Mandatory Type Description and Conditions Example
sender Yes String A Call will be rejected if sender:
  • Is a number longer than 15 digits
  • Consists of an alphanumeric sender with less than 3 characters or greater than 11 characters (Aa-Zz, 0 - 9, 3 - 11 characters)
  • Not matching regex [0-9A-Za-z]{1,11} or if it does not comply with the E164 standard

Company name
      

Response

Example of response data

{
    "sender": "Company Name",
    "created": "2018-10-23T17:43:19Z"
}

Fields for response data

Field name Type Description and Conditions Example
sender String The registered sender.

"sender": "Company name"
      
created String Date/time stamp when the consignor was registered.

"created": "2025-11-12T17:43:19Z"
      

Code example

Register Sender C#

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("https://api.ip1sms.com/v2/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "API Key");

    var sender = "Company Name";

    HttpResponseMessage response = await client.PutAsync($"me/senders/{sender}", null);

    if (response.IsSuccessStatusCode)
    {
        Console.WriteLine("Sender registered");
    }
    else
    {
        Console.WriteLine("Failed, " + response.StatusCode + ": " + await response.Content.ReadAsStringAsync());
    }
}

Register sender PHP

$conf = array(
    'password' => 'API Key',
    apiUrl' => 'api.ip1sms.com/v2/',
    'method' => 'PUT',
    'endpoint' => 'me/senders/',
);

$sender = 'Company Name";

// Set up request options
$options = array(
    "http' => array(
        'header' => array(
            'Authorization: Bearer '.$conf['password']
        ),
        'method' => $conf['method'] )
    )
);

$url = 'https://" . $conf["apiUrl'] . $conf['endpoint'] . $sender;
$context = stream_context_create($options);
// Send the request
$response = file_get_contents($url, false, $context);
// Print the response
echo $response;

Register Sender VisualBasic

Imports System.Net.Http
Imports System.Net.Http.Headers

Module Module1
    Sub Main()
        Dim client As New HttpClient()

        client.BaseAddress = New Uri("https://api.ip1sms.com/v2/")
        client.DefaultRequestHeaders.Accept.Clear()
        client.DefaultRequestHeaders.Accept.Add(New MediaTypeWithQualityHeaderValue("application/json"))
        client.DefaultRequestHeaders.Authorization = New AuthenticationHeaderValue("Bearer", "API Key")

        Dim sender As String = "Company name"

        Dim response As HttpResponseMessage = client.PutAsync($"me/senders/{sender}", Nothing).Result

        If response.IsSuccessStatusCode Then
            Console.WriteLine("Sender registered")
        Else
            Console.WriteLine("Failed, " & response.StatusCode.ToString() & ": " & response.Content.ReadAsStringAsync().Result)
        End If
    End Sub
End Module