{"openapi":"3.0.0","info":{"title":"Transmit SMS API","description":"

With so many SMS APIs on the market today, you might think that they all do the same thing: send text messages. But with our flexible and powerful suite of APIs, you can do more than that.

","version":"1.0.0"},"servers":[{"url":"https://api.transmitsms.com"}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use the `Authorization` header with the value `Basic {base64(api_key:api_secret)}`.\n- `api_key`: Your API key\n- `api_secret`: Your API secret\n"}}},"paths":{"/send-sms.json":{"post":{"tags":["SMS"],"summary":"Send SMS","description":"You can elect to pass us the recipient numbers from your database each time you make a call, or you can elect to store recipient data in a contact list and submit only the list_id to trigger the send. This is best for large databases. To add a list please refer to the add-list call.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["message","to"],"properties":{"message":{"type":"string","description":"Message Content Can be up to 612 alphanumeric characters. A part is 160 characters for a single SMS or 153 characters per part for multi-part SMS. If the message contains Unicode UTF8 encoded characters such as emoji’s or non latin character sets, then a single part is 70 characters or 67 characters for multiple parts. More information on message length and encoding: SMS message length and character count","example":"Hello, world!"},"to":{"type":"string","description":"Recipient Number/s Single number or set of up to 500 comma separated numbers to send the SMS to. Invalid numbers will be ignored. Number must be defined in E.164 international format. You can use countrycode parameter to format numbers that are in local format.","example":"61478038915"},"list_id":{"type":"integer","description":"Recipient list This ID is the numerical reference to one of your recipient lists. It is found in the URL and displayed on a destination list page in your account. A list ID can also be created using the add-list call.","example":12345},"countrycode":{"type":"string","description":"Format the to number in international format. 2 letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery. eg. In Australia 0422222222 will become 6142222222 when set to AU or Australia. If not set to numbers must be defined in E.164 international format.\n\n| COUNTRY | COUNTRY CODE | LOCAL | INTERNATIONAL |\n|--------|--------------|----------------------|----------------------|\n| Australia | au | 0491570156 |61491570156 |\n| New Zealand | nz | 0212670129 |64212670129 |\n| United Kingdom | gb | 0750017696 |44750017696 |\n| United States | us | 2513551145 |12513551145 |\n","example":"US"},"from":{"type":"string","description":"Sender ID Usually a dedicated virtual mobile number (VMN) or short code found in the NUMBERS section of your account. If no value is set here, it will default to the shared Sender ID for the country you are sending to. Can also be an 11 character alphanumeric sender if available for the destination country. You will need to click on the Add Sender ID button found in the NUMBERS section of your account in order to request the use of an Alphanumeric Sender ID. Sender ID functionality varies by country. Global Sender ID Information Mobile and dedicated VMN's should be in international format. Alphanumeric senders (cannot be replied to) can have a maximum of 11 characters. No spaces. If opt out is required, using Custom Sender ID, use parameter [unsub-reply-link] in message to insert opt out link.","example":"Sender123"},"send_at":{"type":"string","format":"date-time","description":"Schedule a message at a specific time. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilising UTC Timezone. Eg. 2020-04-27 06:00:00","example":"2024-04-24T12:00:00Z"},"validity":{"type":"integer","description":"Expire a message send if it is undeliverable Specify the maximum time to attempt to deliver. In minutes, 0 (zero) or not set implies maximum validity period. If a message is not delivered and not failed it is given a PENDING status in the system. These messages can be requested to be expired by the carrier after a certain time. This will return a DLR with a soft-bounce value. If no value is set, messages that remain in a PENDING state will be expired by the system automatically after 72hrs. What does a message with a pending status mean?","example":1440},"replies_to_email":{"type":"string","description":"Send Replies to this Email Specify an email address to send responses to this message. Email will come from the email address @transmitsms.com eg. 0456789010@transmitsms.com NOTE: If expectation is for replies to this email to be returned to the recipient as SMS then the email address must be authorised to send messages in your account under the 'EMAIL SMS' section. Emails can also be authorised using the add-email call. How to set up Email SMS","example":"example@example.com"},"tracked_link_url":{"type":"string","description":"Converts this URL into a unique shortened tracking link Converts this URL to unique tapth.is/xxxxxx tracking link for each contact. Inserted into message with variable [tracked-link]. Only one [tracked-link] can be defined per message.","example":"https://example.com"},"link_hits_callback":{"type":"string","description":"Send a link hit notification to this callback URL A URL on your system which we can call to notify you of a hit on your [tracked-link]. If required, this parameter can be different for each message sent. Will override the default DLR Callback URL if set in the SETTINGS section of your account.","example":"https://callback.example.com/linkhit"},"dlr_callback":{"type":"string","description":"Send a delivery notification to this callback URL A URL on your system which we can call to notify you of Delivery Receipts. If required, this parameter can be different for each message sent. Will override the default DLR Callback URL if set in the SETTINGS section of your account.","example":"https://callback.example.com/delivery"},"reply_callback":{"type":"string","description":"Send a reply notification to a callback URL A URL on your system which we can call to notify you of incoming messages. If required, this parameter can be different for each message sent. Will override the default Reply Callback URL if set in the SETTINGS section of your account.","example":"https://callback.example.com/reply"}}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"},"example":"\n\n 339683245\n 2020-06-18 02:42:06\n 1\n 0.087\n 1\n \n 4070887\n My Test List\n \n \n 0\n 0\n 0\n 0\n 0\n \n \n SUCCESS\n OK\n
200
\n
\n
"},"application/json":{"schema":{"type":"object","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent. This can be used in conjunction with other calls to retrieve information and reporting about the message sent.","example":339683245},"send_at":{"type":"string","format":"date-time","description":"Date and time that message was sent from your account Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone.","example":"2020-06-18T02:42:06Z"},"recipients":{"type":"integer","description":"Recipient count. Count of number of recipients message was sent to either in list or to parameter.","example":1},"cost":{"type":"number","description":"Total cost of all messages. Returned as value per account currency to 3 decimal places 0.000","example":0.087},"sms":{"type":"integer","description":"Total number of message parts delivered. If the message is longer than 160 characters this will return count of all parts. Eg. if a 180 character message is delivered to 2 recipients. Value returned will be 4.","example":1},"list":{"type":"object","description":"Information about the list the message was sent Timezone.","properties":{"id":{"type":"integer","description":"This ID is the numerical reference to one of your recipient lists. It is found in the URL and displayed on a destination list page in your account. "},"name":{"type":"string","description":"Name of the list that message was sent to."}}},"delivery_stats":{"type":"object","description":"Delivery stats.","properties":{"delivered":{"type":"integer","description":"Number of delivered messages.","example":0},"pending":{"type":"integer","description":"Number of pending messages.","example":0},"bounced":{"type":"integer","description":"Number of bounced messages.","example":0},"responses":{"type":"integer","description":"Number of responses.","example":0},"optouts":{"type":"integer","description":"Number of opt-outs.","example":0}}},"error":{"type":"object","description":"Error messages related to this call:\n\n| CODE | HEADER | DESCRIPTION |\n|---------------|------------------|-----------------------------------------------------------------------|\n| LEDGER_ERROR | 400 | There was a problem with payment. Please check the output for more details. |\n| LIST_EMPTY | 400 | The list you provided doesn't have active recipients. |\n| RECIPIENTS_ERROR | 400 | No valid recipients left after validation. |\n","properties":{"code":{"type":"string","description":"Error code.","example":"SUCCESS"},"header":{"type":"integer","description":"Error code.","example":"400"},"description":{"type":"string","description":"Description of the error.","example":"OK"}}}}}}}}}}},"/add-contacts-bulk.json":{"post":{"tags":["Contacts & Lists"],"summary":"Bulk Add Contacts from CSV File","description":"Add bulk contacts to a list from a file\n\nThe add-contacts-bulk request can be used to add a CSV file of contacts to an existing list. It can also be used to create a new list and upload a CSV file of contacts to it. If a contact is added that already exists in a list, any existing data will be updated.\n\n**The return code 200 is only used to indicate that the API call has successfully hit our server. It in no way indicates if the contacts have been added\\updated successfully.\nTo find the status of an upload, including error messages, you must use the add-contacts-bulk-progress endpoint.**\n\n```\nCSV File Format and Example:\n Firstname,Lastname,Mobile,\"Custom Field 1\"\n Jane,Doe,61412345678,10.44\n\nThe minimum required for successful import is Mobile.\n\nThe order above must be followed.\n```","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id","name"],"properties":{"list_id":{"type":"integer","description":"ID of the list to be added to. This ID is the numerical reference to one of your recipient lists. Required if name is not set."},"name":{"type":"string","description":"Name of the list to create and add contacts to. If set, a new list will be created with this name. The list ID will be returned in the API response. Required if list_id is not set."},"countrycode":{"type":"string","description":"Format the number in international format. 2-letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery."},"file_url":{"type":"string","description":"URL location of the CSV file containing the contact list.\n\n- Must be a direct URL to the file, cannot be a redirected URL. \n- Cannot be a file on a local machine.\n- File must contain a column with the header ‘mobile’\n- To maximise API performance no error will be returned if call fails. ID returned in response will be automatically deleted.\n- To get status of call use add-contacts-bulk-progress\n- Basic auth can be used to secure file eg. https://username:password@domain.com/file\n"},"field_n":{"type":"string","description":"Create or map a custom field.\n\n- There are 10 custom field slots available. The value n is the number of the custom field slot 1 through 10.\n- Create a field name using field_n=name e.g. field_1=email.\n- Headers in your file that match the custom field name will be automatically mapped. e.g. Column in CSV file named email will be automatically mapped to field_1=email.\n- If name contains spaces or symbols, other than letters or numbers, these must be URL encoded\n"}}}}}},"responses":{"200":{"description":"Successful response containing the list ID and error details.","content":{"application/json":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list."},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code indicating the status of the operation."},"description":{"type":"string","description":"Description of the error status."}}}}}}}}}}},"/cancel-sms.json":{"post":{"tags":["SMS"],"summary":"Cancel SMS","description":"Messages scheduled can be cancelled using the message ID. Return a JSON or XML response by adding the appropriate extension to the base url (See examples).","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Numeric ID assigned to the message sent."}}}}}},"responses":{"200":{"description":"OK","headers":{"Date":{"schema":{"type":"string","example":"Thu, 18 Jun 2020 11:20:59 GMT"}},"Content-Type":{"schema":{"type":"string","example":"text/xml; charset=utf-8"}},"Transfer-Encoding":{"schema":{"type":"string","example":"chunked"}},"Connection":{"schema":{"type":"string","example":"keep-alive"}},"Server":{"schema":{"type":"string","example":"nginx/1.14.2"}},"Expires":{"schema":{"type":"string","example":"Thu, 19 Nov 1981 08:52:00 GMT"}},"Cache-Control":{"schema":{"type":"string","example":"no-store, no-cache, must-revalidate"}},"Pragma":{"schema":{"type":"string","example":"no-cache"}},"X-Mashape-Billing":{"schema":{"type":"string","example":"Queries=1"}},"Content-Encoding":{"schema":{"type":"string","example":"gzip"}},"Vary":{"schema":{"type":"string","example":"Accept-Encoding"}}},"content":{"text/plain":{"schema":{"type":"string"},"example":"\n\n OK\n \n SUCCESS\n OK\n \n"},"application/json":{"schema":{"type":"object"},"example":{"success":"OK","error":{"code":"SUCCESS","description":"OK"}}}}}}}},"/format-number.json":{"post":{"tags":["SMS"],"summary":"Format Number","description":"In the majority of cases, mobile phone number data coming from external systems is not ideal for SMS delivery. For highest reliability and to be able to route correctly a mobile number should be formatted in international format E.164\nNormally however a number is stored in a CRM or contact database in local format, with spaces, hyphens and other types of unwanted characters that can cause a delivery to fail. The format-number call is used to sanitise a number by combining the country and the number. eg.\n> Australia 0438 333 061 will become 61438333061\n> New Zealand 0212172782 will become 64212172782\n> USA (281) 869-1226 will become 12818691226","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["msisdn","countrycode"],"properties":{"msisdn":{"type":"integer","description":"Numeric to check Badly formatted number coming from source such as CRM or exported list."},"countrycode":{"type":"string","description":"2 letter ISO countrycode or country name Global SMS delivery list"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"object","properties":{"countrycode":{"type":"integer","description":"International dialling code for destination country"},"nationalnumber":{"type":"integer","description":"Reformatted number without leading 0"},"national_leading_zeroes":{"type":"integer","description":"Unused, currently returns as per national_number"},"rawinput":{"type":"string","description":"Unused, always returns null"},"international":{"type":"integer","description":"Reformatted number in international format"},"type":{"type":"integer","description":"Returns numerical value depending on type of number.\n\n| VALUE | TYPE |\n|-------|----------------|\n| 0 | Landline |\n| 1 | Mobile Number |\n| 10 | Invalid number |\n"},"isValid":{"type":"boolean","description":"Checks to see if number is valid. Returns true or false."}}},"error":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"}}}}},"example":{"number":{"countrycode":65,"nationalnumber":96112234,"national_leading_zeroes":96112234,"rawinput":null,"international":6596112234,"type":1,"isValid":true},"error":{"code":"SUCCESS","description":"OK"}}}}}}}},"/get-sms-responses.json":{"post":{"tags":["SMS"],"summary":"Get Responses by MessageID, Keyword or Mobile","description":"Responses to your outgoing messages can be picked up in a few different ways. Your DLR Callback URL in your account settings, is the default URL we post incoming DLR's to. You can also set the DLR Callback URL separately for individual messages, using a parameter on the send-sms call. You can also poll the following endpoints for responses.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["message_id","keyword_id","keyword","number"],"properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent. Required if **keyword_id** or **keyword is** not set."},"start":{"type":"string","format":"date-time","description":"A date within the last 12 months to start the report from. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the last 30 days only."},"end":{"type":"string","format":"date-time","description":"A date within the last 12 months to end the report at. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the last 30 days only."},"keyword_id":{"type":"integer","description":"Numeric ID assigned to the keyword. ID is assigned on creation of keyword in your account. A keyword can be created using add-keyword request. Keyword ID can be returned using the get-keyword request. NOTE A keyword IS NOT a specific string within the message. Required if **message_id** or **keyword** not set"},"keyword":{"type":"string","description":"Keyword name. Name is assigned on creation of keyword in your account. A keyword can be created using add-keyword request. Keyword name can be returned using the get-keyword request. NOTE A keyword IS NOT a specific string within the message. Required if **message_id** or **keyword** not set"},"number":{"type":"integer","description":"Filter results by Virtual Mobile Number (VMN). Get responses for messages containing a keyword received on a specific VMN. Numbers can be returned using the get-numbers request. Required if **keyword** not set"},"msisdn":{"type":"integer","description":"Filter results by Responder Mobile Number (VMN). Get responses to messages that were from a specific mobile number."},"include_original":{"type":"boolean","description":"Include text of message that reply was sent to."},"page":{"type":"integer","description":"Page number, for pagination."},"max":{"type":"integer","description":"Maximum results returned per page."}}}}}},"responses":{"200":{"description":"Successful response","content":{"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 1\n 1\n \n 1\n \n \n 36573149\n 339814842\n 4070947\n 2020-06-23 10:03:44\n \n \n 61478038915\n Hi There, this is a sample response\n 61429720235\n This is my message, click on my link TapTh.is/hO2HL7b0\n \n \n \n SUCCESS\n OK\n \n"},"application/json":{"schema":{"type":"object"},"example":{"page":{"count":1,"number":1},"total":1,"responses":[{"id":36573149,"message_id":339814842,"list_id":4070947,"received_at":"2020-06-23 10:03:44","first_name":null,"last_name":null,"msisdn":61478038915,"response":"Hi There, this is a sample response","longcode":61429720235,"original_message":"This is my message, click on my link TapTh.is/hO2HL7b0"}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}},"/get-user-sms-responses.json":{"get":{"tags":["SMS"],"summary":"Get Responses by Time Frame","description":"Gets the messsages from a defined timeframe.\n\n## Pagination\n\nThis endpoint supports pagination using the page/max pattern:\n\n**Parameters:**\n- `page`: Page number starting from 1 (default: 1)\n- `max`: Maximum results per page (default: 10, recommended: 10-100)\n- `mobile`: Required mobile number filter (E.164 format)\n- `start`/`end`: Optional date range filters\n\n**Response Structure:**\nThe response includes pagination metadata:\n- `page.count`: Total number of pages available\n- `page.number`: Current page number\n- `total`: Total count of SMS responses matching the filters\n\n**Navigation Examples:**\n```\n# First page of responses for a mobile number (default)\nGET /get-user-sms-responses.json?mobile=61478038915\n\n# Second page with 25 results per page\nGET /get-user-sms-responses.json?mobile=61478038915&page=2&max=25\n\n# Responses within date range with pagination\nGET /get-user-sms-responses.json?mobile=61478038915&start=2020-04-01T00:00:00Z&end=2020-04-30T23:59:59Z&max=50\n\n# Navigate through all pages\nGET /get-user-sms-responses.json?mobile=61478038915&page=1&max=20\nGET /get-user-sms-responses.json?mobile=61478038915&page=2&max=20\n# Continue until page.number >= page.count\n```\n\n**Best Practices:**\n- Use max=10-25 for UI display of conversation history\n- Use max=50-100 for data export or analysis tasks\n- Always specify date ranges for large datasets to improve performance\n- Check page.count to determine if more pages exist\n- Use sorting parameters (sort_field, order) to organize results effectively\n- Consider the mobile number is required - this endpoint is designed for per-contact message history","security":[{"basicAuth":[]}],"parameters":[{"in":"query","name":"mobile","schema":{"type":"integer"},"required":true,"description":"The mobile number of the recipient. Number must be defined in E.164 international format. You can use countrycode parameter to format numbers that are in local format.","example":61478038915},{"in":"query","name":"countrycode","schema":{"type":"string"},"description":"Format the mobile number to international format using 2-letter ISO 3166 country code or country name. 2 letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery. eg. In Australia 0422222222 will become 6142222222 when set to AU or Australia. If not set to numbers must be defined in E.164 international format.\n| COUNTRY | COUNTRY CODE | LOCAL | INTERNATIONAL |\n|----------------|--------------|------------|---------------|\n| Australia | au | 0491570156 | 61491570156 |\n| New Zealand | nz | 0212670129 | 64212670129 |\n| United Kingdom | gb | 0750017696 | 44750017696 |\n| United States | us | 2513551145 | 12513551145 |\n","example":"au"},{"in":"query","name":"start","schema":{"type":"string","format":"date-time"},"description":"The start date and time to filter messages. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the account registration to current date.","example":"2020-04-27 06:00:00"},{"in":"query","name":"end","schema":{"type":"string","format":"date-time"},"description":"The end date and time to filter messages. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the account registration to current date.","example":"2020-04-27 06:00:00"},{"in":"query","name":"sort_field","schema":{"type":"string"},"description":"Sort by one of the following fields: delivery_status, message_id, datetime_send.\n","example":"delivery_status"},{"in":"query","name":"order","schema":{"type":"string"},"description":"Order by either ascending (asc) or descending (desc).","example":"asc"},{"in":"query","name":"page","schema":{"type":"integer"},"description":"Page number for pagination.","example":1},{"in":"query","name":"max","schema":{"type":"integer"},"description":"Maximum results returned per page.","example":10}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Numeric ID assigned to the message received."},"message_id":{"type":"integer","description":"Numeric ID assigned to the message that was responded to."},"list_id":{"type":"integer","description":"Numeric ID of the list that the original message was sent to. Returns 0 if message was not sent to a list."},"received_at":{"type":"string","format":"date-time","description":"Date and time that response was received to your account. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"first_name":{"type":"string","description":"First name of responder. Retrieved from list contact if available."},"last_name":{"type":"string","description":"Last name of responder. Retrieved from list contact if available."},"msisdn":{"type":"integer","description":"Mobile number of responder."},"error":{"type":"object","description":"Error messages related to this call. For general errors see the API Introduction.\n\n| CODE | HEADER | DESCRIPTION |\n|----------------|--------|------------------------------------------------------------|\n| FIELD_INVALID | 400 | If you provide 'keyword', you must provide 'number' |\n| FIELD_INVALID | 400 | Field \"keyword_id\" has wrong type, expected type - numeric |\n| NO_ACCESS | 400 | You do not have access to this ‘message’ |\n","properties":{"CODE":{"type":"integer","description":"Error code."},"HEADER":{"type":"integer","description":"HTTP status code."},"DESCRIPTION":{"type":"string","description":"Description of the error."}}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 1\n 1\n \n 4\n \n \n 36573149\n 339814842\n 4070947\n 2020-06-23 10:03:44\n \n \n 61478038915\n Hi There, this is a sample response\n 61429720235\n \n \n 36573132\n 340267059\n 4070887\n 2020-06-23 10:03:05\n Ella\n B\n 61478038915\n I there, this is a sample response\n 61429625067\n \n \n 36283700\n 338808275\n 4070947\n 2020-06-15 01:15:49\n \n \n 61478038915\n Received response\n 61436446702\n \n \n 36230542\n 338116740\n 4070947\n 2020-06-12 00:06:10\n \n \n 61478038915\n Testing email sms\n 61429238797\n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-sms.json":{"post":{"tags":["Reporting"],"summary":"Get Message/Campaign Information","description":"\nThis will return information about the campaign, including the message, list etc. It will not however return individual messages with populated variables or tracking links. To retrieve final individual messages use **get-sms-delivery-status.**","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent.\nThis ID was returned in the send-sms response.\n"}},"required":["message_id"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message that was sent"},"send_at":{"type":"string","format":"date-time","description":"Date and time that message was sent from your account. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"recipients":{"type":"integer","description":"Number of recipients message was sent to"},"cost":{"type":"number","format":"double","description":"Total cost of all messages. Returned as value per account currency to 3 decimal places 0.000"},"sms":{"type":"integer","description":"Total number of message parts delivered. If the message is longer than 160 characters this will return count of all parts. Eg. if a 180 character message is delivered to 2 recipients. Value returned will be 4."},"message":{"type":"string","description":"Content of message sent"},"list":{"type":"string","description":"ID and name of list delivered to"},"delivery_stats":{"type":"object","description":"Report of messages delivered Count of different reporting stats we collect. Delivery reports are marked using a DLR (Delivery Receipt) or Acknowledgement (ACK) returned from the carrier, a DLR is a handset level report and an ACK is simply a response from the carrier that the request was received. Global carriers have different functionality available. See our Global Delivery List for details.","properties":{"delivered":{"type":"integer","description":"Messages delivered"},"pending":{"type":"integer","description":"No delivery report received from carrier. Allow up to 72hrs or use validity in send-sms call to process."},"bounced":{"type":"integer","description":"Handset was disconnected, hard-bounce, or message was undeliverable due to handset switched off, out of range or other temporary deliverability issue, soft-bounce. For a specific bounced status use get-sms-sent."},"responses":{"type":"integer","description":"Replies received"},"optouts":{"type":"integer","description":"Recipients opted out, either by reply or unsub link."}}},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code"},"description":{"type":"string","description":"Description of the error"}}}}},"example":{"message_id":339814842,"send_at":"2020-06-18 11:17:44","recipients":1,"cost":0.087,"sms":1,"message":"This is my message, click on my link [tracked-link]","delivery_stats":{"delivered":1,"pending":0,"bounced":0,"responses":1,"optouts":0},"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 339814842\n 2020-06-18 11:17:44\n 1\n 0.087\n 1\n This is my message, click on my link [tracked-link]\n \n 1\n 0\n 0\n 1\n 0\n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-sms-delivery-status.json":{"post":{"tags":["Reporting"],"summary":"Get SMS Delivery Status","description":"\nRetrieves detailed information about messages sent to a specific recipient. This included full message content including populated variables.","security":[{"basicAuth":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent. This ID was returned in the send-sms response."},"msisdn":{"type":"integer","description":"Mobile number of recipient"}},"required":["message_id","msisdn"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message_id":{"type":"string","description":"Numeric ID assigned to the message that was sent"},"sender_id":{"type":"string","description":"Sender ID that message was sent from"},"mobile":{"type":"string","description":"Mobile number of recipient"},"send_at":{"type":"string","format":"date-time","description":"Date and time that message was sent from your account. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"datetime":{"type":"string","format":"date-time","description":"Date and time that message was delivered. This is the date returned in the DLR in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"message":{"type":"string","description":"Content of message sent. Includes populated variables"},"status":{"type":"object","description":"Report of message status Delivery reports are marked using a DLR (Delivery Receipt) or Acknowledgement (ACK) returned from the carrier, a DLR is a handset level report and an ACK is simply a response from the carrier that the request was received. Global carriers have different functionality available. See our Global Delivery List for details.","properties":{"delivered":{"type":"string","description":"Messages delivered"},"failed":{"type":"string","description":"Message bounced. For detailed bounce report use get-sms-sent"}}}}},"example":{"stats":{"message_id":339814842,"sender_id":61429720235,"mobile":61478038915,"send_at":"2020-06-18 11:17:44","datetime":"2020-06-18 11:17:00","status":"delivered","message":"This is my message, click on my link TapTh.is/hO2HL7b0"},"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 339814842\n 61429720235\n 61478038915\n 2020-06-18 11:17:44\n 2020-06-18 11:17:00\n delivered\n This is my message, click on my link TapTh.is/hO2HL7b0\n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-sms-sent-count.json":{"post":{"tags":["Reporting"],"summary":"Get SMS Sent Count","description":"Retrieves total number of SMS sent in a given timeframe","security":[{"basicAuth":[]}],"requestBody":{"required":false,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"start":{"type":"string","format":"date-time","description":"A date to start the report from. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Start and end date must be within 7 days. If start and end date are not supplied, the report will cover the last 24 hours only."},"end":{"type":"string","format":"date-time","description":"A date to end the report at. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Start and end date must be within 7 days. If start and end date are not supplied, the report will cover the last 24 hours only."}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","description":"The count of something"},"error":{"type":"object","properties":{"code":{"type":"string","description":"The error code"},"description":{"type":"string","description":"Description of the error"}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"count":6,"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 2","value":{"count":2,"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-user-sms-sent.json":{"post":{"tags":["Reporting"],"summary":"Get Activity Report","description":"Retrieve information on messages sent during a period of time","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date-time","description":"A date to start the report from. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Eg. 2020-04-27 06:00:00"},"end":{"type":"string","format":"date-time","description":"A date to end the report at. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Eg. 2020-04-27 06:00:00"},"msisdn":{"type":"integer","description":"Mobile number of contact being queried"},"page":{"type":"integer","description":"Page number, for pagination"},"max":{"type":"integer","description":"Maximum results returned per page"},"response_style":{"type":"string","description":"response_style = 'array' returns custom field lists as an array"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"object","properties":{"count":{"type":"integer","description":"The number of pages"},"number":{"type":"integer","description":"The current page number"}}},"total":{"type":"integer","description":"The total number of messages"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the message"},"message_id":{"type":"integer","description":"The ID of the message sent"},"message":{"type":"string","description":"The content of the message"},"sent_at":{"type":"string","format":"date-time","description":"The date and time the message was sent"},"msisdn":{"type":"integer","description":"The mobile number of the recipient"},"caller_id":{"type":"integer","description":"The caller ID"},"status":{"type":"string","description":"The status of the message"}}}},"error":{"type":"object","properties":{"code":{"type":"string","description":"The error code"},"description":{"type":"string","description":"A description of the error"}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"page":{"count":1,"number":1},"total":3,"messages":[{"id":937885838,"message_id":373181398,"message":"Hi there\n\nThis is a test message\n\nHave a great day\n\nOpt-out reply STOP","sent_at":"2020-10-09 00:49:21","msisdn":61478038915,"caller_id":61438123456,"status":"delivered"},{"id":937885264,"message_id":373180891,"message":"Hello SMS","sent_at":"2020-10-09 00:48:18","msisdn":61478038915,"caller_id":61428330912,"status":"delivered"},{"id":937884682,"message_id":373180707,"message":"This is a test message\nOpt-out reply STOP","sent_at":"2020-10-09 00:47:55","msisdn":61478038915,"caller_id":61438123456,"status":"delivered"}],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 2","value":{"page":{"count":1,"number":1},"total":3,"messages":[{"id":937885838,"message_id":373181398,"message":"Hi there\n\nThis is a test message\n\nHave a great day\n\nOpt-out reply STOP","sent_at":"2020-10-09 00:49:21","msisdn":61478038915,"caller_id":61438123456,"status":"delivered"},{"id":937885264,"message_id":373180891,"message":"Hello SMS","sent_at":"2020-10-09 00:48:18","msisdn":61478038915,"caller_id":61428330912,"status":"delivered"},{"id":937884682,"message_id":373180707,"message":"This is a test message\nOpt-out reply STOP","sent_at":"2020-10-09 00:47:55","msisdn":61478038915,"caller_id":61438123456,"status":"delivered"}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-contact-sms-stats.json":{"get":{"tags":["Reporting"],"summary":"Get SMS Sent to Account","description":"This will return paginated information regarding individual messages sent to provided mobile number.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["mobile"],"properties":{"mobile":{"type":"integer","description":"The mobile number of the recipient. Number must be defined in E.164 international format. You can use countrycode parameter to format numbers that are in local format.","example":61478038915},"countrycode":{"type":"string","description":"Format the mobile number to international format using 2-letter ISO 3166 country code or country name. 2 letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery. eg. In Australia 0422222222 will become 6142222222 when set to AU or Australia. If not set to numbers must be defined in E.164 international format.\n\n| COUNTRY | COUNTRY CODE | LOCAL | INTERNATIONAL |\n|----------------|--------------|------------|---------------|\n| Australia | au | 0491570156 | 61491570156 |\n| New Zealand | nz | 0212670129 | 64212670129 |\n| United Kingdom | gb | 0750017696 | 44750017696 |\n| United States | us | 2513551145 | 12513551145 |\n","example":"au"},"start":{"type":"string","format":"date-time","description":"The start date and time to filter messages. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the account registration to current date.","example":"2020-04-27 06:00:00"},"end":{"type":"string","format":"date-time","description":"The end date and time to filter messages. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. If start and end date not supplied, will get everything from the account registration to current date.","example":"2020-04-27 06:00:00"},"sort_field":{"type":"string","description":"Sort by one of the following fields\\\":\"\" delivery_status, message_id, datetime_send.","example":"delivery_status"},"order":{"type":"string","description":"Order by either ascending (asc) or descending (desc).","example":"asc"},"page":{"type":"integer","description":"Page number for pagination.","example":1},"max":{"type":"integer","description":"Maximum results returned per page.","example":10}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"object","properties":{"count":{"type":"integer"},"number":{"type":"integer"}}},"total":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"message_id":{"type":"integer"},"datetime_send":{"type":"string","format":"date-time"},"delivery_status":{"type":"string"}}}},"error":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"page":{"count":7,"number":1},"total":61,"records":[{"message_id":331201546,"datetime_send":"2020-05-14T14:33:25Z","delivery_status":"delivered"},{"message_id":332010765,"datetime_send":"2020-05-18T20:58:56Z","delivery_status":"delivered"},{"message_id":332013360,"datetime_send":"2020-05-18T21:18:46Z","delivery_status":"delivered"},{"message_id":332014798,"datetime_send":"2020-05-18T21:29:47Z","delivery_status":"delivered"},{"message_id":332015344,"datetime_send":"2020-05-18T21:32:40Z","delivery_status":"delivered"},{"message_id":332015379,"datetime_send":"2020-05-18T21:33:08Z","delivery_status":"delivered"},{"message_id":332015395,"datetime_send":"2020-05-18T21:33:20Z","delivery_status":"delivered"},{"message_id":332015893,"datetime_send":"2020-05-18T21:39:24Z","delivery_status":"delivered"},{"message_id":332016596,"datetime_send":"2020-05-18T21:54:48Z","delivery_status":"delivered"},{"message_id":332018705,"datetime_send":"2020-05-18T22:44:17Z","delivery_status":"delivered"}],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 2","value":{"page":{"count":7,"number":1},"total":61,"records":[{"message_id":331201546,"datetime_send":"2020-05-14T14:33:25Z","delivery_status":"delivered"},{"message_id":332010765,"datetime_send":"2020-05-18T20:58:56Z","delivery_status":"delivered"},{"message_id":332013360,"datetime_send":"2020-05-18T21:18:46Z","delivery_status":"delivered"},{"message_id":332014798,"datetime_send":"2020-05-18T21:29:47Z","delivery_status":"delivered"},{"message_id":332015344,"datetime_send":"2020-05-18T21:32:40Z","delivery_status":"delivered"},{"message_id":332015379,"datetime_send":"2020-05-18T21:33:08Z","delivery_status":"delivered"},{"message_id":332015395,"datetime_send":"2020-05-18T21:33:20Z","delivery_status":"delivered"},{"message_id":332015893,"datetime_send":"2020-05-18T21:39:24Z","delivery_status":"delivered"},{"message_id":332016596,"datetime_send":"2020-05-18T21:54:48Z","delivery_status":"delivered"},{"message_id":332018705,"datetime_send":"2020-05-18T22:44:17Z","delivery_status":"delivered"}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-sms-stats.json":{"post":{"tags":["Reporting"],"summary":"Get Message/Campaign Report","description":"Get the delivery status of a message or campaign that you have sent.\nCount of different reporting stats we collect. Delivery reports are marked using a DLR (Delivery Receipt) or Acknowledgement (ACK) returned from the carrier, a DLR is a handset level report and an ACK is simply a response from the carrier that the request was received. Global carriers have different functionality available. See our Global Delivery List for details.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent."}},"required":["message_id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"stats":{"type":"object","properties":{"hard_bounced":{"type":"integer","description":"Handset was disconnected."},"soft_bounced":{"type":"integer","description":"Message was undeliverable. Handset switched off, out of range or other temporary deliverability issue."},"total":{"type":"integer","description":"Number of messages sent."},"recipientCount":{"type":"integer","description":"Number of recipients message was sent to."},"delivered":{"type":"integer","description":"Messages delivered."},"pending":{"type":"integer","description":"No delivery report received from carrier. Allow up to 72hrs or use validity in send-sms call to process."},"bounced":{"type":"integer","description":"Total number of soft and hard bounces recorded."},"responses":{"type":"integer","description":"Replies received."},"opt-outs":{"type":"integer","description":"Recipients opted out. Either by reply or unsub link."},"link_hits":{"type":"integer","description":"Number of link hits recorded."}}},"error":{"type":"object","properties":{"code":{"type":"string","description":"Code indicating the status of the operation."},"description":{"type":"string","description":"Description of the operation status."}}}}},"example":{"stats":{"hard_bounced":0,"soft_bounced":0,"total":1,"recipientCount":1,"delivered":1,"pending":0,"bounced":0,"responses":1,"opt-outs":0,"link_hits":0},"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 0\n 0\n 1\n 1\n 1\n 0\n 0\n 1\n 0\n 0\n \n \n SUCCESS\n OK\n \n\n"}}}}}},"/get-sms-sent.json":{"post":{"tags":["Reporting"],"summary":"Get Message/Campaign Recipients","description":"Get information about a message send and it's recipients\nThis will return paginated information regarding individual recipients on a campaign or message send.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["message_id"],"properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message sent. This ID was returned in the send-sms response.\n","example":123456},"list_id":{"type":"integer","description":"Recipient list ID. Provide list_id if contact is not associated with a campaign send. It will look up custom data on this list for the contact and return it in the response.\n","example":789},"page":{"type":"integer","description":"Page number, for pagination.\n","example":1},"max":{"type":"integer","description":"Maximum results returned per page.\n","example":10},"delivery":{"type":"boolean","description":"Only show messages with specific delivery status.\n\n| VALUE | DESCRIPTION |\n|---------|---------------------------------|\n| delivered | Only return delivered messages |\n| failed | Only return failed messages |\n| pending | Only return pending messages |\n","example":true},"optouts":{"type":"boolean","description":"Whether to include opt outs.\n\n| VALUE | DESCRIPTION |\n|-------|-------------------------|\n| true | Only return opt outs |\n| false | Do not include opt outs |\n","example":false}}}}}},"responses":{"200":{"description":"Successful response containing information about the sent message or campaign.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"object","description":"Information about a message or campaign that you have sent.\n","properties":{"message_id":{"type":"integer","description":"Numeric ID assigned to the message that was sent."},"send_at":{"type":"string","format":"date-time","description":"Date and time that message was sent from your account. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"recipients":{"type":"integer","description":"Number of recipients message was sent to."},"cost":{"type":"number","description":"Total cost of all messages. Returned as value per account currency to 3 decimal places 0.000."},"sms":{"type":"integer","description":"Total number of message parts delivered. If the message is longer than 160 characters this will return count of all parts. Eg. if a 180 character message is delivered to 2 recipients. Value returned will be 4."},"message_content":{"type":"string","description":"Content of message sent."},"list":{"type":"object","description":"ID and name of list delivered to."},"delivery_stats":{"type":"object","description":"Report of messages delivered. Count of different reporting stats we collect. Delivery reports are marked using a DLR (Delivery Receipt) or Acknowledgement (ACK) returned from the carrier, a DLR is a handset level report and an ACK is simply a response from the carrier that the request was received. Global carriers have different functionality available. See our Global Delivery List for details.\n","properties":{"delivered":{"type":"integer","description":"Messages delivered."},"pending":{"type":"integer","description":"No delivery report received from carrier. Allow upto 72hrs or use validity in send-sms call to process."},"bounced":{"type":"integer","description":"Handset was disconnected, hard-bounce, or message was undeliverable due to handset switched off, out of range or other temporary deliverability issue, soft-bounce. For a specific bounced status use get-sms-sent."},"responses":{"type":"integer","description":"Replies received."},"optouts":{"type":"integer","description":"Recipients opted out, either by reply or unsub link."}}}}},"recipients":{"type":"object","description":"A paginated report of all the recipients delivered to in your message/campaign\n","properties":{"msisdn":{"type":"integer","description":"The mobile number of the recipient"},"first_name":{"type":"string","description":"First name of recipient as stored in contacts"},"last_name":{"type":"string","description":"Last name of the recipient as stored in contacts"},"delivery_status":{"type":"object","description":"","properties":{"delivered":{"type":"integer","description":"Message delivered to handset."},"pending":{"type":"integer","description":"No delivery report received from carrier. Allow upto 72hrs or use validity in send-sms call to process."},"bounced":{"type":"integer","description":"Handset was disconnected, hard-bounce, or message was undeliverable due to handset switched off, out of range or other temporary deliverability issue, soft-bounce. For a specific bounced status use get-sms-sent."},"responses":{"type":"integer","description":"Replies received."}}},"optout":{"type":"integer","description":"Set to true if recipient opted out."}}},"error":{"type":"object","description":"Error code and description.\n","properties":{"code":{"type":"string","description":"Error code."},"description":{"type":"string","description":"Description of the error."}}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 1\n 1\n \n 1\n \n 339814842\n 2020-06-18 11:17:44\n 1\n 0.087\n 1\n \n 1\n 0\n 0\n 1\n 0\n \n \n \n \n 61478038915\n \n \n delivered\n false\n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-message-report.json":{"post":{"tags":["Reporting"],"summary":"Get Message Report","description":"Retrieve information on messages sent during a period of time\nIt will also return all custom data fields associated to contacts in the list","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"start":{"type":"string","format":"date-time","description":"A date to start the report from. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Eg. 2020-04-27 06:00:00. Start and end date must be within 30 days. If start and end date not supplied will get everything from last 24 hrs only.\n"},"end":{"type":"string","format":"date-time","description":"A date to end the report at. Must be in ISO8601 format YYYY-MM-DD HH:MM:SS utilizing UTC Timezone. Eg. 2020-04-27 06:00:00. Start and end date must be within 30 days. If start and end date not supplied will get everything from last 24 hrs only.\n"},"list_id":{"type":"integer","description":"Recipient list. Provide list_id to look up custom data on this list for the contact and return it in the response.\n"},"number":{"type":"integer","description":"Virtual mobile number assigned to your account."},"type":{"type":"integer","description":"Message type, available options:\n\n- all\n- api\n- campaign\n- quick_sms\n- email_sms\n- keyword\n- test_sms\n"},"page":{"type":"integer","description":"Page number, for pagination."},"max":{"type":"integer","description":"Maximum results returned per page."},"response_style":{"type":"string","description":"response_style = 'array' returns custom field lists as an array.\n"}}}}}},"responses":{"200":{"description":"Successful response containing information about the sent messages.","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"object","properties":{"count":{"type":"integer"},"number":{"type":"integer"}}},"messages_total":{"type":"integer"},"sms_total":{"type":"integer"},"messages":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"integer"},"sms":{"type":"integer"},"cost":{"type":"number"},"sent_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"message":{"type":"string"},"pending":{"type":"integer"},"delivered":{"type":"integer"},"soft_bounced":{"type":"integer"},"hard_bounced":{"type":"integer"},"optouts":{"type":"integer"},"responses":{"type":"integer"},"msisdn":{"type":"integer"},"first_name":{"type":"string"},"last_name":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":"string"}}}}},"error":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"page":{"count":1,"number":1},"messages_total":2,"sms_total":2,"messages":[{"type":"campaign","id":368774873,"sms":1,"cost":-0.087,"sent_at":"2020-09-25 07:45:08","status":"completed","message":"test keyword\nOpt-out reply STOP","pending":0,"delivered":1,"soft_bounced":0,"hard_bounced":0,"optouts":0,"responses":1},{"type":"quick_sms","id":368772813,"sms":1,"cost":-0.087,"sent_at":"2020-09-25 07:36:06","status":"completed","message":"test","pending":0,"delivered":1,"soft_bounced":0,"hard_bounced":0,"optouts":0,"responses":0,"msisdn":61478038915}],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 2","value":{"page":{"count":1,"number":1},"messages_total":2,"sms_total":2,"messages":[{"type":"campaign","id":368774873,"sms":1,"cost":-0.087,"sent_at":"2020-09-25 07:45:08","status":"completed","message":"test keyword\nOpt-out reply STOP","pending":0,"delivered":1,"soft_bounced":0,"hard_bounced":0,"optouts":0,"responses":1},{"type":"quick_sms","id":368772813,"sms":1,"cost":-0.087,"sent_at":"2020-09-25 07:36:06","status":"completed","message":"test","pending":0,"delivered":1,"soft_bounced":0,"hard_bounced":0,"optouts":0,"responses":0,"msisdn":61478038915,"first_name":"Ella","last_name":"","fields":{"City":"Sydney","Postcode":2000}}],"error":{"code":"SUCCESS","description":"OK"}}},"example-2":{"summary":"Example 3","value":{"page":{"count":1,"number":1},"messages_total":1,"sms_total":1,"messages":[{"type":"campaign","id":368774873,"sms":1,"cost":-0.087,"sent_at":"2020-09-25 07:45:08","status":"completed","message":"test keyword\nOpt-out reply STOP","pending":0,"delivered":1,"soft_bounced":0,"hard_bounced":0,"optouts":0,"responses":1}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-list.json":{"post":{"tags":["Reporting"],"summary":"Get Information About A List","description":"Get detailed information about a list, return custom fields and its contacts. \nThis will return paginated information regarding individual contacts on a list and their data.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"integer","description":"Numeric ID assigned to the list being queried. List ID's can be retrieved using get-lists."},"page":{"type":"integer","description":"Page number, for pagination."},"max":{"type":"integer","description":"Maximum results returned per page."},"members":{"type":"boolean","description":"Only show contacts with specific status. Returns all contacts if not specified.\n\n| VALUE | DESCRIPTION |\n|---------|--------------------------------------------------------|\n| active | Only return active contacts |\n| inactive| Only return deleted contacts |\n| none | Do not get contacts, just list metadata |\n"},"response_style":{"type":"string","description":"'array' returns custom field lists as an array."}}}}}},"responses":{"200":{"description":"Successful response containing information about the list and its members.","content":{"application/json":{"schema":{"type":"object","properties":{"members_total":{"type":"integer","description":"Count of number of contacts on list. This will include deleted contacts."},"id":{"type":"integer","description":"Numeric ID of the list."},"name":{"type":"string","description":"Name of the list."},"created":{"type":"string","format":"date-time","description":"Date list was first created. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"members_active":{"type":"integer","description":"Count of active contacts on list."},"fields":{"type":"array","items":{"type":"string"},"description":"List of custom field names."},"members":{"type":"array","items":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list contact is on."},"msisdn":{"type":"integer","description":"Mobile number of contact."},"first_name":{"type":"string","description":"First name of contact."},"last_name":{"type":"string","description":"Last name of contact."},"created_at":{"type":"string","format":"date-time","description":"Date and time that contact was first added to list. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"status":{"type":"string","description":"Status of contact.","enum":["active","inactive"]},"fields":{"type":"object","additionalProperties":{"type":"string"}}}},"description":"Information about contacts on the list."}}},"examples":{"example-0":{"summary":"Example 2","value":{"page":{"count":1,"number":1},"members_total":5,"id":4070887,"name":"My Test List","created":"2020-05-14 03:42:31","members_active":3,"fields":[],"members":[{"list_id":4070887,"msisdn":61429625067,"first_name":"Ella","last_name":"B","created_at":"2020-06-23 23:23:01","status":"active"},{"list_id":4070887,"msisdn":61429703715,"first_name":"Brad","last_name":"Down","created_at":"2020-06-23 23:23:33","status":"active"},{"list_id":4070887,"msisdn":61429720235,"first_name":"Paul","last_name":"Krajewski","created_at":"2020-06-23 23:21:54","status":"active"}],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"page":{"count":1,"number":1},"members_total":2,"id":4213644,"name":"Customer List","created":"2020-06-24 05:25:48","members_active":0,"fields":[{"name":"field_1","value":"Email"},{"name":"field_2","value":"Postcode"},{"name":"field_3","value":"ID"},{"name":"field_4","value":"Handset"}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-lists.json":{"get":{"tags":["Reporting"],"summary":"Get Information About All Lists","description":"Get information about all lists in your account\nThis will return metadata on all your lists\n\n## Pagination\n\nThis endpoint supports pagination using the page/max pattern:\n\n**Parameters:**\n- `page`: Page number starting from 1 (default: 1)\n- `max`: Maximum results per page (default: varies, recommended: 10-50)\n\n**Response Structure:**\nThe response includes pagination metadata:\n- `page.count`: Total number of pages available\n- `page.number`: Current page number\n- `lists_total`: Total count of lists in your account\n\n**Navigation Examples:**\n```\n# First page of lists (default)\nGET /get-lists.json\n\n# Second page with 20 results per page\nGET /get-lists.json?page=2&max=20\n\n# Get all lists with larger page size\nGET /get-lists.json?max=50\n\n# Navigate through all pages\nGET /get-lists.json?page=1&max=25\nGET /get-lists.json?page=2&max=25\n# Continue until page.number >= page.count\n```\n\n**Best Practices:**\n- Use max=10-25 for UI display purposes\n- Use max=50 for administrative tasks or bulk operations\n- Check page.count to determine if more pages exist\n- For accounts with many lists, use appropriate page sizes to balance performance and usability\n- Consider filtering or searching if you need specific lists rather than paginating through all","security":[{"basicAuth":[]}],"parameters":[{"in":"query","name":"page","schema":{"type":"integer"},"description":"Page number for pagination."},{"in":"query","name":"max","schema":{"type":"integer"},"description":"Maximum results returned per page."},{"in":"query","name":"response_style","schema":{"type":"string","enum":["array"]},"description":"Response style. Set to 'array' to return custom field lists as an array.\n"}],"responses":{"200":{"description":"Successful response containing information about the lists in your account.","content":{"application/json":{"schema":{"type":"object","properties":{"lists_total":{"type":"integer","description":"Count of the number of lists in your account"},"lists":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Numeric ID of the list"},"name":{"type":"string","description":"Name of the list"},"created":{"type":"string","format":"date-time","description":"Date and time that the list was first created. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone.\n"},"members_active":{"type":"integer","description":"Count of active members on the list"},"fields":{"type":"array","items":{"type":"string"},"description":"Custom field name. List of custom field names by field_n where n is an integer between 1 and 10.\n"},"members_total":{"type":"integer","description":"Total number of contacts on the list"}}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"page":{"count":1,"number":1},"lists_total":2,"lists":[{"id":4070887,"name":"My Test List","created":"2020-05-14 03:42:31","members_active":3,"fields":[],"members_total":5},{"id":4086208,"name":"Quick SMS Favourites List","created":"2020-05-19 07:43:28","members_active":0,"fields":[],"members_total":0}],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"page":{"count":1,"number":1},"lists_total":6,"lists":[{"id":4086208,"name":"Quick SMS Favourites List","created":"2020-05-19 07:43:28","members_active":0,"fields":[],"members_total":0},{"id":4213644,"name":"Customer List","created":"2020-06-24 05:25:48","members_active":0,"fields":[{"name":"field_1","value":"Email"},{"name":"field_2","value":"Postcode"},{"name":"field_3","value":"ID"},{"name":"field_4","value":"Handset"}],"members_total":2},{"id":4213652,"name":"User List","created":"2020-06-24 05:26:59","members_active":0,"fields":[{"name":"field_1","value":"Email"},{"name":"field_2","value":"Postcode"},{"name":"field_3","value":"ID"}],"members_total":0},{"id":4214121,"name":"My Test List","created":"2020-06-24 07:06:42","members_active":3,"fields":[],"members_total":4},{"id":4214634,"name":"auto list for keyword NEWS","created":null,"members_active":0,"fields":[],"members_total":0},{"id":4214637,"name":"auto list for keyword GYM","created":null,"members_active":0,"fields":[],"members_total":0}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-contact.json":{"post":{"tags":["Reporting"],"summary":"Get Contact Information","description":"Get information about a contact on a list","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id","msisdn"],"properties":{"list_id":{"type":"integer","description":"Numeric ID of the list contact is on."},"msisdn":{"type":"integer","description":"Mobile number of contact being queried."},"response_style":{"type":"string","description":"Indicates the response style. Use 'array' to return custom field lists as an array.\n"}}}}}},"responses":{"200":{"description":"Successful response containing information about the contact.","content":{"application/json":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list contact is on."},"msisdn":{"type":"integer","description":"Mobile number of contact."},"first_name":{"type":"string","description":"First name of contact."},"last_name":{"type":"string","description":"Last name of contact."},"created_at":{"type":"string","format":"date-time","description":"Date and time that contact was first added to list. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"status":{"type":"string","description":"Status of contact.","enum":["active","inactive"]},"fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom field value. List of custom field values by field name."}}},"examples":{"example-0":{"summary":"Example 1","value":{"list_id":4070887,"msisdn":61429625067,"first_name":"Ella","last_name":"B","created_at":"2020-06-23 23:23:01","status":"active","error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"list_id":4213652,"msisdn":61423093477,"first_name":"Charlie","last_name":"Green","created_at":"2020-06-30 04:27:19","status":"active","fields":[{"name":"Email","value":"CharlieGreen@gmail.com"},{"name":"Postcode","value":2758},{"name":"ID","value":""},{"name":"Address","value":""}],"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/add-list.json":{"post":{"tags":["Contacts & Lists"],"summary":"Add List","description":"Create New Contact List","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"A unique name for the list.","example":"MyList"},"field_n":{"type":"string","description":"Custom field name. Firstname and lastname are created by default. There can be up to 10 extra custom fields. 'n' is an integer between 1 and 10.","example":"email"},"response_style":{"type":"string","description":"Indicates the response style. response_style = 'array' returns custom field lists as an array.","enum":["array"],"default":null}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for the list.","example":12345},"name":{"type":"string","description":"Custom field name. Firstname and lastname are created by default. There can be up to 10 extra custom fields. 'n' is an integer between 1 and 10.","example":"email"},"created":{"type":"string","format":"date-time","description":"Date and time list was created. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone.","example":"2024-04-23T12:34:56Z"},"members_active":{"type":"integer","description":"Number of active members in the list. Always returns 0 for a new list.","example":0},"fields":{"type":"array","items":{"type":"string"},"description":"Names of created custom fields.","example":["email","phone"]},"errors":{"type":"array","items":{"type":"object","properties":{"CODE":{"type":"string","description":"Error code.","example":"MISSING_PARAM"},"HEADER":{"type":"integer","description":"HTTP status code.","example":400},"DESCRIPTION":{"type":"string","description":"Description of the error.","example":"Field parameter is missing (eg. field_n)"}}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"id":4213644,"name":"Customer List","created":"2020-06-24 05:25:48","members_active":0,"fields":{"field_1":"Email","field_2":"Postcode","field_3":"ID"},"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"id":4236712,"name":"New Contacts 2","created":"2020-06-30 05:02:15","members_active":0,"fields":[{"name":"field_1","value":"FirstName"},{"name":"field_2","value":"LastName"}],"error":{"code":"SUCCESS","description":"OK"}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 4213652\n User List\n 2020-06-24 05:26:59\n 0\n \n Email\n Postcode\n ID\n \n \n SUCCESS\n OK\n \n"}}}}}},"/add-field-to-list.json":{"post":{"tags":["Contacts & Lists"],"summary":"Add Field to List","description":"Add or update custom fields on an existing list","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id","field_n"],"properties":{"list_id":{"type":"integer","description":"ID of the list to add to.","example":12345},"field_n":{"type":"array","items":{"type":"string"},"description":"Custom field names. Firstname and lastname are created by default. There can be up to 10 extra custom fields. 'n' is an integer between 1 and 10.","example":"address","minItems":1},"response_style":{"type":"string","description":"Indicates the response style. If set to response_style='array', custom field lists are returned as an array.","example":"array"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"custom_n":{"type":"array","items":{"type":"string"},"description":"Custom field names created.","example":["email","phone"]},"id":{"type":"integer","description":"ID of the list added to.","example":12345},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code.","example":"MISSING_PARAM"},"header":{"type":"integer","description":"HTTP status code.","example":400},"description":{"type":"string","description":"Description of the error.","example":"Field parameter is missing (e.g., field_n)"}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"custom_4":"Handset","id":4213644,"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"fields":[{"name":"custom_4","value":"Address"}],"id":4213652,"error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/remove-list.json":{"post":{"tags":["Contacts & Lists"],"summary":"Remove List","description":"Delete a list and its contacts","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list to be removed. List IDs can be retrieved with the get-lists request."}},"required":["list_id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"SUCCESS"},"description":{"type":"string","example":"OK"}}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n SUCCESS\n OK\n \n"}}}}}},"/add-to-list.json":{"post":{"tags":["Contacts & Lists"],"summary":"Add Contact to List","description":"Adds a new contact to a list\nIf a contact is added that already exists it will be ignored, not updated.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id","msisdn"],"properties":{"list_id":{"type":"integer","description":"Numeric ID of the list to be added to. List IDs can be retrieved with the get-lists request.","example":12345},"msisdn":{"type":"string","description":"Mobile number being added to the list. Invalid numbers will be ignored. Number must be defined in E.164 international format. You can use the countrycode parameter to format numbers that are in local format."},"countrycode":{"type":"string","description":"2 letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery. eg. In Australia 0422222222 will become 6142222222 when set to AU or Australia. If not set to numbers must be defined in E.164 international format.\n\n| COUNTRY | COUNTRY CODE | LOCAL | INTERNATIONAL |\n|---------------|--------------|-------------|----------------|\n| Australia | au | 0491570156 | 61491570156 |\n| New Zealand | nz | 0212670129 | 64212670129 |\n| United Kingdom| gb | 0750017696 | 44750017696 |\n| United States | us | 2513551145 | 12513551145 |\n","example":"AU"},"first_name":{"type":"string","description":"First name of the contact being added.","example":"John"},"last_name":{"type":"string","description":"Last name of the contact being added.","example":"Doe"},"field_n":{"type":"string","description":"Custom field name. Firstname and lastname are created by default. There can be up to 10 extra custom fields. n is an integer between 1 and 10.\n","example":"Email"},"response_style":{"type":"string","description":"Determines the response style. 'array' returns custom field lists as an array.\n","example":"array"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list that contact was added to."},"msisdn":{"type":"string","description":"Mobile number of contact that was added."},"firstname":{"type":"string","description":"First name of contact added."},"lastname":{"type":"string","description":"Last name of contact added."},"created_at":{"type":"string","description":"Date and time contact was added. Returned in ISO8601 format YYYY-MM-DD HH:MM:SS in UTC Timezone."},"status":{"type":"string","description":"Status of contact. This is always set to active with this request."},"fields":{"type":"object","description":"Values assigned to custom fields."},"errors":{"type":"object","properties":{"BAD_MOBILE":{"type":"string","description":"The mobile provided is invalid."},"BAD_MOBILE_COUNTRY":{"type":"string","description":"The country of the mobile provided is unavailable."},"OPTOUT":{"type":"string","description":"The recipient provided was previously opted out."},"DUPLICATE_DELETED":{"type":"string","description":"The recipient provided was previously deleted."},"KEY_EXISTS":{"type":"string","description":"Contact with such mobile already exists."}}}}},"examples":{"example-0":{"summary":"Example 1","value":{"list_id":4213644,"msisdn":61429625067,"first_name":"","last_name":"","created_at":"2020-06-24 07:06:57","status":"active","fields":{"Email":"Telstra","Postcode":"","ID":"","Handset":""},"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"list_id":4213652,"msisdn":61429625067,"first_name":"","last_name":"","created_at":"2020-06-30 05:11:12","status":"active","fields":[{"name":"Email","value":"ID"},{"name":"Postcode","value":"Address"},{"name":"ID","value":""},{"name":"Address","value":""}],"error":{"code":"SUCCESS","description":"OK"}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 4213644\n 61429720235\n \n \n 2020-06-24 07:09:03\n active\n \n Telstra\n \n \n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/edit-list-member.json":{"post":{"tags":["Contacts & Lists"],"summary":"Update Contact","description":"Edit a contact that exists on a list\nUsed for adding new or updated custom data to a contact on a list.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id","msisdn"],"properties":{"list_id":{"type":"integer","description":"Numeric ID of the list to be added to. This ID is the numerical reference to one of your recipient lists. It can be found in the URL and displayed on a destination list page in your account. A list ID can also be created using the add-list call.","example":12345},"msisdn":{"type":"string","description":"Mobile number of contact being updated. Invalid numbers will be ignored. Number must be defined in E.164 international format.","example":"61478038915"},"first_name":{"type":"string","description":"First name of contact being added."},"last_name":{"type":"string","description":"Last name of contact being added."},"field_n":{"type":"string","description":"Custom field name. Firstname and lastname are created by default. There can be up to 10 extra custom fields. n is an integer between 1 and 10."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"Numeric ID of the list that contact was added to."},"msisdn":{"type":"string","description":"Mobile number of contact that was added."},"firstname":{"type":"string","description":"First name of contact added."},"lastname":{"type":"string","description":"Last name of contact added."},"created_at":{"type":"string","description":"Date and time contact was added. Returned in ISO8601 format (YYYY-MM-DD HH:MM:SS) in UTC Timezone."},"status":{"type":"string","description":"Status of contact. This is always set to active with this request."},"fields":{"type":"object","description":"Values assigned to custom fields."},"errors":{"type":"object","description":"Error messages related to this call. See the API Introduction for general errors.","properties":{"BAD_MOBILE":{"type":"string","description":"The mobile provided is invalid."},"BAD_MOBILE_COUNTRY":{"type":"string","description":"The country of the mobile provided is unavailable."},"OPTOUT":{"type":"string","description":"The recipient provided was previously opted out."},"DUPLICATE_DELETED":{"type":"string","description":"The recipient provided was previously deleted."},"KEY_EXISTS":{"type":"string","description":"Contact with such mobile already exists."}}}}},"example":{"list_id":4213644,"msisdn":61429720235,"first_name":"","last_name":"","created_at":"2020-06-24 07:09:03","status":"active","fields":{"Email":"Optus","Postcode":"","ID":"","Handset":""},"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 4213644\n 61429720235\n \n \n 2020-06-24 07:09:03\n active\n \n Optus\n \n \n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/delete-from-list.json":{"post":{"tags":["Contacts & Lists"],"summary":"Remove Contact","description":"Delete contact from one or all lists","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["msisdn"],"properties":{"list_id":{"type":"integer","description":"Numeric ID of list to remove contact from. If set to 0 (zero), the contact will be removed from all lists."},"msisdn":{"type":"string","description":"Mobile number of contact being removed. Number must be defined in E.164 international format. You can use countrycode parameter to format numbers that are in local format."},"countrycode":{"type":"string","description":"Format the to number in international format. 2 letter ISO 3166 format country code or country name. Automatically formats numbers to international format required for reliable SMS delivery. If not set, numbers must be defined in E.164 international format.\n\n| COUNTRY | COUNTRY CODE | LOCAL | INTERNATIONAL |\n| -------------- | ------------ | ---------- | -------------- |\n| Australia | au | 0491570156 | 61491570156 |\n| New Zealand | nz | 0212670129 | 64212670129 |\n| United Kingdom | gb | 0750017696 | 44750017696 |\n| United States | us | 2513551145 | 12513551145 |\n"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"list_ids":{"type":"array","description":"One or more list ID's that contact was removed from","items":{"type":"integer"}},"error":{"type":"object","description":"Error messages related to this call","properties":{"NOT_FOUND":{"type":"string","description":"Contact with such mobile does not exist in this list"}}}}},"examples":{"example-0":{"summary":"Example 2","value":{"list_ids":[4263168],"error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 3","value":{"list_ids":[4263168],"error":{"code":"SUCCESS","description":"OK"}}}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 4213644\n \n \n SUCCESS\n OK\n \n"}}}}}},"/optout-list-member.json":{"post":{"tags":["Contacts & Lists"],"summary":"Opt Out/Unsubscribe Contact","description":"Opt Out List Member\n\nUnsubscribe contact from one or all lists \nIf sending marketing by law you must enable an unsubscribe method. [Anti-Spam Policy](https://help.kudosity.com/s/article/44001077041-anti-spam-policy)","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["msisdn"],"properties":{"list_id":{"type":"integer","description":"Numeric ID of list to opt out contact from. If set to 0 (zero), the contact will be opted out from all lists. If your Global Opt Out (GOO) list is switched on, unsubscribing from a single list will unsubscribe from all lists and add to your GOO list.\n[How to manage your Global Opt Out list (GOO)](https://support.transmitsms.com/support/solutions/articles/44001940660-how-to-manage-your-global-opt-out-list-goo-)\n","example":12345},"msisdn":{"type":"integer","description":"Mobile number of contact being opted out. Number must be defined in E.164 international format."}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"list_ids":{"type":"array","description":"One or more list ID's that contact was opted out of.","items":{"type":"integer"},"example":[123,456,789]},"error":{"type":"object","description":"Error messages related to this call.","properties":{"CODE":{"type":"string","description":"Error code."},"HEADER":{"type":"integer","description":"HTTP header."},"DESCRIPTION":{"type":"string","description":"Description of the error."}},"example":{"CODE":"NOT_FOUND","HEADER":400,"DESCRIPTION":"Contact with such mobile does not exist in this list."}}}},"example":{"list_ids":[4214121],"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 4214121\n \n \n SUCCESS\n OK\n \n"}}}}}},"/add-contacts-bulk-progress.json":{"post":{"tags":["Contacts & Lists"],"summary":"Check Progress Of Import","description":"For large lists in excess of 50,000 contacts, it can take some time to process. This request will let you see the progress of the import.","security":[{"basicAuth":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"integer","description":"ID of the list to be checked. This ID is the numerical reference to the list you uploaded the file to."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"list_id":{"type":"integer","description":"ID of the list being checked"},"status":{"type":"string","description":"Status of upload","enum":["completed","in progress","failed"]},"importlength":{"type":"integer","description":"Total number of records in file. This count will include invalid numbers."},"completed":{"type":"integer","description":"Number of contacts processed. This gives us an update of all numbers processed, should be equal to importlength when complete."},"duplicates":{"type":"integer","description":"Number of duplicate contacts excluded from import. Any number that matches an existing contact on the list will not be imported. Only the first record imported is kept."},"skipped":{"type":"integer","description":"Number of rows in the file skipped. This can be caused by blank rows, invalid numbers, or rows with a blank record in the mobile column."},"optout":{"type":"integer","description":"Number of contacts that were already opted out."},"imported":{"type":"integer","description":"Number of contacts successfully imported."}}},"example":{"list_id":4214121,"status":"completed","importlength":2,"completed":2,"duplicates":0,"skipped":0,"optout":0,"imported":2,"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 4214121\n completed\n 2\n 2\n 0\n 0\n 0\n 2\n \n SUCCESS\n OK\n \n"}}}}}},"/lease-number.json":{"post":{"tags":["Numbers"],"summary":"Add Dedicated Virtual Number","description":"Lease Number\n\nDedicated virtual numbers are used to receive MO (Mobile Originated) messages. They also make sure that all of your messages are sent from a number that is always the same. Dedicated Virtual Number availability is limited to certain countries. Check [Global Sender ID Information](https://portal.transmitsms.com/s/article/Global-Sender-ID-Information) for availability for your destination coutry.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"number":{"type":"integer","description":"Number to lease. Omit this field to be given a random number. Use \"get-numbers\" to find out which numbers are currently available."},"forward_url":{"type":"string","format":"uri","description":"Assign a callback URL to the number. A URL on your system which we can call to notify you of incoming messages. If required, this parameter can be different for each message sent. Will override the default Reply Callback URL if set in the SETTINGS section of your account."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Number assigned to your account"},"price":{"type":"number","description":"Monthly cost of number leased in account currency"},"next_charge":{"type":"string","format":"date","description":"Date of next monthly charge. In ISO8601 format (YYYY-MM-DD)."},"auto_renew":{"type":"boolean","description":"Returns auto_renew status of number. Always returns true for new number."}}},"examples":{"example-0":{"summary":"Example 2","value":{"number":61418279031,"price":25,"next_charge":"2020-07-24","auto_renew":true,"status":"active","error":{"code":"SUCCESS","description":"OK"}}},"example-1":{"summary":"Example 1","value":{"number":61417861086,"price":25,"next_charge":"2020-07-24","auto_renew":true,"status":"active","error":{"code":"SUCCESS","description":"OK"}}}}}}}}}},"/get-numbers.json":{"get":{"tags":["Numbers"],"summary":"Get Numbers","description":"Edit inbound options for a dedicated virtual number.\n\n**Get a list of numbers leased by you or available to be leased.**\n\nDedicated virtual numbers are used to receive MO (Mobile Originated) messages. They also make sure that all of your messages are sent from a number that is always the same. Dedicated Virtual Number availability is limited to certain countries. Check [Global SMS delivery list](https://support.transmitsms.com/support/solutions/articles/44001940675-global-sms-delivery-list) for availability for your destination country.\n\n## Pagination\n\nThis endpoint supports pagination using the page/max pattern:\n\n**Parameters:**\n- `page`: Page number starting from 1 (default: 1)\n- `max`: Maximum results per page (default: varies, recommended: 10-100)\n- `filter`: Choose 'owned' or 'available' (default: owned)\n\n**Response Structure:**\nThe response includes pagination metadata:\n- `page.count`: Total number of pages available\n- `page.number`: Current page number\n- `numbers_total`: Total count of numbers matching the filter\n\n**Navigation Examples:**\n```\n# First page of owned numbers (default)\nGET /get-numbers.json\n\n# Second page with 20 results per page\nGET /get-numbers.json?page=2&max=20\n\n# Available numbers for leasing\nGET /get-numbers.json?filter=available&max=50\n\n# Navigate through all pages\nGET /get-numbers.json?page=1&max=100\nGET /get-numbers.json?page=2&max=100\n# Continue until page.number >= page.count\n```\n\n**Best Practices:**\n- Use max=10-20 for UI display purposes\n- Use max=50-100 for administrative tasks\n- Check page.count to determine if more pages exist\n- Filter by 'owned' vs 'available' to reduce dataset size\n- For large accounts, consider filtering by country or status","security":[{"basicAuth":[]}],"parameters":[{"in":"query","name":"filter","schema":{"type":"string","enum":["owned","available"]},"description":"Choose owned or available. Default is owned."},{"in":"query","name":"page","schema":{"type":"integer"},"description":"Page number for pagination."},{"in":"query","name":"max","schema":{"type":"integer"},"description":"Maximum results returned per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"object","properties":{"count":{"type":"integer","description":"Number of pages"},"number":{"type":"integer","description":"Page number"}}},"numbers_total":{"type":"integer","description":"Total amount of numbers leased"},"numbers":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string","description":"Number assigned to your account"},"price":{"type":"number","description":"Monthly cost of number leased"},"next_charge":{"type":"string","format":"date","description":"Date of next monthly charge in YYYY-MM-DD format"},"auto_renew":{"type":"boolean","description":"Returns auto_renew status of number"}}}}}},"example":{"page":{"count":1,"number":1},"numbers_total":1,"filter":"owned","numbers":[{"number":61436446702,"price":25,"auto_renew":true,"next_charge":"2020-07-15","status":"active"}],"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 1\n 1\n \n 1\n owned\n \n \n 61436446702\n 25\n true\n 2020-07-15\n active\n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-number.json":{"post":{"tags":["Numbers"],"summary":"Get Number Information","description":"Get detailed information about a number you have leased.\n","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["number"],"properties":{"number":{"type":"integer","description":"Number to retrieve Omit this field to be given a random number. Use get-numbers to find out which numbers are currently available."}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Number assigned to your account"},"price":{"type":"number","description":"Monthly cost of number leased in account currency"},"next_charge":{"type":"string","format":"date","description":"Date of next monthly charge in ISO8601 format (YYYY-MM-DD)"},"auto_renew":{"type":"boolean","description":"Returns auto_renew status of number"},"status":{"type":"string","description":"Status of number (e.g., active)"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code"},"header":{"type":"integer","description":"HTTP status code"},"description":{"type":"string","description":"Description of the error"}}}}},"example":{"number":61418279031,"price":25,"auto_renew":true,"next_charge":"2020-07-24","status":"active","error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 61418279031\n 25\n true\n 2020-07-24\n active\n \n SUCCESS\n OK\n \n"}}}}}},"/edit-number-options.json":{"post":{"tags":["Numbers"],"summary":"Edit Number Options","description":"Edit inbound options for a dedicated virtual number.\n\nThese options adjust behaviour for messages that are sent to this number.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["number"],"properties":{"number":{"type":"integer","description":"Dedicated virtual number assigned to your account. A list of numbers on your account can be retrieved using get-numbers.","example":1234567890},"forward_email":{"type":"string","description":"Forward incoming SMS to a set of email addresses. Emails can be comma separated.","example":"example1@example.com, example2@example.com"},"forward_sms":{"type":"integer","description":"Forward incoming SMS to a set of mobile numbers. Numbers must be in international format. Can be comma separated.","example":"1234567890, 9876543210"},"forward_url":{"type":"string","description":"Forward incoming messages to a callback URL.","example":"http://example.com/callback"},"list_id":{"type":"integer","description":"Add senders of incoming messages to this list.","example":1234},"welcome_message":{"type":"string","description":"Auto responder for all messages received.","example":"Welcome to our service! Thank you for contacting us."},"members_message":{"type":"string","description":"Auto-response if the number is already on the list. Must be adding the number to a list."}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code indicating success.","example":"SUCCESS"},"description":{"type":"string","description":"Description of the success.","example":"OK"}}}}},"example":{"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n SUCCESS\n OK\n \n"}}}}}},"/add-email.json":{"post":{"tags":["Email SMS"],"summary":"Add Email","description":"Authorise Email Address","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"Email address to register. You may also register a wild-card email which allows any user on the same domain to use Email to SMS. Wild-card format: *@example.com\n"},"max_sms":{"type":"integer","description":"The maximum number of SMS messages to send from one email message sent from this email address.\nPossible values:\n\n- 1 - up to 160 characters (default)\n- 2 - up to 306 characters\n- 3 - up to 459 characters\n- 4 - up to 612 characters\n","enum":[1,2,3,4],"default":1},"number":{"type":"integer","description":"Optional dedicated virtual number"}}}}}},"responses":{"200":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful."},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code indicating the status of the operation."},"description":{"type":"string","description":"Description of the error."}}}}},"example":{"success":true,"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n true\n \n SUCCESS\n OK\n \n"}}}}}},"/delete-email.json":{"post":{"tags":["Email SMS"],"summary":"Delete Email","description":"Remove an email address from the Email to SMS authorised list.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email address to remove. Use a wild-card email to remove all emails on that domain."}},"required":["email"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the operation was successful."},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code if the operation was not successful."},"description":{"type":"string","description":"Description of the error if the operation was not successful."}}}}},"example":{"success":true,"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n true\n \n SUCCESS\n OK\n \n"}}}}}},"/add-keyword.json":{"post":{"tags":["Keywords"],"summary":"Add Keyword","description":"Add New Keyword","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["keyword","number"],"properties":{"keyword":{"type":"string","description":"The first word of a text message","example":"example"},"number":{"type":"integer","description":"The dedicated virtual number that the keyword belongs to","example":1234567890},"reference":{"type":"string","description":"Your own reference (up to 100 characters)","example":"reference123"},"list_id":{"type":"integer","description":"ID of a list to add respondents to, list ID's can be found in the title of a list or in the list page URL","example":987654321},"welcome_message":{"type":"string","description":"SMS message to send to new members","example":"Welcome to our service!"},"members_message":{"type":"string","description":"SMS message to existing members","example":"Welcome back!"},"activate":{"type":"boolean","description":"Whether to make the keyword active immediately.","default":true},"forward_url":{"type":"string","format":"url","description":"Forward messages to a URL"},"forward_email":{"type":"string","format":"email","description":"Forward messages to a set of email addresses"},"forward_sms":{"type":"integer","description":"Forward messages to a set of MSISDNs"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"keyword":{"type":"string","example":"NEWS"},"reference":{"type":"string","example":"Gym news"},"number":{"type":"integer","example":61418279031},"list_id":{"type":"integer","example":4214634},"welcome_message":{"type":"string","example":"Welcome to Mike's gym news"},"member_message":{"type":"string","example":"Thanks for your continued support"},"forward_url":{"type":"string","example":"http://example.com/gym-promo"},"forward_sms":{"type":"string","example":"61491570157,61491570158"},"forward_email":{"type":"string","example":"news@example.com,mike@example.com"},"status":{"type":"string","example":"open"},"billing_date":{"type":"string","format":"date","example":"2020-07-24"},"error":{"type":"object","properties":{"code":{"type":"string","example":"SUCCESS"},"description":{"type":"string","example":"OK"}}}}},"example":{"keyword":"NEWS","reference":"Gym news","number":61418279031,"list_id":4214634,"welcome_message":"Welcome to Mike's gym news","member_message":"Thanks for your continued support","forward_url":"http://example.com/gym-promo","forward_sms":"61491570157,61491570158","forward_email":"news@example.com,mike@example.com","status":"open","billing_date":"2020-07-24","error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n GYM\n Gym news\n 61418279031\n 4214637\n Welcome to Mike's gym news\n Thanks for your continued support\n http://example.com/gym-promo\n 61491570157,61491570158\n news@example.com,mike@example.com\n open\n 2020-07-24\n \n SUCCESS\n OK\n \n"}}}}}},"/edit-keyword.json":{"post":{"tags":["Keywords"],"summary":"Edit Keyword","description":"Edit an existing keyword.","security":[{"basicAuth":[]}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["keyword","number"],"properties":{"keyword":{"type":"string","description":"The first word of a text message.","example":"keyword"},"number":{"type":"integer","description":"The dedicated virtual number that the keyword belongs to.","example":123456789},"reference":{"type":"string","description":"Your own reference (up to 100 characters).","example":"reference"},"status":{"type":"string","description":"Open, will set the Keyword to being active. Closed, will close the Keyword.\n","enum":["Open","Closed"]},"list_id":{"type":"integer","description":"ID of a list to add respondents to. List ID's can be found in the title of a list or in the list page URL.","example":987654321},"welcome_message":{"type":"string","description":"SMS message to send to new members.","example":"Welcome to our service!"},"members_message":{"type":"string","description":"SMS message to existing members.","example":"Welcome back!"},"activate":{"type":"boolean","description":"Whether to make the keyword active immediately.","default":true},"forward_url":{"type":"string","format":"uri","description":"Forward messages to a URL.","example":"http://example.com/forward"},"forward_email":{"type":"string","format":"email","description":"Forward messages to a set of email addresses.","example":"example@example.com"},"forward_sms":{"type":"array","items":{"type":"integer"},"description":"Forward messages to a set of msisdns.","example":[123456789,987654321]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"keyword":{"type":"string","example":"NEWS","description":"The keyword."},"reference":{"type":"string","example":"Gym news","description":"Your own reference."},"number":{"type":"integer","example":61418279031,"description":"The dedicated virtual number."},"list_id":{"type":"integer","example":4214634,"description":"ID of the list."},"welcome_message":{"type":"string","example":"Welcome to Fitness gym news","description":"SMS message to send to new members."},"member_message":{"type":"string","example":"Thanks for your continued support","description":"SMS message to existing members."},"forward_url":{"type":"string","format":"uri","example":"http://example.com/gym-promo","description":"Forward messages to a URL."},"forward_sms":{"type":"string","example":"61491570157,61491570158","description":"Forward messages to a set of MSISDNs."},"forward_email":{"type":"string","example":"news@example.com,mike@example.com","description":"Forward messages to a set of email addresses."},"status":{"type":"string","example":"open","description":"Status of the response."},"billing_date":{"type":"string","format":"date","example":"2020-07-24","description":"Date of billing."},"error":{"type":"object","properties":{"code":{"type":"string","example":"SUCCESS","description":"Error code."},"description":{"type":"string","example":"OK","description":"Error description."}}}}},"example":{"keyword":"NEWS","reference":"Gym news","number":61418279031,"list_id":4214634,"welcome_message":"Welcome to Fitness gym news","member_message":"Thanks for your continued support","forward_url":"http://example.com/gym-promo","forward_sms":"61491570157,61491570158","forward_email":"news@example.com,mike@example.com","status":"open","billing_date":"2020-07-24","error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n NEWS\n Gym news\n 61418279031\n 4214634\n Welcome to Fitness gym news\n Thanks for your continued support\n http://example.com/gym-promo\n 61491570157,61491570158\n news@example.com,mike@example.com\n open\n 2020-07-24\n \n SUCCESS\n OK\n \n"}}}}}},"/get-keywords.json":{"post":{"tags":["Keywords"],"summary":"Get Keywords","description":"Get a list of existing keywords.","security":[{"basicAuth":[]}],"requestBody":{"required":false,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"number":{"type":"integer","description":"Filter the list by virtual number.","example":61418279031},"page":{"type":"integer","description":"Page number for pagination.","example":1},"max":{"type":"integer","description":"Maximum results returned per page.","example":5}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"object","properties":{"count":{"type":"integer","description":"Total count of keywords returned in the current page."},"number":{"type":"integer","description":"Current page number."}}},"keywords_total":{"type":"integer","description":"Total count of keywords available."},"keywords":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string","description":"The keyword."},"reference":{"type":"string","description":"Reference for the keyword."},"number":{"type":"integer","description":"The dedicated virtual number associated with the keyword."},"list_id":{"type":"integer","description":"ID of the list associated with the keyword."},"welcome_message":{"type":"string","description":"SMS message sent to new members."},"member_message":{"type":"string","description":"SMS message sent to existing members."},"forward_url":{"type":"string","format":"uri","description":"URL to forward messages."},"forward_sms":{"type":"string","description":"MSISDNs to forward messages to."},"forward_email":{"type":"string","description":"Email addresses to forward messages to."},"status":{"type":"string","description":"Status of the keyword."},"billing_date":{"type":"string","format":"date","description":"Billing date associated with the keyword."}}}},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code."},"description":{"type":"string","description":"Description of the error."}}}}},"example":{"page":{"count":1,"number":1},"keywords_total":2,"keywords":[{"keyword":"GYM","reference":"Gym news","number":61418279031,"list_id":4214637,"welcome_message":"Welcome to Mike's gym news","member_message":"Thanks for your continued support","forward_url":"http://example.com/gym-promo","forward_sms":"61491570157,61491570158","forward_email":"news@example.com,mike@example.com","status":"open","billing_date":"2020-07-24"},{"keyword":"NEWS","reference":"Gym news","number":61418279031,"list_id":4214634,"welcome_message":"Welcome to Mike's gym news","member_message":"Thanks for your continued support","forward_url":"http://example.com/gym-promo","forward_sms":"61491570157,61491570158","forward_email":"news@example.com,mike@example.com","status":"open","billing_date":"2020-07-24"}],"error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n \n 1\n 1\n \n 2\n \n \n GYM\n Gym news\n 61418279031\n 4214637\n Welcome to Mike's gym news\n Thanks for your continued support\n http://example.com/gym-promo\n 61491570157,61491570158\n news@example.com,mike@example.com\n open\n 2020-07-24\n \n \n NEWS\n Gym news\n 61418279031\n 4214634\n Welcome to Mike's gym news\n Thanks for your continued support\n http://example.com/gym-promo\n 61491570157,61491570158\n news@example.com,mike@example.com\n open\n 2020-07-24\n \n \n \n SUCCESS\n OK\n \n"}}}}}},"/get-balance.json":{"get":{"tags":["Account"],"summary":"Get Balance","description":"Account information.\n","security":[{"basicAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"balance":{"type":"number","description":"Current balance.","example":73.954},"currency":{"type":"string","description":"Currency of the balance.","example":"AUD"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code if applicable."},"description":{"type":"string","description":"Description of the error if applicable."}}}}},"example":{"balance":73.954,"currency":"AUD","error":{"code":"SUCCESS","description":"OK"}}},"text/plain":{"schema":{"type":"string"},"example":"\n\n 73.954\n AUD\n \n SUCCESS\n OK\n \n"}}}}}}}}