Interactive API Documentation

Our REST API comes with built-in Swagger UI documentation. Test API calls directly in your browser, explore all endpoints, and generate code snippets.

Open Swagger UI OpenAPI Schema (JSON)

API Features

Modern REST Design

Clean JSON responses, standard HTTP methods, meaningful status codes.

Bearer Token Auth

Secure authentication with API tokens. No passwords in URLs.

OpenAPI 3.0

Auto-generated schema for code generation and IDE integration.

Legacy Compatible

Existing integrations continue to work via PHP proxies.

Available Endpoints

SMS Sending /api/v1/sms/

Method Endpoint Description
GET /api/v1/sms/send/ Send SMS via HTTP GET (legacy compatible)
POST /api/v1/sms/send/ Send SMS via HTTP POST (recommended)

Team Management /api/v1/teamlist/

Method Endpoint Description
GET /api/v1/teamlist/credit/ Get SMS quota and usage
GET /api/v1/teamlist/info/ Get team name and information
GET /api/v1/teamlist/key/ Get team keyword
GET /api/v1/teamlist/lists/ List all team lists
GET /api/v1/teamlist/members/ List all members of a team list
GET /api/v1/teamlist/member/ Get a single member
POST /api/v1/teamlist/member/ Create member
PUT /api/v1/teamlist/member/ Update member
DELETE /api/v1/teamlist/member/ Delete member
GET /api/v1/teamlist/sendkeys/ Get send permission keywords
PUT /api/v1/teamlist/sendkeys/ Set send permission keywords

Delivery Logs /api/v1/logging/

Method Endpoint Description
GET /api/v1/logging/sms/ Get SMS delivery log with pagination
GET /api/v1/logging/statuscodes/ List all delivery status codes
GET /api/v1/logging/reasoncodes/ List all reason codes

Message Widget /api/v1/widget/

Method Endpoint Description
GET /api/v1/widget/messages/ Get team messages as JSON
GET /api/v1/widget/embed.html Get HTML widget for embedding

Widget documentation →

SMS Send Parameters

Parameters for POST /api/v1/sms/send/

Parameter Required Description
team_id Yes Team ID / Customer number
teamlist_email Yes* Team list address (e.g. 'mylist@tmsg.de')
tl Yes* Teamlist ID (alternative to teamlist_email)
message Yes Message text (max. 1600 characters)
to_mobile Yes Recipient phone number(s), comma-separated
sender_email Closed groups Sender email for authentication. Required for closed groups – must match a registered member's email.
keyword If configured Authentication keyword. Required if a send permission keyword is configured for the team list – even when using Bearer token authentication.
from_mobile No SMS sender ID override (alphanumeric or phone number)
test No Test mode (1 = validate only, no actual sending)
date No Scheduled send date (YYYY-MM-DD)
time No Scheduled send time (HH:MM)
flash No Flash SMS (1 = display directly on screen, not stored)
ucs2 No UCS2 encoding (1 = Unicode support for special characters)

* Either teamlist_email or tl must be provided. If both are given, tl takes precedence.

Authentication

Bearer Token Authentication

Create an API token in your account settings and include it in the Authorization header:

Authorization: Bearer your-api-token-here

Secure, easy to rotate, no passwords in logs

Manage API Tokens

Note: This documentation covers the modern REST API. If you have existing integrations using the legacy HTTP interface, they will continue to work unchanged.

Quick Examples

Send SMS with cURL

curl -X POST "https://www.teammessage.eu/api/v1/sms/send/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "team_id": 12345,
    "teamlist_email": "myteam@tmsg.de",
    "message": "Hello World!",
    "to_mobile": "+4917612345678",
    "sender_email": "john@example.com"
  }'

Check SMS Credit

curl "https://www.teammessage.eu/api/v1/teamlist/credit/?tm=12345&tl=67890" \
  -H "Authorization: Bearer YOUR_TOKEN"

Python Example

import requests

response = requests.post(
    "https://www.teammessage.eu/api/v1/sms/send/",
    headers={"Authorization": "Bearer YOUR_TOKEN"},
    json={
        "team_id": 12345,
        "teamlist_email": "myteam@tmsg.de",
        "message": "Hello from Python!",
        "to_mobile": "+4917612345678",
        "sender_email": "john@example.com"
    }
)
print(response.json())

Ready to integrate?

Explore all endpoints interactively with our Swagger documentation.

Open API Documentation