openapi: 3.0.0 info: version: "1.0" title: SMS API description: | The SMS API enables you to send messages to your customers or to receive messages from your customers to phone numbers registered with tyntec. contact: name: tyntec API Support url: http://www.tyntec.com/support email: support@tyntec.com x-repository: https://github.com/tyntec/api-collection/blob/master/sms x-major-version: v1 servers: - url: https://api.tyntec.com/ security: - APIKeyHeader: [] tags: - name: SMS Messaging description: | tyntec’s SMS service is governed by two operations that allow you: - to send an SMS and - to query the status of a previously sent SMS **Important** tyntec stores status details for up to 3 months after the final delivery state is known. ### Delivery states | State | Description | | :--- | :--- | | ACCEPTED | The message was accepted for delivery by Tyntec's platform and will be scheduled for delivery. | | DELIVERED | Message is delivered to destination. The message has been delivered to the destination. No further deliveries will occur. | | BUFFERED | The message is in buffered state. This is a general state used to describe a message as being active within the tyntec's platform. The message may be in retry or dispatched to a mobile network for delivery to the mobile. | | EXPIRED | Message validity period has expired. The message has failed to be delivered within its validity period and/or retry period. No further delivery attempts will be made. | | REJECTED | Message was rejected by the tyntec platform or destination network. Reasons for rejections can be insufficient funds, illegal content/senderId. More specific reasons are given on the `errorCode`. | | UNDELIVERABLE | Message is undeliverable. The message has encountered a delivery error and is deemed permanently undeliverable. No further delivery attempts will be made. Certain network or platform internal errors result in the permanent non-delivery of a message. Examples of such errors would be an unknown subscriber or network error that indicated that the given destination mobile was denied SMS service or could not support SMS. More specific reasons are given on the `errorCode`.| - name: BYON Contact Service description: Bring Your Own Number (BYON) Contacts Service gives the users the possibility to manage their contacts. - name: BYON Phone Book Service description: Bring Your Own Number (BYON) Phone Book Service gives the users the possibility to view their Phone book entries. - name: BYON Number Service description: Bring Your Own Number (BYON) Numbers Service gives the users the possibility to register new numbers. - name: BYON Partner Notification Service description: API for sending notifications to the partners - name: SMS Conversion description: | SMS Conversion is a term used in the SMS world to describe the messages that actually received from the end user. tyntec is providing an endpoint for real time conversion events reporting where customers can report if a message received or not received by the end user. paths: /messaging/v1/sms: post: tags: - SMS Messaging summary: Send SMS (POST) security: - ApiKeyHeader: [] operationId: sendSmsUsingPOST description: | Sends an SMS via the POST HTTP method with parameters defined in the request body. responses: "200": description: The messageIds of your request content: application/json: schema: $ref: "#/components/schemas/RestMessageResponse" "201": description: Created "400": description: Invalid request content: application/json: schema: $ref: "#/components/schemas/Problem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "403": description: Forbidden content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: "Something went wrong. :-(" content: application/json: schema: $ref: "#/components/schemas/Problem" requestBody: description: Message you would like to send required: true content: application/json: schema: $ref: "#/components/schemas/SmsMessage" get: tags: - SMS Messaging summary: Send SMS (GET) security: - ApiKeyHeader: [] operationId: sendSmsUsingGET description: | Sends an SMS via the GET HTTP method with parameters defined in the query string. parameters: - name: to in: query description: This parameter represents the receiving party’s phone number in the international phone format. required: true schema: type: string - name: from in: query description: | This parameter gives the identification of the sending party, which can either be a phone number in the international format or an alphanumeric identifier with up to 11 characters. Some destination networks impose restrictions on the sender ID format. Please check the coverage list and contact us for more information. required: true schema: type: string - name: message in: query description: | The message will be sent with characters encoded either in the GSM standard alphabet (GSM-7) or GSM Unicode alphabet (UCS-2). - GSM standard alphabet [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38). Maximum length is 160 characters per single message and 152 characters per concatenated message. - GSM Unicode alphabet [UCS-2](http://en.wikipedia.org/wiki/GSM_03.38). Maximum length is 70 characters per single message and 66 characters per concatenated message. tyntec automatically splits the sent message into concatenated messages if the message exceeds the given limits. These concatenated messages are unified by the handset once again and they are displayed as one message (if supported by the handset). tyntec will charge for each part of the concatenated message as for an individual message. required: true schema: type: string - name: encoding in: query description: Encoding selection between GSM7, UNICODE, or the default AUTO selection schema: type: string enum: - AUTO - GSM7 - UNICODE default: AUTO - name: gateway in: query description: Which gateway to use for the message delivery schema: type: string default: DEFAULT - name: conversion in: query description: Whether the message is a subject to conversion ratio schema: type: boolean default: false - name: sendDateTime in: query description: >- Any future date in the format “yyyy-MM-ddT-HH:mm:ss+HH:mm” [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). If not set, the message will be sent immediately. The default time zone is [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). schema: type: string - name: validity in: query description: Validity in minutes for this message schema: type: string default: "2880" - name: reference in: query description: A custom reference that will mark the Delivery Report schema: type: string - name: callbackUrl in: query description: Your URL for delivering the Delivery Reports; leave empty for no Delivery Report. schema: type: string - name: callbackMethod in: query description: Your prefered HTTP method for the Delivery Report callback; possible values POST/GET schema: type: string - name: partLimit in: query description: Up to how many parts you allow this message to be concatenated schema: type: integer format: int32 default: 4 - name: trate in: query description: >- Up to how much you allow the transcoder to replace original characters to make it [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38) compatible; possible values: decimals from 0 to 1 schema: type: number format: double default: 1 - name: mrate in: query description: >- Up to how much you allow the transcoder to skip original characters to make it [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38) compatible; possible values: decimals from 0 to 1 schema: type: number format: double default: 0 - name: upperCased in: query description: >- Whether you allow the transcoder to try an upper case version of the content in the case this improves the produced parts of the message schema: type: boolean default: true - name: keepEmojis in: query description: >- Instructs the transcoder to keep emojis or to replace them with text. By default the transcoder will keep emojis; thus text will result to UNICODE. schema: type: boolean default: true - name: flash in: query description: Whether this SMS will be delivered as flash. Some networks do not support this. schema: type: boolean default: false responses: "200": description: The messageIds of your request content: application/json: schema: $ref: "#/components/schemas/RestMessageResponse" "201": description: Created "400": description: Invalid request content: application/json: schema: $ref: "#/components/schemas/Problem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "403": description: Forbidden content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: "Something went wrong. :-(" content: application/json: schema: $ref: "#/components/schemas/Problem" "/messaging/v1/messages/{requestId}": get: tags: - SMS Messaging summary: Read SMS status security: - ApiKeyHeader: [] operationId: getMessageInfoUsingGET description: | Returns the status of a sent SMS message. You have the possibility to query the status of a message you sent through our systems. In the case the callback URL is configured, we will POST the status to the defined URL. **Important** The SMS Message Status is available for 3 months after a final delivery state is reached. parameters: - name: requestId in: path description: The unique identifier provided for each request. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/RestMessageResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "403": description: Forbidden content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: "Something went wrong. :-(" content: application/json: schema: $ref: "#/components/schemas/Problem" /incoming: post: operationId: receiveMessage summary: Receive SMS servers: - url: "https://example.com" security: [] tags: - SMS Messaging description: | Receive an SMS as a POST request from us to your server. **Note:** The aforementioned path is only an example. You can choose the callback URL freely. The SMS API allows you to automatically receive messages from your customers sent to your phone numbers that you have registered with tyntec. For this service, you will need to provide tyntec with an URL (`callbackUrl`) at your webserver, e.g. `https://rest.customer.com/inboundmessages/`. tyntec's system will do either the `POST` or `GET` call to your server; this can be configured by tyntec. **Retries** tyntec's system will retry delivery every 10 seconds in the case your application does not accept the inbound message. Retries are paused for 10 minutes after every 100 consecutive unsuccessful delivery attempts. tyntec's system will keep trying for a maximum of 48 hours. requestBody: description: The message that tyntec delivers to your system required: true content: application/json: schema: $ref: "#/components/schemas/InboundMessage" responses: "2XX": description: Message was accepted by your system. "default": description: | Message was not accepted by your system. The tyntec's inbound system will retry the delivery. /byon/phonebook/v1/numbers: get: tags: - BYON Phone Book Service summary: List all phone numbers description: Returns all phone numbers created with your API key; you can specify attributes to filter the results. The size limit is 3000. operationId: getAllPhoneNumbersForAccountUsingGET parameters: - name: requestId in: query description: List filter based on the requestId field required: false schema: type: string - name: contactId in: query description: List filter based on the contactId field required: false schema: type: string - name: page in: query description: List filter based on the page field required: false schema: type: integer format: int32 - name: size in: query description: List filter based on the size field required: false schema: type: integer format: int32 maximum: 3000 responses: "200": description: List of phones requests content: application/json: schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" "/byon/phonebook/v1/numbers/{phoneNumber}": get: tags: - BYON Phone Book Service summary: Read a phone number description: Returns details of the specific phone number entity created with your API key. operationId: getPhoneNumberForAccountUsingGET parameters: - name: phoneNumber in: path description: Phone number to get information for required: true schema: type: string responses: "200": description: Phone Number entity content: application/json: schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" /byon/contacts/v1: get: tags: - BYON Contact Service summary: List all contacts description: Returns all contacts created with your API key; you can get the contact ID from the list for editing or deleting the contact. You can specify `friendlyName` to filter the results. operationId: getAllContactsWithFriendlyNameUsingGET parameters: - name: friendlyName in: query description: List filter based on the friendlyName field required: false schema: type: string responses: "200": description: Returned the list of contacts content: application/json: schema: type: array items: $ref: "#/components/schemas/ContactArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/ContactArrayResponse" "204": description: Empty list; no contacts were found for this friendly name. content: application/json: schema: type: array items: $ref: "#/components/schemas/ContactArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/ContactArrayResponse" "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" post: tags: - BYON Contact Service summary: Create a contact description: Creates a new contact. operationId: createContactUsingPOST requestBody: $ref: "#/components/requestBodies/ContactEntity" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ContactEntity" "*/*": schema: $ref: "#/components/schemas/ContactEntity" "201": description: Created "202": description: The contact was created. content: application/json: schema: $ref: "#/components/schemas/ContactEntity" "*/*": schema: $ref: "#/components/schemas/ContactEntity" "400": description: The provided contact is not valid. "401": description: Unauthorized "403": description: Forbidden "404": description: Contact was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" "/byon/contacts/v1/{contactId}": get: tags: - BYON Contact Service summary: Read a contact description: Returns the contact for the provided contactId. operationId: getContactUsingGET parameters: - name: contactId in: path description: List filter based on the contactId field required: true schema: type: string responses: "200": description: The contact content: application/json: schema: $ref: "#/components/schemas/ContactEntity" "*/*": schema: $ref: "#/components/schemas/ContactEntity" "401": description: Unauthorized "403": description: Forbidden "404": description: Contact was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" post: tags: - BYON Contact Service summary: Edit a contact description: Edits the contact for the provided contactId. operationId: editContactUsingPOST parameters: - name: contactId in: path description: ID of the contact that is to be edited required: true schema: type: string requestBody: $ref: "#/components/requestBodies/ContactEntity" responses: "200": description: The edited contact content: application/json: schema: $ref: "#/components/schemas/ContactEntity" "*/*": schema: $ref: "#/components/schemas/ContactEntity" "201": description: Created "400": description: Contact can not be edited. "401": description: Unauthorized "403": description: Forbidden "404": description: Contact was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" delete: tags: - BYON Contact Service summary: Delete a contact description: Deletes the contact for the provided contactId. operationId: deleteContactUsingDELETE parameters: - name: contactId in: path description: Unique identifier of the contact that is to be deleted. required: true schema: type: string responses: "200": description: The deleted contact content: application/json: schema: $ref: "#/components/schemas/ContactEntity" "*/*": schema: $ref: "#/components/schemas/ContactEntity" "204": description: No Content "400": description: Contact can not be deleted. "401": description: Unauthorized "403": description: Forbidden "404": description: Contact was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" /byon/provisioning/v1: get: tags: - BYON Number Service summary: List all phones description: | Returns all phone numbers for which provisioning requests were created. You can specify _friendlyName_ or _contactId_ for filtering the results. operationId: getAllProvisioningPhoneNumbersForAccountUsingGET parameters: - name: friendlyName in: query description: List filter based on the friendlyName field required: false schema: type: string - name: contactId in: query description: List filter based on the contactId field required: false schema: type: string responses: "200": description: List of phone provisioning requests content: application/json: schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "204": description: Empty list; no phone provisioning requests were found. content: application/json: schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "*/*": schema: type: array items: $ref: "#/components/schemas/PhoneProvisioningArrayResponse" "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" post: tags: - BYON Number Service summary: Register phones description: New phone batch registration service for registering multiple numbers operationId: createPhoneProvisioningRequestUsingPOST parameters: - name: friendlyName in: query description: List filter based on the friendlyName field required: false schema: type: string - name: contactId in: query description: List filter based on the contactId field required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/PhoneNumberEntity" description: > Comma-separated list of phone number details: - phoneNumber - country (only optional if the phone number already has included the country code) required: true responses: "200": description: List of applications content: application/json: schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "*/*": schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "201": description: Created "204": description: Empty list; no applications were found for your account. content: application/json: schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "*/*": schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "400": description: Your request was not valid. "401": description: Unauthorized "403": description: Forbidden "404": description: The contact was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" "/byon/provisioning/v1/{requestId}": get: tags: - BYON Number Service summary: Read phone status description: Returns the details of the provisioning request for the provided requestId. operationId: getProvisioningRequestUsingGET parameters: - name: requestId in: path description: Unique identifier based on the requestId field required: true schema: type: string responses: "200": description: Provisioning request content: application/json: schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "*/*": schema: $ref: "#/components/schemas/PhoneProvisioningEntity" "400": description: Your request was not valid. "401": description: Unauthorized "403": description: Forbidden "404": description: The provisioning request was not found. "500": description: Something went wrong. :-( content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "*/*": schema: $ref: "#/components/schemas/ErrorResponse" '/messaging/v1/conversion': post: tags: - SMS Conversion summary: Conversion report security: - APIKeyHeader: [] operationId: conversionReportPOST description: | Report either successful or un-successful conversion event for a message. requestBody: description: Conversion required: true content: application/json: schema: $ref: '#/components/schemas/ConversionEvent' responses: '200': description: OK components: requestBodies: ContactEntity: content: application/json: schema: $ref: "#/components/schemas/ContactEntity" description: | Comma-separated list of contact details: - companyAddress (optional) - companyName - contactEmail - contactName - contactPhone - contactTitle (optional) - friendlyName (optional) required: true securitySchemes: ApiKeyHeader: type: apiKey in: header name: apikey description: | The API key used for this operation; we check as well that the API key has the phone number (either on sending messages or interacting with other phone number based features) assigned. schemas: ContactArrayResponse: type: object description: Contract Array Response schema properties: contacts: type: array items: $ref: "#/components/schemas/ContactEntity" size: type: integer format: int32 ContactEntity: type: object description: Contract Entity schema properties: companyAddress: description: Company's postal address type: string companyName: description: Company's name type: string contactEmail: description: E-mail address type: string contactName: description: Requestor's name type: string contactPhone: description: Requestor's phone number type: string contactTitle: description: Requestor's title type: string friendlyName: description: List filter based on the friendlyName field type: string ConversionEvent: type: object description: This is the event were delivery information regarding the message can be reported back to tyntec required: - requestId properties: requestId: type: string description: The unique identifier provided for each messaging request. example: "e74db8d4-77ad-4671-8feb-9bc76b0df188" delivered: type: boolean description: Has the message been delivered to the end user or not. By default would be considered as true default: true timestamp: type: string description: The timestamp when the message converted. If empty conversion timestamp will be set tp the timestamp of the event received in the API format: date-time example: '2018-06-01T00:00:00+0200' ErrorResponse: type: object description: Error Response schema properties: code: description: error code type: string message: description: A short, human-readable summary of the problem type type: string timestamp: description: Point in time when the event happened type: integer format: int64 InboundMessage: title: InboundMessage required: - from - to - message - requestId - missingParts - contentList type: object properties: from: type: string description: Phone number of the sending party in the international format if available example: "+49123456789" to: type: string description: Your number provided by tyntec that has received the respective message in the international format. example: "+1987654321" message: type: string description: "The received message as a UTF-8 encoded string. Note: Missing parts of a concat message will be marked with <...> in the message." example: "This is an example, the data is garbage." originMCC: type: string description: Representative MCC (Mobile Country Code) of the originating network example: 260 originMNC: type: string description: Representative MNC (Mobile Network Code) of the originating network example: 09 originTtId: type: string description: Operator's tyntec ID example: 77292 totalPrice: type: number description: Sum of prices for each message part listed in “contentList” example: -0.005 requestId: type: string description: Unique identifier provided for each request example: "e74db8d4-77ad-4671-8feb-9bc76b0df188" size: type: integer description: Amount of respective concatenated SMS parts format: int32 example: 1 missingParts: type: boolean description: This flag marks whether tyntec received all parts of a concat message within a time limit of 10 minutes. example: false contentList: type: array items: $ref: "#/components/schemas/InboundContent" description: "tyntec merges overlength (concatenated) SMS into one string before sending it to your webserver. Note: tyntec will charge for each part of the concatenated message as for an individual message!" InboundContent: title: InboundContent required: - msgId - sentDate - sequenceNumber type: object properties: msgId: type: string description: Unique identifier provided for each message part example: "48799399408:0:cad578e86b324c0a80f8fe866bfdb2b6" sentDate: type: string description: >- The time when the SMS was sent by the sending MSC (if available) or the time when the respective message was received by tyntec. example: "2019-07-02T16:47:39+0200" sequenceNumber: type: integer description: The sequenceNumber orders the respective message parts of an overlength message. format: int32 example: 1 price: type: number description: The price per message from the respective network; negative prices represent payouts in favor of a tyntec’s customer. example: -0.005 currency: type: string description: The currency in which the pricing is given; corresponding to the currency of the invoice example: EUR priceEffective: type: string description: The date when the “price” became effective example: "2018-06-01T00:00:00+0200" PhoneNumberEntity: type: object description: Phone number schema properties: phoneNumber: description: Phone number of the contact type: string country: description: The country that the phone number is registered in type: string PhoneProvisioningArrayResponse: type: object description: Phone provisioning array response schema properties: provisioningRequests: type: array items: $ref: "#/components/schemas/PhoneProvisioningEntity" size: type: integer format: int32 PhoneProvisioningEntity: type: object description: Phone provisioning schema properties: accountId: description: The account that created this entry type: string contactId: description: Contact ID of this entry type: string friendlyName: description: Friendly name of this entry type: string requestId: description: Request ID of this entry type: string status: description: Status of this entry type: string Problem: type: object additionalProperties: true description: The problem object follows [RFC-7807](https://tools.ietf.org/html/rfc7807). properties: type: description: The URI reference [RFC3986] that identifies the problem type example: https://docs.tyntec.com/problems/DataNotParseable type: string title: description: Short, human-readable summary of the problem type type: string example: The given data were not parsable. status: description: The HTTP status code (RFC7231, Section 6) generated by the origin server for this occurrence of the problem type: number example: 400 detail: description: Human-readable explanation specific to this problem occurrence type: string example: | Unexpected end-of-input: expected close marker for Object (start marker at [Source: UNKNOWN; line: -1, column: -1) at [Source: UNKNOWN; line: 1, column: 97] SmsMessage: type: object required: - to - from - message properties: to: description: Destination phone number in the international phone format [E.164](https://en.wikipedia.org/wiki/E.164) type: string from: description: | This parameter provides identification of the sending party, which can either be a phone number in the international format or an alphanumeric identifier with up to 11 characters. Some destination networks impose restrictions on the sender ID format. Please check the coverage list and contact us for more information. type: string message: description: | The message will be sent with characters encoded either in the GSM standard alphabet (GSM-7) or GSM Unicode alphabet (UCS-2). - GSM standard alphabet [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38). Maximum length is 160 characters per a single message and 152 characters per a concatenated message. - GSM Unicode alphabet [UCS-2](http://en.wikipedia.org/wiki/GSM_03.38). Maximum length is 70 characters per a single message and 66 characters per a concatenated message. tyntec automatically splits a sent message into concatenated messages if the message exceeds the given limits. These concatenated messages are unified by the handset once again and they are displayed as one message (if supported by the handset). tyntec will charge for each part of the concatenated message as for an individual message. type: string encoding: description: Encoding selection between GSM7, UNICODE, or the default AUTO selection type: string enum: - AUTO - GDM7 - UNICODE default: AUTO gateway: description: Which gateway to use for the message delivery type: string default: DEFAULT conversion: description: Whether this message is subject to conversion ratio type: boolean default: false sendDateTime: description: >- Any future date in the format of “yyyy-MM-ddT-HH:mm:ss+HH:mm” [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601); if not set, the message will be sent immediately. The default time zone is [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). type: string validity: description: Message validity in minutes type: string default: "2880" reference: description: Customer reference attached to the Delivery Reports type: string callbackUrl: description: Your URL for delivering the Delivery Reports; leave empty for no Delivery Report. type: string callbackMethod: description: Your prefered HTTP method for the Delivery Report callback; possible values are POST/GET. type: string enum: - POST - GET default: POST partLimit: description: Up to how many parts you allow this message can concatenated type: integer format: int32 default: 4 trate: description: >- Controls the transcoding rate of the original message to [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38) compatible characters; this can be used to compress the message. type: number format: double default: 0 mrate: description: >- Controls the replacement rate of characters incompatible with [GSM-7](http://en.wikipedia.org/wiki/GSM_03.38); they are replaced with '.'. type: number format: double default: 0 upperCased: description: >- Whether you allow the transcoder to try an upper case version of the content in the case this improves the produced parts of the message type: boolean default: true keepEmojis: description: >- Whether you allow the transcoder to keep emojis type: boolean default: true flash: description: >- Whether this SMS will be delivered as flash; some networks do not support it. type: boolean default: false example: to: "+123456789" from: "tyntec" message: "Hello world!" ResponseEntity: type: object description: Response schema properties: body: description: Short, human-readable summary of the response type: object statusCode: description: Response ID type: string enum: - "100" - "101" - "102" - "103" - "200" - "201" - "202" - "203" - "204" - "205" - "206" - "207" - "208" - "226" - "300" - "301" - "302" - "303" - "304" - "305" - "307" - "308" - "400" - "401" - "402" - "403" - "404" - "405" - "406" - "407" - "408" - "409" - "410" - "411" - "412" - "413" - "414" - "415" - "416" - "417" - "418" - "419" - "420" - "421" - "422" - "423" - "424" - "426" - "428" - "429" - "431" - "451" - "500" - "501" - "502" - "503" - "504" - "505" - "506" - "507" - "508" - "509" - "510" - "511" statusCodeValue: description: Response code value type: integer format: int32 RestMessagePart: type: object description: The part of the message request that the message is split to properties: currency: type: string description: The currency in which the pricing is given; it corresponds to the currency of the invoice. example: EUR deliveryState: type: string description: The delivery status of this specific part; possible values can be found [here] (#delivery-states) doneDate: type: string description: The time stamp when the message was successfully delivered errorCode: type: string description: The reason for an unsuccessful delivery attempt. [GSM error codes](https://www.tyntec.com/docs/docs-center-sms-api-gsm-error-codes) partId: type: string description: The identification number of the specific message part price: type: string description: The price per message from the respective network; negative prices represent payouts in favor of a tyntec’s customer. example: "0.005" priceEffective: type: string description: The date when the “price” became effective format: date-time example: "2018-06-01T00:00:00+0200" statusText: type: string description: The first 20 characters of the sent message RestMessageResponse: type: object properties: doneDate: type: string description: The time stamp when the message was successfully delivered errorCode: type: string description: The error code. [GSM error codes](https://www.tyntec.com/docs/docs-center-sms-api-gsm-error-codes) errorReason: type: string description: The reason for an unsuccessful attempt. from: type: string description: The phone number of the sending party in the international format if available example: "+49123456789" href: type: string description: The URL of the accepted message mccmnc: type: string description: Representative IMSI prefix of the target network; the respective mapping can be found on [http://mcc-mnc.com/](http://mcc-mnc.com/). parts: type: array items: $ref: "#/components/schemas/RestMessagePart" overallPrice: type: string description: The overall sum of prices for all parts of this message format: string example: "0.01" priceEffective: type: string description: The date when the “price” became active format: date-time reference: type: string description: Custom reference that will mark the Delivery Report requestId: type: string description: The unique identifier provided for each messaging request example: "e74db8d4-77ad-4671-8feb-9bc76b0df188" size: type: integer description: The amount of respective concatenated SMS parts format: int32 example: 1 status: description: The message status; the values can be found can be found [here] (#delivery-states) type: string example: "DELIVERED" submitDate: description: The date when the message was sent out by tyntec for delivery type: string format: date-time to: type: string description: Your number provided by tyntec that has received the respective message in international format example: "+1987654321" ttid: type: string description: The tyntec operator's ID example: 77292