{ "openapi": "3.0.0", "info": { "description": "seven.io offers you the possibility to send SMS, text2voice messages, perform home register lookups, mobile number portability status lookups, phone number formats and much more.", "version": "1.0.0", "title": "seven", "termsOfService": "https://www.seven.io/en/company/terms/", "contact": { "email": "support@seven.io", "url": "https://www.seven.io/en/company/contact", "name": "Support" }, "license": { "name": "Licensed by Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" } }, "x-ms-connector-metadata": [ { "propertyName": "Website", "propertyValue": "https://www.seven.io" }, { "propertyName": "Privacy policy", "propertyValue": "https://www.seven.io/en/company/privacy/" }, { "propertyName": "Categories", "propertyValue": "Communication" } ], "paths": { "/analytics": { "get": { "tags": ["analytics"], "parameters": [ { "in": "query", "name": "end", "description": "End date of the statistics. Defaults to the current day.", "x-ms-summary": "End Date", "schema": { "type": "string" } }, { "in": "query", "name": "start", "description": "Start date of the statistics in the format YYYY-MM-DD. By default, the date of 30 days ago is set.", "x-ms-summary": "Start Date", "schema": { "type": "string" } }, { "in": "query", "name": "label", "description": "Shows only data of a specific label.", "x-ms-summary": "Label", "schema": { "type": "string" } }, { "in": "query", "name": "subaccounts", "description": "Receive the data only for the main account, all your (sub-)accounts or only for specific subaccounts.", "x-ms-summary": "Subaccounts", "schema": { "type": "string" } }, { "in": "query", "name": "group_by", "description": "Defines the grouping of the data.", "x-ms-summary": "Group By", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "The date the numbers refer to." }, "country": { "type": "string", "description": "The country the numbers refer to." }, "sms": { "type": "integer", "description": "The amount of outgoing SMS for this day." }, "voice": { "type": "integer", "description": "The amount of voice calls for this day." }, "hlr": { "type": "integer", "description": "The amount of HLR lookups for this day." }, "mnp": { "type": "integer", "description": "The amount of MNP lookups for this day." }, "inbound": { "type": "integer", "description": "The amount of inbound messages for this day." }, "usage_eur": { "type": "number", "description": "The total costs for this day." } } } } } } } } } } }, "summary": "Get Analytics", "description": "Retrieves analytics for the associated API key", "operationId": "Analytics" } }, "/balance": { "get": { "tags": ["balance"], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "amount": { "type": "float" }, "currency": { "type": "string" } } } } } } } } } }, "summary": "Get Balance", "description": "Retrieves the account balance for given API key", "operationId": "Balance" } }, "/journal/outbound": { "get": { "tags": ["journal"], "parameters": [ { "$ref": "#/components/parameters/journalId" }, { "$ref": "#/components/parameters/journalDateFrom" }, { "$ref": "#/components/parameters/journalDateTo" }, { "$ref": "#/components/parameters/journalTo" }, { "$ref": "#/components/parameters/journalState" }, { "$ref": "#/components/parameters/journalLimit" }, { "$ref": "#/components/parameters/journalOffset" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "allOf": [ { "type": "object", "properties": { "channel": { "type": "string", "description": "The communication channel used." }, "dlr": { "type": "string", "description": "The message delivery report." }, "dlr_timestamp": { "type": "string", "description": "The message delivery report timestamp." }, "mccmnc": { "type": "string", "description": "The mobile country code / mobile network code." }, "latency": { "type": "string", "description": "The message delivery latency." }, "type": { "type": "string", "description": "The SMS type." }, "connection": { "type": "string", "description": "The connection type." }, "label": { "type": "string", "description": "The label used for this message." }, "foreign_id": { "type": "string", "description": "The foreign ID used for this message." } } }, { "$ref": "#/components/schemas/JournalBase" } ] } } } } } } } } }, "summary": "Get outbound messages", "description": "Retrieves outbound journals for the associated API key", "operationId": "JournalOutbound" } }, "/journal/inbound": { "get": { "tags": ["journal"], "parameters": [ { "$ref": "#/components/parameters/journalId" }, { "$ref": "#/components/parameters/journalDateFrom" }, { "$ref": "#/components/parameters/journalDateTo" }, { "$ref": "#/components/parameters/journalTo" }, { "$ref": "#/components/parameters/journalState" }, { "$ref": "#/components/parameters/journalLimit" }, { "$ref": "#/components/parameters/journalOffset" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/JournalBase" } } } } } } } } }, "summary": "Get inbound messages", "description": "Retrieves inbound journals for the associated API key", "operationId": "JournalInbound" } }, "/journal/replies": { "get": { "tags": ["journal"], "parameters": [ { "$ref": "#/components/parameters/journalId" }, { "$ref": "#/components/parameters/journalDateFrom" }, { "$ref": "#/components/parameters/journalDateTo" }, { "$ref": "#/components/parameters/journalTo" }, { "$ref": "#/components/parameters/journalState" }, { "$ref": "#/components/parameters/journalLimit" }, { "$ref": "#/components/parameters/journalOffset" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/JournalBase" } } } } } } } } }, "summary": "Get message replies", "description": "Retrieves message replies for the associated API key", "operationId": "JournalReplies" } }, "/journal/voice": { "get": { "tags": ["journal"], "parameters": [ { "$ref": "#/components/parameters/journalId" }, { "$ref": "#/components/parameters/journalDateFrom" }, { "$ref": "#/components/parameters/journalDateTo" }, { "$ref": "#/components/parameters/journalTo" }, { "$ref": "#/components/parameters/journalState" }, { "$ref": "#/components/parameters/journalLimit" }, { "$ref": "#/components/parameters/journalOffset" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "type": "object", "properties": { "$ref": "#/components/schemas/JournalBase" } } } } } } } } } }, "summary": "Get voice journal", "description": "Retrieves voice calls for the associated API key", "operationId": "JournalVoice" } }, "/lookup/cnam": { "get": { "tags": ["lookup_cnam"], "parameters": [{ "$ref": "#/components/parameters/lookupNumber" }], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "code": { "description": "The API status code.", "type": "number" }, "success": { "type": "string", "enum": ["true", "false"] }, "name": { "type": "string", "description": "The name of the country" }, "number": { "type": "string", "description": "The number formatted accordingly to the E.164 standard in a human readable format." } } } } } } } } } }, "summary": "Lookup Caller Name", "description": "Retrieves Caller name info", "operationId": "LookupCNAM" } }, "/lookup/format": { "get": { "tags": ["lookup_format"], "parameters": [{ "$ref": "#/components/parameters/lookupNumber" }], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/NumberFormat" }, { "type": "array", "items": { "$ref": "#/components/schemas/NumberFormat" } } ] } } } } } } } }, "summary": "Lookup Format", "description": "Retrieves number format info", "operationId": "LookupFormat" } }, "/lookup/hlr": { "get": { "tags": ["lookup_hlr"], "parameters": [{ "$ref": "#/components/parameters/lookupNumber" }], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "international_formatted": { "type": "string", "description": "The number formatted accordingly to the E.164 standard in a human readable format." }, "country_name": { "type": "string", "description": "The full english name if the number belonging country." }, "country_code": { "type": "string", "description": "The area code of the number belonging country. This value is numeric." }, "international_format_number": { "type": "string" }, "national_format_number": { "type": "string" }, "country_prefix": { "type": "string" }, "current_carrier": { "schema": { "$ref": "#/components/schemas/Carrier" } }, "original_carrier": { "schema": { "$ref": "#/components/schemas/Carrier" } }, "lookup_outcome": { "type": "string" }, "lookup_outcome_message": { "type": "string" }, "valid_number": { "type": "string" }, "reachable": { "type": "string" }, "roaming": { "schema": { "$ref": "#/components/schemas/Roaming" } } } } } } } } } } }, "summary": "Lookup HLR", "description": "Retrieves home location register info", "operationId": "LookupHLR" } }, "/lookup/mnp": { "get": { "tags": ["lookup_mnp"], "parameters": [{ "$ref": "#/components/parameters/lookupNumber" }], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "code": { "type": "number", "enum": [100, 202, 500, 600] }, "success": { "type": "boolean", "description": "Determines if the request was successful.," }, "price": { "type": "float" }, "mnp": { "schema": { "$ref": "#/components/schemas/MNP" } } } } } } } } } } }, "summary": "Lookup MNP", "description": "Retrieves mobile number portability info", "operationId": "LookupMNP" } }, "/lookup/rcs": { "get": { "tags": ["lookup_rcs"], "parameters": [ { "in": "query", "name": "number", "description": "The phone number to look up", "required": true, "x-ms-summary": "Number", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "allOf": [ { "$ref": "#/components/schemas/NumberFormat" }, { "type": "array", "items": { "type": "string" } } ] } } } } } } } }, "summary": "Lookup RCS Capabilities", "description": "Retrieves Rich Content Services capabilities", "operationId": "LookupRCS" } }, "/pricing": { "get": { "tags": ["pricing"], "parameters": [ { "in": "query", "name": "country", "description": "The countries ISO code to get pricing for. Example values are \"de\" for Germany or \"fr\" for France. Omit to show pricing for all channels.", "x-ms-summary": "Country Restriction", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "countCountries": { "type": "integer", "description": "The number if countries in total." }, "countNetworks": { "type": "integer", "description": "The number of total networks." }, "countries": { "type": "array", "items": { "type": "object", "properties": { "countryCode": { "type": "string", "description": "The countries ISO code." }, "countryName": { "type": "string", "description": "The countries full name." }, "countryPrefix": { "type": "string", "description": "The countries number prefix." }, "networks": { "type": "array", "items": { "type": "object", "properties": { "comment": { "description": "Any information which might be of interest.", "type": "string" }, "features": { "description": "The features supported by this network.", "type": "array", "items": { "type": "string" } }, "networkName": { "type": "string", "description": "The full name of the carrier." }, "mcc": { "type": "string", "description": "The mobile country code." }, "mncs": { "description": "The mobile network code(s).", "type": "array", "items": { "type": "string" } }, "price": { "type": "number", "format": "float" } } } } } } } } } } } } } } } }, "summary": "Get Pricing", "description": "Retrieves pricing information for a single country or all", "operationId": "Pricing" } }, "/rcs/events": { "post": { "tags": ["rcs"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "event": { "description": "The event to trigger", "type": "string", "enum": ["IS_TYPING", "READ"], "x-ms-summary": "Event" }, "msg_id": { "description": "The ID of the received RCS to which you want to send the event. If not specified, the event is automatically sent to the last RCS message received.", "type": "string", "x-ms-summary": "Message ID" }, "to": { "description": "The phone number to which you want to send the event.", "type": "string", "x-ms-summary": "To" } }, "required": ["event"] } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } } } } } } } } }, "summary": "Trigger RCS Event", "description": "Trigger a Rich Content Message event", "operationId": "RcsEvent" } }, "/rcs/messages": { "post": { "tags": ["rcs"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "text": { "description": "The actual text message to send", "type": "string", "x-ms-summary": "Message Content" }, "to": { "description": "The recipient number", "type": "string", "x-ms-summary": "Recipient" }, "from": { "description": "Optional agent ID", "type": "string", "x-ms-summary": "Agent ID" }, "foreign_id": { "description": "Identifier to return in callbacks for status reports etc.", "type": "string", "pattern": "^[A-Z|a-z|0-9|.|\\-|_|@]+", "x-ms-summary": "Foreign ID" }, "label": { "description": "A custom label for sorting analytics", "type": "string", "pattern": "^[A-Z|a-z|0-9|.|\\-|_|@]+", "x-ms-summary": "Label" }, "delay": { "description": "Date/Time for delayed dispatch - expects a timestamp \"1141511104\" or date time \"2016-03-04 23:25:04\"", "type": "string", "x-ms-summary": "Delay" }, "performance_tracking": { "description": "Enable performance tracking for found URLs", "type": "boolean", "default": false, "x-ms-summary": "Performance Tracking" } }, "required": ["text", "to"] } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SmsResponse" } } } } }, "summary": "Send RCS", "description": "Sends a Rich Content Message", "operationId": "RcsDispatch" } }, "/rcs/messages/{id}": { "delete": { "tags": ["rcs"], "parameters": [ { "in": "path", "name": "id", "description": "The message ID for deletion", "required": true, "x-ms-summary": "Message ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } } } } } } } } }, "summary": "Delete RCS", "description": "Delete a scheduled Rich Content Message", "operationId": "RcsDelete" } }, "/sms": { "delete": { "tags": ["sms"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "ids": { "description": "A list of the SMS to be deleted. Enter the respective id's of the SMS to be deleted here.", "type": "array", "items": { "type": "integer" }, "x-ms-summary": "A list of the SMS to be deleted. Enter the respective id's of the SMS to be deleted here." } }, "required": ["ids"] } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "properties": { "deleted": { "items": { "type": "integer" }, "type": "array" }, "success": { "type": "boolean" } }, "type": "object" } } } } }, "summary": "Delete Sms", "description": "Delete one or more SMS messages before they have been sent to prevent them from being sent.", "operationId": "SmsDelete" }, "post": { "tags": ["sms"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "text": { "description": "The actual text message to send - may not exceed 1520 characters", "type": "string", "x-ms-summary": "Message Content" }, "to": { "description": "The recipient number(s) or contact/group name(s) - separate multiple recipients by comma", "type": "string", "x-ms-summary": "Recipient(s)" }, "from": { "description": "A custom sender name. A maximum of 11 alphanumeric or 16 numeric characters", "type": "string", "x-ms-summary": "Sender Identifier" }, "foreign_id": { "description": "Identifier to return in callbacks for status reports etc.", "type": "string", "pattern": "^[A-Z|a-z|0-9|.|\\-|_|@]+", "x-ms-summary": "Foreign ID" }, "label": { "description": "A custom label for sorting analytics", "type": "string", "pattern": "^[A-Z|a-z|0-9|.|\\-|_|@]+", "x-ms-summary": "Label" }, "udh": { "description": "A custom user data deader - if set and message contains hex code, the message gets sent as 8-bit binary", "type": "string", "x-ms-summary": "User Data Header" }, "delay": { "description": "Date/Time for delayed dispatch - expects a timestamp \"1141511104\" or date time \"2016-03-04 23:25:04\"", "type": "string", "x-ms-summary": "Delay" }, "flash": { "description": "Send as flash SMS which appears directly on the recipients screen", "type": "boolean", "default": false, "x-ms-summary": "Flash" }, "performance_tracking": { "description": "Enable performance tracking for found URLs", "type": "boolean", "default": false, "x-ms-summary": "Performance Tracking" } }, "required": ["text", "to"] } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SmsResponse" } } } } }, "summary": "Send Sms", "description": "Sends one or multiple SMS to one or multiple recipients", "operationId": "SmsDispatch" } }, "/status": { "get": { "tags": ["status"], "parameters": [ { "in": "query", "name": "msg_id", "description": "A comma separated list of SMS IDs to check", "required": true, "x-ms-summary": "Message ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "examples": { "response": { "value": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmsStatus" } } } } } } } } }, "summary": "Get SMS Status", "description": "Retrieves dispatch status for given SMS IDs", "operationId": "Status" } }, "/validate_for_voice": { "post": { "tags": ["validate_for_voice"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "number": { "description": "The number to validate for usage with the Voice API", "type": "string", "x-ms-summary": "Number" }, "callback": { "description": "The optional callback URL to query right after validation", "type": "string", "format": "uri", "x-ms-summary": "Callback" } }, "required": ["number"] } } }, "required": true }, "responses": { "200": { "description": "Success" } }, "summary": "Validate Caller ID for Voice", "description": "Validates the given phone number for the use of voice API", "operationId": "ValidateForVoice" } }, "/voice": { "post": { "tags": ["voice"], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "to": { "description": "The message receiver - must be a valid phone number or contact from the address book", "type": "string", "x-ms-summary": "Recipient" }, "text": { "description": "The text to convert to a voice message - accepts valid TwiML too", "type": "string", "maxLength": 10000, "x-ms-summary": "Text" }, "ringtime": { "description": "The duration of the ringing until the phone is hung up.", "type": "number", "minimum": 5, "maximum": 60, "x-ms-summary": "Ringtime" }, "from": { "description": "Sets the sender - must be a verified sender - use an inbound number of yours or one of ours.", "type": "string", "maxLength": 16, "x-ms-summary": "From" } }, "required": ["to", "text"] } } }, "required": true }, "responses": { "200": { "description": "Success" } }, "summary": "Send text-to-speech Voice Call", "description": "Sends a text-to-speech message to a given recipient number", "operationId": "VoiceDispatch" } } }, "security": [{ "oauth2_auth": [] }], "tags": [ { "name": "sms", "externalDocs": { "description": "Send one/multiple SMS", "url": "https://seven.io/en/docs/gateway/http-api/sms-disptach" } }, { "name": "balance", "externalDocs": { "description": "Retrieve account balance", "url": "https://seven.io/en/docs/gateway/http-api/credit-balance" } }, { "name": "pricing", "externalDocs": { "description": "Retrieve pricing information", "url": "https://seven.io/en/docs/gateway/http-api/pricing" } }, { "name": "status", "externalDocs": { "description": "Retrieve the status for a sent SMS with the given ID", "url": "https://seven.io/en/docs/gateway/http-api/status-reports" } }, { "name": "validate_for_voice", "externalDocs": { "description": "Validate caller ID for voice Voice API", "url": "https://seven.io/en/docs/gateway/http-api/caller-ids" } }, { "name": "voice", "externalDocs": { "description": "Issue voice call to phone number", "url": "https://seven.io/en/docs/gateway/http-api/voice" } }, { "name": "lookup", "externalDocs": { "description": "Get number format, CNAM,- HLR- or MNP information for given phone number", "url": "https://seven.io/en/docs/gateway/http-api" } } ], "externalDocs": { "description": "Find out more about the seven.io SMS gateway.", "url": "https://seven.io/en/docs/gateway/http-api" }, "servers": [{ "url": "https://gateway.seven.io/api" }], "components": { "parameters": { "journalId": { "in": "query", "name": "id", "description": "The ID of a message", "x-ms-summary": "ID", "schema": { "type": "integer" } }, "journalDateFrom": { "in": "query", "name": "date_from", "description": "A start date from which the search should start", "x-ms-summary": "Date From", "schema": { "type": "string" } }, "journalDateTo": { "in": "query", "name": "date_to", "description": "An end date up to which the search is to be performed", "x-ms-summary": "Date To", "schema": { "type": "string" } }, "journalTo": { "in": "query", "name": "to", "description": "The receivers phone number in any format.", "x-ms-summary": "To", "schema": { "type": "string" } }, "journalState": { "in": "query", "name": "state", "description": "The status of the message. - could be e.g. completed / failed for Voice or DELIVERED / NOTDELIVERED etc. for SMS", "x-ms-summary": "State", "schema": { "type": "string" } }, "journalLimit": { "in": "query", "name": "limit", "description": "Limits the number of entries to be returned.", "x-ms-summary": "Limit", "schema": { "type": "integer", "minimum": 1, "maximum": 100 } }, "journalOffset": { "in": "query", "name": "offset", "description": "Starting point from which entries are to be queried.", "x-ms-summary": "State", "schema": { "type": "integer" } }, "lookupNumber": { "in": "query", "name": "number", "description": "The phone number to look up", "required": true, "x-ms-summary": "Number", "schema": { "type": "string" } } }, "securitySchemes": { "oauth2_auth": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://oauth.seven.io/authorize", "tokenUrl": "https://oauth.seven.io/token", "scopes": { "analytics": "analytics", "balance": "analytics", "contacts": "contacts", "hooks": "hooks", "journal": "journal", "lookup": "lookup", "pricing": "pricing", "rcs": "rcs", "sms": "sms", "status": "status", "subaccounts": "subaccounts", "validate_for_voice": "validate_for_voice", "voice": "voice" } } } } }, "schemas": { "NumberFormat": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Determines if the request was successful.," }, "international": { "type": "string", "description": "The number formatted accordingly to the E.164 standard." }, "international_formatted": { "type": "string", "description": "The number formatted accordingly to the E.164 standard in a human readable format." }, "national": { "type": "string", "description": "The number in a domestic number format." }, "country_iso": { "type": "string", "description": "The two digit ISO 3166-1 alpha-2 country code." }, "country_name": { "type": "string", "description": "The full english name if the number belonging country." }, "country_code": { "type": "string", "description": "The area code of the number belonging country. This value is numeric." } } }, "Carrier": { "type": "object", "properties": { "network_code": { "type": "string" }, "name": { "type": "string" }, "country": { "type": "string" }, "network_type": { "type": "string", "enum": [ "fixed_line", "fixed_line_or_mobile", "mobile", "pager", "personal_number", "premium_rate", "shared_cost", "toll_free", "uan", "unknown", "voicemail", "voip" ] } } }, "JournalBase": { "type": "object", "properties": { "to": { "type": "string", "description": "The message recipient." }, "from": { "type": "string", "description": "The message sender." }, "text": { "type": "string", "description": "The message text." }, "timestamp": { "type": "string", "description": "The message timestamp." }, "price": { "type": "string", "description": "The message price." }, "id": { "type": "string", "description": "The message price." } } }, "Roaming": { "type": "object", "properties": { "status": { "type": "string", "enum": ["unknown", "roaming", "not_roaming"] }, "roaming_country_code": { "type": "string" }, "roaming_network_code": { "type": "string" }, "roaming_network_name": { "type": "string" } } }, "MNP": { "type": "object", "properties": { "country": { "type": "string" }, "number": { "type": "string" }, "national_format": { "type": "string" }, "international_formatted": { "type": "string" }, "network": { "type": "string" }, "mccmnc": { "type": "string" }, "isPorted": { "type": "boolean" }, "network_type": { "type": "string" } } }, "SmsResponse": { "properties": { "balance": { "type": "number" }, "debug": { "pattern": "\\b(false|true)", "type": "string" }, "messages": { "items": { "properties": { "encoding": { "pattern": "\\b(gsm|ucs2)", "type": "string" }, "error": { "type": "string" }, "error_text": { "type": "string" }, "id": { "type": "string", "minLength": 1 }, "parts": { "minimum": 1, "type": "integer" }, "price": { "minimum": 0, "type": "number" }, "recipient": { "type": "string" }, "sender": { "type": "string" }, "success": { "type": "boolean" }, "text": { "type": "string" } }, "type": "object" }, "type": "array" }, "sms_type": { "enum": ["direct"], "type": "string" }, "success": { "type": "string" }, "total_price": { "minimum": 0, "type": "number" } }, "type": "object" }, "SmsStatus": { "items": { "properties": { "id": { "type": "string" }, "status": { "enum": [ "DELIVERED", "NOTDELIVERED", "BUFFERED", "TRANSMITTED", "ACCEPTED", "EXPIRED", "REJECTED", "FAILED", "UNKNOWN" ], "type": "string" }, "status_time": { "type": "string" } }, "type": "object" }, "type": "array" } } } }