# seven.io API API

> seven.io API API on Apizie: 16 endpoints (GET /analytics, GET /balance, GET /contacts, POST /contacts, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/communication:sms77/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `communication:sms77`
- Category: Communication
- Status: byok
- Source: https://seven.io/en/company/contact
- Page: https://zieapi.vercel.app/api/communication/sms77
- OpenAPI: https://zieapi.vercel.app/api/communication/sms77/openapi.json

seven.io Swagger API. Get your API-Key now at seven.io.

## Endpoints

### GET /analytics
`GET https://zieapi.vercel.app/v1/communication:sms77/analytics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| start | string | no | Start date of the statistics in the format YYYY-MM-DD. By default, the date of 30 days ago is set. |
| end | string | no | End date of the statistics in the format YYYY-MM-DD. By default, the current day. |
| label | string | no | Shows only data of a specific label. |
| subaccounts | string | no | Receive the data only for the main account, all your (sub-)accounts or only for specific subaccounts. |
| group_by | string | no | Defines the grouping of the data. |

### GET /balance
`GET https://zieapi.vercel.app/v1/communication:sms77/balance` (byok)

### GET /contacts
`GET https://zieapi.vercel.app/v1/communication:sms77/contacts-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | yes | Determines the action to execute. |
| json | number | no | Defines whether to return the response as JSON or CSV separated by semicolon. |

### POST /contacts
`POST https://zieapi.vercel.app/v1/communication:sms77/contacts-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | yes | Determines the action to execute. |
| json | number | no | Defines whether to return the response as JSON or CSV separated by semicolon. |
| id | string | no | The contact ID for editing/deletion. |
| nick | string | no | The contacts name. |
| empfaenger | string | no | The contacts phone number. |
| email | string | no | The contacts email address. |

### GET /hooks
`GET https://zieapi.vercel.app/v1/communication:sms77/hooks-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | yes | Determines the action to execute. |

### POST /hooks
`POST https://zieapi.vercel.app/v1/communication:sms77/hooks-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | yes | Determines the action to execute. |
| id | integer | no | The Webhook ID you wish to unsubscribe. |
| target_url | string | no | Target URL of your Webhook. |
| event_type | string | no | Type of event for which you would like to receive a webhook. |
| request_method | string | no | Request method in which you want to receive the webhook. |

### POST /lookup
`POST https://zieapi.vercel.app/v1/communication:sms77/lookup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | yes | Allowed values are "cnam", "format", "hlr" and "mnp". |
| number | array | yes | The phone number to look up. |
| json | string | no | Determines whether the response shall be returned in JSON format. Does not work with type "format". |

### POST /lookup/cnam
`POST https://zieapi.vercel.app/v1/communication:sms77/lookup-cnam` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| number | array | yes | The phone number to look up. |

### POST /lookup/format
`POST https://zieapi.vercel.app/v1/communication:sms77/lookup-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| number | array | yes | The phone number to look up. |

### POST /lookup/hlr
`POST https://zieapi.vercel.app/v1/communication:sms77/lookup-hlr` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| number | array | yes | The phone number to look up. |

### POST /lookup/mnp
`POST https://zieapi.vercel.app/v1/communication:sms77/lookup-mnp` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| number | array | yes | The phone number to look up. |
| json | string | no | Determines whether the response shall be returned in JSON format. |

### GET /pricing
`GET https://zieapi.vercel.app/v1/communication:sms77/pricing` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | no | The countries ISO code to get pricings for. Allowed values are de, fr, at. Omit to show pricings for all channels. |
| format | string | no | Determines the response format. Allowed values are json and csv. The default value is json. |

### POST /sms
`POST https://zieapi.vercel.app/v1/communication:sms77/sms` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | yes | The actual text message to send. |
| to | string | yes | The recipient number or group name. |
| from | string | no | Set a custom sender name. |
| foreign_id | string | no | Identifier to return in callbacks. |
| label | string | no | A custom label. |
| udh | string | no | A custom User Data Header. |
| delay | string | no | Date/Time for delayed dispatch. |
| debug | number | no | Disable message sending. |
| no_reload | number | no | Enable sending of duplicated messages within 180 seconds. |
| unicode | number | no | Force unicode encoding. Reduces sms length to 70 chars. |
| flash | number | no | Send as flash. |
| utf8 | number | no | Force UTF8 encoding. |
| details | number | no | Attach message details to response. |
| return_msg_id | number | no | Attach message ID to second row in a text response. |
| json | number | no | Return a detailed JSON response. |
| performance_tracking | number | no | Enable performance tracking for found URLs. |

### GET /status
`GET https://zieapi.vercel.app/v1/communication:sms77/status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| msg_id | string | yes | The ID from the SMS. |

### POST /validate_for_voice
`POST https://zieapi.vercel.app/v1/communication:sms77/validate-for-voice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| number | string | yes | Determines the recipient. Can only be a number, not a contact from your address book. |
| callback | string | no | The callback URL which gets queried right after validation. |

### POST /voice
`POST https://zieapi.vercel.app/v1/communication:sms77/voice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| to | string | yes | Determines the receiver. Must be a valid phone number or contact from the address book. |
| text | string | yes | The text to convert to a voice message. Accepts valid XML too. |
| xml | number | no | Decides whether the parameter "text" is plain text or XML. The default value is 0. |
| from | string | no | Sets the sender. Must be a verified sender. Use an inbound number of yours or one of ours. |

## Example
```
curl "https://zieapi.vercel.app/v1/communication:sms77/analytics" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the seven.io API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/communication:sms77/analytics with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the seven.io API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. seven.io API itself also needs your own key from sms77.io.

### Can AI agents use the seven.io API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key communication:sms77.

### What is the status of the seven.io API API?
Needs your own provider key (bring your own key)
