{"openapi":"3.0.3","servers":[{"description":"Messaging API","url":"https://products.api.telstra.com/messaging/v3"}],"info":{"description":"Send and receive SMS & MMS programmatically, leveraging Australia's leading mobile network.\nWith Telstra's Messaging API, we take out the complexity to allow seamless messaging integration into your app, with just a few lines of code.\nOur REST API is enterprise grade, allowing you to communicate with engaging SMS & MMS messaging in your web and mobile apps in near real-time on a global scale.\n\n# Introduction\n\n# Features\n\n# Getting Access to the API\n\n# Getting Started\n\n# Frequently Asked Questions\n","title":"Messaging API v3.x","version":"3.x","x-apisguru-categories":["messaging"],"x-logo":{"url":"https://telstra.com.au/content/dam/tcom/lego/logo/telstra-logo-656x370.png"},"x-origin":[{"format":"openapi","url":"https://dev.telstra.com/sites/default/files/Messaging-API-Proxy-OAS3.json","version":"3.0"}],"x-providerName":"telstra.com"},"security":[{"bearer_auth":[]}],"paths":{"/free-trial-numbers":{"get":{"description":"Use this endpoint to fetch the Free Trial Number(s) currently assigned to your account. These are the mobile numbers that you can message during the Free Trial.\n\nIf you're using a paid plan, there's no limit to the number of recipients that you can message, so you don't need to register Free Trial Numbers.\n","operationId":"getTrialNumbers","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeTrialNumbers"}}},"description":"A 200 OK response means your request has been successful. Your Free Trial Number(s) will be returned in the response body.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| FREE_TRIAL_ERR | This call is only applicable to Free Trial users. Check if the call is required. |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"get all free trial numbers","tags":["free trial numbers"]},"post":{"description":"Your Free Trial Numbers are the 10 recipient mobile numbers that you can message during the Free Trial. The first five numbers you send an SMS/MMS to will automatically be added to your Free Trial Numbers list. After that, you can use this endpoint to register another five. Alternatively, you can use this endpoint to register all 10 numbers.  \n\nUse this endpoint to register a Free Trial Number to your account. To test out all the features that the trial has to offer, we recommend registering your own mobile number to your Free Trial Numbers list. \n\nNote that you can only message mobile numbers that have been added to your Free Trial list and once registered, a Free Trial Number cannot be removed or replaced.\n","operationId":"createTrialNumbers","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"requestBody":{"$ref":"#/components/requestBodies/trial-numbers"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeTrialNumbers"}}},"description":"A 201 OK response means your request has been successful. Your registered Free Trial Number(s) will be returned in the response.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Location":{"schema":{"example":"/free-trial-numbers/{number}","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| FREE_TRIAL_INTERNATIONAL_ERR | Move to a paid plan to send a message to an international destination. | \n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n| ACCOUNT_LIMIT_ERROR | You've reached the maximum quota of Free Trial Numbers that can be registered to your account. Upgrade to a paid plan to send a message to this recipient.   |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| FREE_TRIAL_ERR | This call is only applicable to Free Trial users. Check if the call is required. |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is POST. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"create free trial number list","tags":["free trial numbers"]}},"/health-check":{"get":{"description":"Use this endpoint to check the operational status of the messaging service. A 200 OK response means the service is up. If you receive a 504 response, the service is temporarily down. Check the [API Live Status page] (https://dev.telstra.com/api/status) to see if there's an active incident.","operationId":"healthCheck","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/Authorization"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"example":"up","type":"string"}},"type":"object"}}},"description":"A 200 OK response means the messaging service is up.","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Gateway timeout\n\n| code | suggested_action |\n| :--- | :--- |\n| GATEWAY_TIMEOUT | The service is temporarily down. Check the [API Live Status page] (https://dev.telstra.com/api/status) or [contact support](mailto:telstradev@team.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"health check","tags":["health check"]}},"/messages":{"get":{"description":"Fetch messages that have been sent from/to your account in the last 30 days.","operationId":"getMessages","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/messageDirection"},{"$ref":"#/components/parameters/messageStatus"},{"$ref":"#/components/parameters/messageFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"messages":{"description":"The paginated results of your request. To fetch the next set of results, send another request and provide the succeeding offset value.\n","items":{"$ref":"#/components/schemas/MessageGet"},"maxItems":50,"minItems":1,"type":"array"},"paging":{"properties":{"lastPage":{"description":"The last page of results.","type":"string"},"nextPage":{"description":"The next page of results.","type":"string"},"previousPage":{"description":"The previous page of results.","type":"string"},"totalCount":{"description":"The total number of pages.","type":"number"}},"type":"object"}},"type":"object"}}},"description":"A 200 response means the call has been successful.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch all sent/received messages","tags":["messages"]},"post":{"description":"Send an SMS/MMS to a mobile number, or to multiple mobile numbers.\n\nFree Trial users can message to up to 10 unique recipient numbers for free. The first five recipients will be automatically added to your Free Trial Numbers list. Need more? Just use the POST /free-trial-numbers call to add another five.\n","operationId":"sendMessages","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"requestBody":{"$ref":"#/components/requestBodies/messagePost"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSent"}}},"description":"A 201 Created response means your message has sent.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Location":{"schema":{"example":"/messages/{messageId}","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| RECIPIENT_OPTOUT | Use GET/recipient-optouts/{number} to check which numbers have opted out of receiving messages from a Virtual Number. |\n| TAGS_ERR | Ensure you've assigned no more than 10 tags, using up to 64 characters for each. |\n| SENDERNAME_ERR | Email telstradev@team.telstra.com to request approval for this senderName. |\n| MODERATION_ERR | Please remove any swear words or offensive language. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n| MULTIMEDIA_TOO_LARGE | Reduce the multimedia file size and try again. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n| ACCOUNT_LIMIT_ERROR | Check the credit and limits on your account [here](https://dev.telstra.com). |\n| FREE_TRIAL_INTERNATIONAL_ERR | Move to a paid plan to send a message to an international destination. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is POST. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| MULTIMEDIA_TOO_LARGE | Reduce multimedia size |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"send messages","tags":["messages"]}},"/messages/{messageId}":{"delete":{"description":"Use this endpoint to delete a message that's been scheduled for sending, but hasn't yet sent.\n","operationId":"deleteMessageById","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/messageId"}],"responses":{"204":{"description":"A 204 response means your message has been deleted.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| DELETE_INVALID_MSG_SENT | The message can't be deleted because it's already been sent. |\n| ID_NOT_ASSIGNED | Ensure the messageId corresponds to a message that has been sent from/to this account. |\n| TIMEFRAME_ERR | Ensure the messageId corresponds to a message that is not more than 30 days old. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is DELETE. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"delete a message","tags":["messages"]},"get":{"description":"Use the **messageId** to fetch a message that's been sent from/to your account within the last 30 days.\n","operationId":"getMessageById","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/messageIdGet"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageGet"}}},"description":"A 200 response means the call has been successful.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| ID_NOT_ASSIGNED | Ensure the messageId corresponds to a message that has been sent from/to this account. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| TIMEFRAME_ERR | Ensure the messageId corresponds to a message that is not more than 30 days old. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Media type invalid\n\n| code | suggested_action |\n| :--- | :--- |\n| MEDIA_TYPE_INVALID | Check the media type in the Accept header. It should be application/json. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload media type error\n\n| code | suggested_action |\n| :--- | :--- |\n| PAYLOAD_MEDIA_TYPE_ERR | Check the media type in the Accept header. It should be application/json. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Logic error\n\n| code | suggested_action |\n| :--- | :--- |\n| LOGIC_ERR | Check the logic of the request and try again. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch a specific message","tags":["messages"]},"patch":{"description":"Use the **messageId** to update the tag(s) assigned to a message. You can use this endpoint any time, even after your message has been delivered.\n","operationId":"updateMessageTags","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/messageId"}],"requestBody":{"$ref":"#/components/requestBodies/messageTags"},"responses":{"204":{"description":"A 204 No Content response means your tag(s) have been successfully updated.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| ID_INVALID | Ensure the messageId corresponds to an outgoing message. |\n| ID_NOT_ASSIGNED | Ensure the messageId corresponds to a message that has been sent from this account. |\n| TAGS_ERR | Ensure you've assigned no more than 10 tags, using up to 64 characters for each. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is PATCH. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"update message tags","tags":["messages"]},"put":{"description":"Need to update a message that's scheduled for sending? You can change any of the below parameters, as long as the message hasn't been sent yet. This request body will override the original POST/ messages call.\n","operationId":"updateMessageById","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/messageId"}],"requestBody":{"$ref":"#/components/requestBodies/messagePut"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageUpdate"}}},"description":"A 200 response means the call has been successful.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| UPDATE_INVALID_MSG_SENT | The message can't be updated because it's already been sent. |\n| ID_INVALID | Ensure the messageId corresponds to an outgoing message. |\n| ID_NOT_ASSIGNED | Ensure the messageId corresponds to a message that has been sent from this account. |\n| RECIPIENT_OPTOUT | The recipient has opted out of receiving messages from this Virtual Number.  |\n| TAGS_ERR | Ensure you've assigned no more than 10 tags, using up to 64 characters for each. |\n| SENDERNAME_ERR | Email (telstradev@team.telstra.com) to request approval for this senderName.|\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n| MULTIMEDIA_TOO_LARGE | Reduce the multimedia file size and try again. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n| FREE_TRIAL_INTERNATIONAL_ERR | Move to a paid plan to send a message to an international destination. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is PUT. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| MULTIMEDIA_TOO_LARGE | Reduce multimedia size |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"update a message","tags":["messages"]}},"/reports":{"get":{"description":"Fetch details of all reports recently generated for your account. Use it to check the status of a report, plus fetch the report ID, status, report type and expiry date.\n","operationId":"getReports","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"reports":{"items":{"example":{"reportExpiry":"2025-08-15T13:50:52.094Z","reportId":"6940c774-4335-4d2b-b758-4ecb19412e85","reportStatus":"completed","reportType":"messages"},"properties":{"reportExpiry":{"description":"The expiry date of your report. After this date, you will be unable to download your report.\n","format":"date","type":"string"},"reportId":{"description":"Use this UUID to fetch your report with the GET /reports/{reportId} endpoint.\n","format":"uuid","maxLength":36,"minLength":36,"type":"string"},"reportStatus":{"description":"The status of the report. It will be either: \n      * **queued** – the report is in the queue for generation. \n      * **completed** – the report is ready for download. \n      * **failed** – the report failed to generate. Please try again.\n","type":"string"},"reportType":{"description":"The type of report generated.","type":"string"}},"type":"object"},"type":"array"}}}}},"description":"A 200 OK response means the call has been successful. Details of any report(s) generated for your account will be returned in the response.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the [API status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch all reports","tags":["reports"]}},"/reports/messages":{"post":{"description":"Request a CSV report of messages (both incoming and outgoing) that have been sent to/from your account within the last three months. You can request details for a specific timeframe, and filter your messages by tags, recipient number or Virtual Number.\n\nA 201 Created means your report has been queued for generation. Make a note of the reportId returned in the response. You'll need this to check the status of your report and fetch your download link with GET reports/{reportId}. If you supplied a reportCallbackUrl in the request we'll also notify it when your report is ready for download.\n\nOnce your report is generated, it will be available for download for one week. The expiry date is returned in the response.\n","operationId":"messagesReport","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"requestBody":{"content":{"application/json":{"schema":{"example":{"endDate":"2025-08-15T13:50:52.094Z","filter":"tag1","reportCallbackUrl":"https://www.example.com","startDate":"2025-08-15T13:50:52.094Z"},"properties":{"endDate":{"description":"Type the end date (inclusive) of your reporting period here.\n\nYour endDate must be a date in the past, and less than three months from your startDate. Use ISO format(yyyy-mm-dd).\n","format":"date","maxLength":10,"minLength":10,"type":"string"},"filter":{"description":"Filter your messages report by:\n  * tag - use one of the tags assigned to your message(s)\n  * number - either the Virtual Number used to send the message, or the Recipient Number the message was sent to.\n","type":"string"},"reportCallbackUrl":{"description":"Tell us the callbackUrl you want us to notify when your report is ready for download.\n\nSample callback response:\n\n<pre><code class=\"language-sh\">{\n  \"reportId\":\"1520b774-46b0-4415-a05f-7bcb1c032c59\",\n  \"reportStatus\":\"completed\",\n  \"timestamp\":\"2022-11-10T05:06:42.823Z\"\n}</code></pre>\n","type":"string"},"startDate":{"description":"Set the time period you want to generate a report for by typing the start date (inclusive) here.\n\nNote that we only retain data for three months, so please ensure your startDate is not more than three months old.\n\nUse ISO format(yyyy-mm-dd), e.g. 2019-08-24.\n","format":"date","maxLength":10,"minLength":10,"type":"string"}},"required":["startDate","endDate"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"example":{"reportCallbackUrl":"https://www.example.com","reportId":"6940c774-4335-4d2b-b758-4ecb19412e85","reportStatus":"queued"},"properties":{"reportCallbackUrl":{"description":"If you provided a reportCallbackUrl in your request, it will be returned here.","type":"string"},"reportId":{"description":"When your report is ready for download, you can use this UUID to fetch it with the GET /reports/{reportId} endpoint.\n","format":"uuid","maxLength":36,"minLength":36,"type":"string"},"reportStatus":{"description":"The status of the report. It will be either: \n      * **queued** – the report is in the queue for generation. \n      * **completed** – the report is ready for download. \n      * **failed** – the report failed to generate. Please try again.\n","type":"string"}},"type":"object"}}},"description":"A 201 Created response means the call has been successful. Your report is in the queue to be generated.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Location":{"schema":{"example":"/reports/messages","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is POST. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the [API status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"submit a request for a messages report","tags":["reports"]}},"/reports/{reportId}":{"get":{"description":"Fetch a download link for a report generated with POST /reports/{reportId} using the **reportId** returned in the response. Once ready, your report will be available for download for one week.\n","operationId":"getReport","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"description":"Use the reportId returned in the POST /reports/{reportType} response.\n","in":"path","name":"reportId","required":true,"schema":{"format":"uuid","maxLength":36,"minLength":36,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"example":{"reportId":"6940c774-4335-4d2b-b758-4ecb19412e85","reportStatus":"completed","reportUrl":"https://www.example.com"},"properties":{"reportId":{"description":"The UUID assigned to your report.\n","format":"uuid","maxLength":36,"minLength":36,"type":"string"},"reportStatus":{"description":"The status of the report. It will be either: \n      * **queued** – the report is in the queue for generation. \n      * **completed** – the report is ready for download. \n      * **failed** – the report failed to generate. Please try again.\n","type":"string"},"reportUrl":{"description":"Use this link to download your CSV file.","type":"string"}},"type":"object"}}},"description":"A 200 OK response means the call has been successful. Your download link (reportUrl) will be returned in the response.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the [API status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the [API status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch a specific report","tags":["reports"]}},"/virtual-numbers":{"get":{"description":"Use this endpoint to fetch all Virtual Numbers currently assigned to your account.\n","operationId":"getNumbers","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/numberFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"paging":{"$ref":"#/paths/~1messages/get/responses/200/content/application~1json/schema/properties/paging"},"virtualNumbers":{"description":"The paginated results of your request. To fetch the next set of results, send another request and provide the succeeding offset value.\n","items":{"$ref":"#/components/schemas/Virtual-number"},"maxItems":50,"minItems":0,"type":"array"}},"type":"object"}}},"description":"A 200 OK response means your request has been successful. Your Virtual Number(s) will be returned in the response body.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch all virtual numbers","tags":["virtual numbers"]},"post":{"description":"When a recipient receives your message, you can choose whether they'll see a privateNumber, Virtual Number or senderName (paid plans only) in the **from** field. If you want to use a Virtual Number, use this endpoint to assign one. Free Trial users can assign one Virtual Number, and those on a paid plan can assign up to 100. \n\nVirtual Numbers that have not sent a message in 30 days (Free Trial) or sent/received a message in 18 months (paid plans) will be automatically unassigned from your account. You can check the **lastUse** date of your Virtual Number at any time using GET /virtual-numbers/{virtual-number}.\n\nNote that Virtual Numbers used in v2 of the Messaging API cannot be used to send messages in v3. Please assign a new Virtual Number instead.\n","operationId":"assignNumber","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"}],"requestBody":{"$ref":"#/components/requestBodies/numberPost"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Virtual-number"}}},"description":"A 201 Created response means a Virtual Number has been assigned to your account. You can find this 10-digit number in the response body.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Location":{"schema":{"example":"/virtual-numbers/{virtual-number}","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| TAGS_ERR | Ensure you've assigned no more than 10 tags, using up to 64 characters for each. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Ensure you've supplied all the required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n| ACCOUNT_LIMIT_ERROR | Check the maximum number of Virtual Numbers that can be assigned to your account. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is POST. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"assign a virtual number","tags":["virtual numbers"]}},"/virtual-numbers/{virtual-number}":{"delete":{"description":"Use **virtual-number** to remove a Virtual Number that's been assigned to your account.\n","operationId":"deleteNumber","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/virtual-number"}],"responses":{"204":{"description":"A 204 response means the Virtual Number has been successfully removed from your account.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_INVALID | Check the number is a valid Virtual Number. |\n| VIRTUAL_NUM_UNASSIGNED | Check the number is assigned to your account. |\n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. | \n| FIELD_MISSING | Please supply all required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access Token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_UNKNOWN | Check the number is a valid Virtual Number. |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is DELETE. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"delete a virtual number","tags":["virtual numbers"]},"get":{"description":"Fetch the tags, replyCallbackUrl and lastUse date for a Virtual Number.","operationId":"getVirtualNumber","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/virtual-number"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Virtual-number"}}},"description":"A 200 OK response means your request has been successful.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_INVALID | Check the number is a valid Virtual Number. |\n| VIRTUAL_NUM_UNASSIGNED | Check the number is assigned to your account. |\n| FIELD_INVALID | Ensure the number is a 10-digit Australian mobile number in national format (e.g. 0412345678). |\n| FIELD_LENGTH_ERR | Ensure the number is 10 digits only (e.g. 0412345678). | \n| FIELD_MISSING | Please supply the number. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_UNKNOWN | Check the number is a valid Virtual Number. |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"fetch a virtual number","tags":["virtual numbers"]},"put":{"description":"Use **virtual-number** to update the tags and/or replyCallbackUrl of a Virtual Number.\n\nThis request body will override the original POST/ virtual-numbers call.\n","operationId":"updateNumber","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/virtual-number"}],"requestBody":{"$ref":"#/components/requestBodies/numberPut"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Virtual-number"}}},"description":"A 200 OK response means metadata for the Virtual Number has been successfully updated.\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| TAGS_ERR | Ensure you've assigned no more than 10 tags, using up to 64 characters for each. |\n| VIRTUAL_NUM_INVALID | Check the number is a valid Virtual Number. |\n| VIRTUAL_NUM_UNASSIGNED | Check the number is assigned to your account. |\n| FIELD_LENGTH_ERR | Check the field is within character limits. | \n| FIELD_INVALID | Check the field and the field formatting are correct. |\n| FIELD_MISSING | Please supply all required fields. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access Token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_UNKNOWN | Check the number is a valid Virtual Number. |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is PUT. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payload Too Large\n\n| code | suggested_action |\n| :--- | :--- |\n| PAYLOAD_TOO_LARGE | Reduce body payload size |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"update a virtual number","tags":["virtual numbers"]}},"/virtual-numbers/{virtual-number}/optouts":{"get":{"description":"Use this endpoint to fetch any mobile number(s) that have opted out of receiving messages from a Virtual Number assigned to your account.\n\nRecipients can opt out at any time by sending a message with industry standard keywords such as STOP, STOPALL, UNSUBSCRIBE, QUIT, END and CANCEL.\n","operationId":"getRecipientOptouts","parameters":[{"$ref":"#/components/parameters/TelstraAPIVersion"},{"$ref":"#/components/parameters/ContentLanguage"},{"$ref":"#/components/parameters/Authorization"},{"$ref":"#/components/parameters/Accept"},{"$ref":"#/components/parameters/AcceptCharset"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/virtual-number"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"paging":{"$ref":"#/paths/~1messages/get/responses/200/content/application~1json/schema/properties/paging"},"recipientOptouts":{"description":"The paginated results of your request. To fetch the next set of results, send another request and provide the succeeding offset value.\n","items":{"$ref":"#/components/schemas/Recipient-optout"},"maxItems":50,"minItems":0,"type":"array"}},"type":"object"}}},"description":"Successful Response","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Bad Request\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_INVALID | Check the number is a valid Virtual Number. |\n| VIRTUAL_NUM_UNASSIGNED | Check the number is assigned to your account. |\n| FIELD_INVALID | Ensure the number is a 10-digit Australian mobile number in national format (e.g. 0412345678). |\n| FIELD_LENGTH_ERR | Ensure the number is 10 digits only (e.g. 0412345678). |\n| FIELD_MISSING | Please supply the number. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unauthorized\n\n| code | suggested_action |\n| :--- | :--- |\n| TOKEN_INVALID | Check the access token. |\n| TOKEN_EXPIRED | Please refresh the token. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Payment Required\n\n| code | suggested_action |\n| :--- | :--- |\n| ACCOUNT_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| RATE_PLAN_ERR | Contact [support](mailto:telstradev@team.telstra.com) for help with your account. |\n| ACCOUNT_NOT_LINKED | Check you've registered for the Messaging API [here](https://dev.telstra.com). |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Forbidden\n\n| code | suggested_action |\n| :--- | :--- |\n| RESOURCE_AUTH_ERR | Check the permissions associated with your account. |\n| INSUFFICIENT_SCOPE | The access token you generated does not have sufficient permissions for this request. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Found\n\n| code | suggested_action |\n| :--- | :--- |\n| VIRTUAL_NUM_UNKNOWN | Check the number is a valid Virtual Number. |\n| RESOURCE_TEMP_ERR | Check the API status page to see if an active incident is causing a temporary issue with the resource. |\n| RESOURCE_NOT_FOUND | Check the endpoint is correct. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Method Not Allowed\n\n| code | suggested_action |\n| :--- | :--- |\n| METHOD_INVALID | Ensure the method is GET. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Many Requests\n\n| code | suggested_action |\n| :--- | :--- |\n| TOO_MANY_REQUESTS | Reduce the number of concurrent calls. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}},"Retry-After":{"schema":{"example":3600,"type":"number"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Internal Server Error\n\n| code | suggested_action |\n| :--- | :--- |\n| INTERNAL_TIMEOUT | Try the call again. If the issue persists, check the API [status page](https://dev.telstra.com/api/status) to see if there's an active incident. |\n| INTERNAL_SERVER_ERR | Check the API [status page](https://dev.telstra.com/api/status) to see if an active incident is causing the internal error. |\n| NETWORK_ERR | Please try again later. |\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Unexpected\n","headers":{"Content-Language":{"schema":{"example":"en-au","type":"string"}}}}},"security":[{"bearer_auth":[]}],"summary":"Get recipient optouts list","tags":["virtual numbers"]}}},"components":{"parameters":{"Accept":{"in":"header","name":"Accept","required":true,"schema":{"example":"application/json","type":"string"}},"AcceptCharset":{"in":"header","name":"Accept-Charset","required":true,"schema":{"example":"utf-8","type":"string"}},"Authorization":{"in":"header","name":"Authorization","required":true,"schema":{"example":"Bearer <access_token>","type":"string"}},"ContentLanguage":{"in":"header","name":"Content-Language","required":true,"schema":{"example":"en-au","type":"string"}},"ContentType":{"in":"header","name":"Content-Type","required":true,"schema":{"example":"application/json","type":"string"}},"TelstraAPIVersion":{"in":"header","name":"Telstra-api-version","required":false,"schema":{"example":"3.1.0","type":"string"}},"endDate":{"description":"Fetch logs for calls made until a specific time and date. Default value is current time and date","in":"query","name":"endDate","schema":{"format":"date-time","maxLength":24,"minLength":10,"type":"string"}},"limit":{"description":"Tell us how many results you want us to return, up to a maximum of 50.\n","in":"query","name":"limit","schema":{"default":10,"format":"int32","maximum":50,"minimum":1,"type":"integer"}},"messageDirection":{"description":"Filter your messages by direction:\n* **outgoing** – messages sent from your account.\n* **incoming** – messages sent to your account.\n","in":"query","name":"direction","schema":{"enum":["outgoing","incoming"],"type":"string"}},"messageFilter":{"description":"Filter your messages by:\n\n* tag - use one of the tags assigned to your message(s)\n* number - either the Virtual Number used to send the message, or the Recipient Number the message was sent to.\n","in":"query","name":"filter","schema":{"type":"string"}},"messageId":{"description":"When you sent the original message, this is the UUID that was returned in the call response. Use this ID to fetch, update or delete a message with the appropriate endpoints.\n","in":"path","name":"messageId","required":true,"schema":{"format":"uuid","maxLength":36,"minLength":36,"type":"string"}},"messageIdGet":{"description":"When you sent the original message, this is the UUID that was returned in the response. Use this ID to fetch, update or delete a message with the appropriate endpoints. \n\nIncoming messages are also assigned a messageId. Use this ID with GET/ messages/{messageId} to fetch the message later.\n","in":"path","name":"messageId","required":true,"schema":{"format":"uuid","maxLength":36,"minLength":36,"type":"string"}},"messageStatus":{"description":"Filter your messages by one of the statuses below:\n\n* **queued** – messages queued for sending or still in transit.\n* **sent** – messages that have been sent from the server.\n* **delivered** – messages successful delivered to the recipient's device. Note that we will only be able to return this status if you set deliveryNotification to **true** (paid feature). \n* **expired** – message that couldn't be sent within the **retryTimeout** timeframe.\n","in":"query","name":"status","schema":{"enum":["queued","sent","delivered","expired"],"type":"string"}},"numberFilter":{"description":"Filter your Virtual Numbers by tag or by number.","in":"query","name":"filter","schema":{"type":"string"}},"offset":{"description":"Use the offset to navigate between the response results. An offset of 0 will display the first page of results, and so on.\n","in":"query","name":"offset","schema":{"default":0,"format":"int32","maximum":999999,"minimum":0,"type":"integer"}},"recipientOptoutFilter":{"description":"filter return numbers by number value","in":"query","name":"filter","schema":{"type":"string"}},"startDate":{"description":"Fetch logs for calls made from a specific time and date. Default value is events logged within the last week.","in":"query","name":"startDate","schema":{"format":"date-time","maxLength":24,"minLength":10,"type":"string"}},"virtual-number":{"description":"Write the Virtual Number here, using national format (e.g. 0412345678).\n","in":"path","name":"virtual-number","required":true,"schema":{"example":"0412345678","maxLength":10,"minLength":10,"type":"string"}}},"requestBodies":{"messagePost":{"content":{"application/json":{"schema":{"properties":{"deliveryNotification":{"default":false,"description":"To receive a notification when your SMS has been delivered, set this parameter to **true** and make sure you provide a **statusCallbackUrl** (paid feature).\n","type":"boolean"},"from":{"description":"When the recipient receives your message, you can choose whether they'll see a privateNumber, virtualNumber or senderName (paid plans only) in the **from** field.  \n\n* privateNumber: Use this string to have the message appear on the recipient's device as from \"anonymous\", \"private\" or similar.  \n* 04xxxxxxxx: Use one of the Virtual Numbers associated with your account. You'll also be able to receive SMS replies to this number. \n* senderName: Choose a unique alphanumeric string of up to 11 characters (paid feature).\n","maxLength":13,"minLength":1,"type":"string"},"messageContent":{"description":"Use this field to send an SMS. Your text message goes here.   \n\nNote: either messageContent or multimedia are required, or you can use both field if you want to send multimedia with text.\n","maxLength":1600,"minLength":1,"type":"string"},"multimedia":{"description":"Use this field to send an MMS. Add your image, video or audio content here. \n\nNote: either messageContent or multimedia are required, or you can use both field if you want to send multimedia with text.\n\nInclude a JSON payload with:\n\ntype: the type of multimedia content file you're sending (image, audio or video) followed by the file type. Use the format \"multimedia type/file type\", e.g. \"image/PNG\" or \"audio/MP3\". Supported file types: JPEG, BMP, GIF87a, GIF89a, PNG, MP3, WAV, MPEG, MPG, MP4, 3GP and US-ASCII.\n\nfileName: the name of your multimedia file.\n\npayload: the base64 encoded content. You can use [this online tool](https://elmah.io/tools/base64-image-encoder/) to encode an image, or [Base64 Guru](https://base64.guru/) to encode a video or audio file.\n","items":{"$ref":"#/components/schemas/Multimedia"},"maxItems":5,"minItems":1,"type":"array"},"retryTimeout":{"default":10,"description":"If the message is queued or unable to reach the recipient's device, tell us how many minutes the network should keep trying. Use an integer between 1 and 1440. If you don't set a value, we'll try for 10 minutes.\n","format":"int32","maximum":1440,"minimum":1,"type":"integer"},"scheduleSend":{"description":"Don't want to send the message right away? Tell us what time you want to add it to the queue for sending instead.\n\nSet the time in London Greenwich Mean Time (adjusting for any time difference) and use ISO format, e.g. \"2019-08-24T15:39:00Z\".\n\nYou can schedule a message up to 10 days into the future. If you specify a timestamp outside of this limit, the API will return a FIELD_INVALID error.\n","format":"date-time","maxLength":24,"minLength":10,"type":"string"},"statusCallbackUrl":{"description":"Tell us the URL you want the API to call when the status of your SMS updates. \n\nTo receive a status update, this field must be provided and deliveryNotification must be set to **true**. \n\nThe status will be either:  \n* **queued** – the message is in the queue for sending (default).\n* **sent** – your message has been sent from the server.\n* **expired** – we weren't able to send the message within the **retryTimeout** timeframe.\n* **delivered** – the message has successfully reached the recipient's device. Note that we will only be able to return this status if you set **deliveryNotification** to **true** (paid feature).\n* **undeliverable** – the delivery of your message failed (paid feature).\n\nSample callback response:\n\n<pre><code class=\"language-sh\">{\n  \"to\":\"0476543210\", \n  \"from\":\"0401234567\",  \n  \"timestamp\":\"2022-11-10T05:06:42.823Z\", \n  \"messageId\":\"1520b774-46b0-4415-a05f-7bcb1c032c59\", \n  \"status\":\"delivered\" \n}</code></pre>\n","example":"http://www.example.com","type":"string"},"tags":{"description":"Create your own tags and use them to fetch and sort your messages through our other endpoints. You can assign up to 10 tags per message.\n","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"},"to":{"description":"This is the mobile number you want to send your message to. Write Australian numbers in national format (e.g. 0412345678) and international numbers (paid plans only) in E.164 format (e.g. +441234567890). \n\nUse a string for a single recipient, and an array of string of multiple recipients, e.g. \"to\": [\"0412345678\", \"+441234567890\"]. If you're using the Free Trial, you can include up to 5 recipient numbers in the array. If you're using a paid plan, you can bulk send up to 500 messages at once.\n","oneOf":[{"items":{"maxLength":16,"minLength":5,"type":"string"},"maxItems":500,"minItems":1,"type":"array"},{"maxLength":16,"minLength":5,"type":"string"}]}},"required":["to","from"],"type":"object"}}},"required":true},"messagePut":{"content":{"application/json":{"schema":{"properties":{"deliveryNotification":{"default":false,"description":"To receive a notification when your SMS has been delivered, set this parameter to **true** and make sure you provide a **statusCallbackUrl** (paid feature).\n","type":"boolean"},"from":{"description":"When the recipient receives your message, you can choose whether they'll see a privateNumber, virtualNumber or senderName (paid plans only) in the **from** field.\n\n* privateNumber: Use this string to have the message appear on the recipient's device as from \"anonymous\", \"private\" or similar.\n* 04xxxxxxxx: Use one of the Virtual Numbers associated with your account. You'll also be able to receive SMS replies to this number.\n* senderName: Choose a unique alphanumeric string of up to 11 characters (paid feature).\n","maxLength":13,"minLength":1,"type":"string"},"messageContent":{"description":"Use this field to send an SMS. Your text message goes here. \n\nNote: either messageContent or multimedia are required, or you can use both field if you want to send multimedia with text.\n","maxLength":1600,"minLength":1,"type":"string"},"multimedia":{"description":"Use this field to send an MMS. Add your image, video or audio content here. \n\nNote: either messageContent or multimedia are required, or you can use both fields if you want to send multimedia with text. \n\nInclude a JSON payload with:\n\ntype: the type of multimedia content file you're sending (image, audio or video) followed by the file type. Use the format 'multimedia type/file type', e.g. \"image/PNG\" or \"audio/MP3\". Supported file types: JPEG, BMP, GIF87a, GIF89a, PNG, MP3, WAV, MPEG, MPG, MP4, 3GP and US-ASCII.\n\nfileName: the name of your multimedia file. \n\npayload: the base64 encoded content. You can use [this online tool](https://elmah.io/tools/base64-image-encoder/) to encode an image, or [Base64 Guru](https://base64.guru/) to encode a video or audio file.\n","items":{"$ref":"#/components/schemas/Multimedia"},"maxItems":5,"minItems":1,"type":"array"},"retryTimeout":{"default":10,"description":"If the message is queued or unable to reach the recipient's device, tell us how many minutes the network should keep trying. Use an integer between 1 and 1440. If you don't set a value, we'll try for 10 minutes.\n","format":"int32","maximum":1440,"minimum":1,"type":"integer"},"scheduleSend":{"description":"Don't want to send the message right away? Tell us what time you want to add it to the queue for sending instead.\n\nSet the time in London Greenwich Mean Time (adjusting for any time difference) and use ISO format, e.g. \"2019-08-24T15:39:00Z\".\n\nYou can schedule a message up to 10 days into the future. If you specify a timestamp outside of this limit, the API will return a FIELD_INVALID error.\n","format":"date-time","maxLength":24,"minLength":10,"type":"string"},"statusCallbackUrl":{"description":"Tell us the URL you want the API to call when the status of your SMS updates. \n\nTo receive a status update, this field must be provided and deliveryNotification must be set to **true**. \n\nThe status will be either:  \n* **queued** – the message is in the queue for sending (default).\n* **sent** – your message has been sent from the server.\n* **expired** – we weren't able to send the message within the **retryTimeout** timeframe.\n* **delivered** – the message has successfully reached the recipient's device. Note that we will only be able to return this status if you set **deliveryNotification** to **true** (paid feature).\n* **undeliverable** – the delivery of your message failed (paid feature).\n\nSample callback response:\n\n<pre><code class=\"language-sh\">{\n  \"to\":\"0476543210\", \n  \"from\":\"0401234567\", \n  \"timestamp\":\"2022-11-10T05:06:42.823Z\", \n  \"messageId\":\"1520b774-46b0-4415-a05f-7bcb1c032c59\", \n  \"status\":\"delivered\" \n}</code></pre>\n","example":"http://www.example.com","type":"string"},"tags":{"description":"Create your own tags and use them to fetch and sort your messages through our other endpoints. You can assign up to 10 tags per message.\n","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"},"to":{"description":"This is the mobile number you want to send your message to. Write Australian numbers in national format (e.g. 0412345678) and international numbers (paid plans only) in E.164 format (e.g. +441234567890).\n\nUse a string for a single recipient, and an array of strings for multiple recipients, e.g. \"to\": [\"0412345678\", \"+441234567890\"]. If you're using the Free Trial, you can include up to 5 recipient numbers in the array. If you're using a paid plan, you can bulk send up to 500 messages at once.\n","maxLength":16,"minLength":5,"type":"string"}},"required":["to","from"],"type":"object"}}},"required":true},"messageTags":{"content":{"application/json":{"schema":{"properties":{"tags":{"description":"Write the updated list of tag(s) here. You can assign up to 10 tags per message.\n\nNote that if you provide an empty array, any pre-existing tags will be wiped.\n","example":["marketing","SMS"],"items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":0,"type":"array"}},"required":["tags"],"type":"object"}}},"required":true},"numberPost":{"content":{"application/json":{"schema":{"properties":{"replyCallbackUrl":{"description":"Tell us the URL that replies to the Virtual Number should be sent to.\n\nSample callback response:\n\n<pre><code class=\"language-sh\">{\n  \"to\":\"0476543210\", \n  \"from\":\"0401234567\", \n  \"timestamp\":\"2022-11-10T05:06:42.823Z\", \n  \"messageId\":\"75f263c0-60b5-11ed-8456-71ae4c63550d\", \n  \"messageContent\":\"Hi, example message\", \n  \"multimedia\": { \n    \"fileName:\"image.jpeg\" \n    \"type:\"image/jpeg\" \n    \"payload\":\"base64 payload\"\n  }\n}</code></pre>\n","example":"http://www.example.com","type":"string"},"tags":{"description":"Create your own tags and use them to fetch, sort and report on your Virtual Numbers through our other endpoints. You can assign up to 10 tags per number.\n","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"}},"type":"object"}}},"required":true},"numberPut":{"content":{"application/json":{"schema":{"properties":{"replyCallbackUrl":{"description":"Tell us the URL that replies to the Virtual Number should be sent to.\n\nNote that if you don't include this field, any pre-existing replyCallbackUrl will be wiped.\n\nSample callback response:\n\n<pre><code class=\"language-sh\">{\n  \"to\":\"0476543210\", \n  \"from\":\"0401234567\", \n  \"timestamp\":\"2022-11-10T05:06:42.823Z\",\n  \"messageId\":\"75f263c0-60b5-11ed-8456-71ae4c63550d\", \n  \"messageContent\":\"Hi, example message\", \n  \"multimedia\": { \n    \"fileName:\"image.jpeg\" \n    \"type:\"image/jpeg\" \n    \"payload\":\"base64 payload\" \n  }\n}</code></pre>\n","example":"http://www.example.com","type":"string"},"tags":{"description":"Create your own tags and use them to fetch, sort and report on your Virtual Numbers through our other endpoints. You can assign up to 10 tags per number. \n\nNote that if you don't include this field, any pre-existing tags will be wiped.\n","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"}},"type":"object"}}},"required":true},"trial-numbers":{"content":{"application/json":{"schema":{"properties":{"freeTrialNumbers":{"description":"These are the mobile numbers you want to message during your Free Trial. Write Australian numbers in national format (e.g. \"0412345678\"). Use a string for a single recipient, and an array of strings for multiple recipients, (e.g. [\"0412345678\", \"0487654321\"]).\n","oneOf":[{"example":["0412345678","0487654321"],"items":{"maxLength":10,"minLength":10,"type":"string"},"maxItems":10,"minItems":1,"type":"array"},{"maxLength":10,"minLength":10,"type":"string"}]}},"required":["freeTrialNumbers"],"type":"object"}}},"required":true}},"schemas":{"Error":{"properties":{"code":{"description":"Unique code of the error","maxLength":100,"minLength":1,"type":"string"},"field":{"description":"The field that caused the error","maxLength":99999,"minLength":1,"type":"string"},"issue":{"description":"The reason for the error","maxLength":99999,"minLength":1,"type":"string"},"link":{"description":"URI for detailed information related to this error for the developer.","maxLength":99999,"minLength":1,"type":"string"},"location":{"description":"The location of the field that caused the error.","enum":["body","path","query"],"type":"string"},"suggested_action":{"description":"Suggest practical actions for this particular issue.","maxLength":99999,"minLength":1,"type":"string"},"value":{"description":"The value of the field that caused the error","maxLength":99999,"minLength":1,"type":"string"}},"required":["code","issue","suggested_action"],"type":"object"},"Errors":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/Error"},"maxItems":100,"minItems":1,"type":"array"}},"type":"object"},"FreeTrialNumbers":{"properties":{"freeTrialNumbers":{"description":"The recipient number(s) registered to your Free Trial Numbers List. These are the mobile numbers that you can message during the Free Trial.\n","example":["0412345678","0487654321"],"items":{"maxLength":10,"minLength":10,"type":"string"},"maxItems":10,"minItems":0,"type":"array"}},"required":["freeTrialNumbers"],"type":"object"},"MessageGet":{"properties":{"createTimestamp":{"description":"The time you submitted the message to the queue for sending.","format":"date-time","maxLength":24,"minLength":24,"type":"string"},"deliveryNotification":{"default":false,"description":"If set to **true**, you will receive a notification to the statusCallbackUrl when your message is delivered (paid feature).","type":"boolean"},"direction":{"description":"* **outgoing** – messages sent from your account.\n* **incoming** – messages sent to your account.\n","enum":["outgoing","incoming"],"type":"string"},"from":{"description":"This will be either \"privateNumber\", one of your Virtual Numbers or your senderName.","maxLength":13,"minLength":1,"type":"string"},"messageContent":{"description":"The content of the message.","maxLength":1600,"minLength":1,"type":"string"},"messageId":{"description":"Use this UUID with our other endpoints to fetch, update or delete the message.","format":"uuid","maxLength":36,"minLength":36,"type":"string"},"multimedia":{"description":"The multimedia content of the message (MMS only). It will include:\n","items":{"$ref":"#/components/schemas/MultimediaGet"},"maxItems":5,"minItems":1,"type":"array"},"queuePriority":{"default":2,"description":"The priority assigned to the message.","example":2,"format":"int32","maximum":3,"minimum":1,"type":"integer"},"receivedTimestamp":{"description":"The time the message was received by the recipient's device.","format":"date-time","maxLength":24,"minLength":24,"type":"string"},"retryTimeout":{"default":10,"description":"How many minutes you asked the server to keep trying to send the message.","format":"int32","maximum":1440,"minimum":1,"type":"integer"},"scheduleSend":{"description":"The time the message is scheduled to send.","format":"date-time","maxLength":24,"minLength":10,"type":"string"},"sentTimestamp":{"description":"The time the message was sent from the server.","format":"date-time","maxLength":24,"minLength":24,"type":"string"},"status":{"description":"The status will be either queued, sent, delivered, expired or undeliverable.","enum":["queued","sent","delivered","expired","undeliverable"],"type":"string"},"statusCallbackUrl":{"description":"The URL the API will call when the status of the message changes.","type":"string"},"tags":{"description":"Any customisable tags assigned to the message.","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":0,"type":"array"},"to":{"description":"The recipient's mobile number.","maxLength":16,"minLength":5,"type":"string"}},"type":"object"},"MessageSent":{"properties":{"deliveryNotification":{"default":false,"description":"If set to **true**, you will receive a notification to the statusCallbackUrl when your SMS is delivered (paid feature).","type":"boolean"},"from":{"description":"This will be either \"privateNumber\", one of your Virtual Numbers or your senderName.","maxLength":13,"minLength":1,"type":"string"},"messageContent":{"description":"The content of the message.","maxLength":1600,"minLength":1,"type":"string"},"messageId":{"description":"Use this UUID with our other endpoints to fetch, update or delete the message.","oneOf":[{"items":{"format":"uuid","maxLength":36,"minLength":36,"type":"string"},"type":"array"},{"format":"uuid","maxLength":36,"minLength":36,"type":"string"}]},"multimedia":{"description":"The multimedia content of the message (MMS only). It will include:\n","items":{"$ref":"#/components/schemas/MultimediaGet"},"maxItems":5,"minItems":1,"type":"array"},"retryTimeout":{"description":"How many minutes you asked the server to keep trying to send the message.","maximum":1440,"minimum":1,"type":"integer"},"scheduleSend":{"description":"The time (in Central Standard Time) the message is scheduled to send.","format":"date-time","maxLength":24,"minLength":10,"type":"string"},"status":{"description":"The status will be either queued, sent, delivered, expired or undeliverable.","enum":["queued","sent","delivered","expired","undeliverable"],"type":"string"},"statusCallbackUrl":{"description":"The URL the API will call when the status of the message changes.","type":"string"},"tags":{"description":"Any customisable tags assigned to the message.","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":0,"type":"array"},"to":{"description":"The recipient's mobile number(s).","oneOf":[{"items":{"maxLength":16,"minLength":5,"type":"string"},"maxItems":500,"minItems":1,"type":"array"},{"maxLength":16,"minLength":5,"type":"string"}]}},"type":"object"},"MessageUpdate":{"properties":{"deliveryNotification":{"default":false,"description":"If set to **true**, you will receive a notification to the statusCallbackUrl when your message is delivered (paid feature).","type":"boolean"},"from":{"description":"This will be either \"privateNumber\", one of your Virtual Numbers or your senderName.","maxLength":13,"minLength":1,"type":"string"},"messageContent":{"description":"The content of the message.","maxLength":1600,"minLength":1,"type":"string"},"messageId":{"description":"Use this UUID with our other endpoints to fetch, update or delete the message.","format":"uuid","maxLength":36,"minLength":36,"type":"string"},"multimedia":{"description":"The multimedia content of the message (MMS only). It will include:\n","items":{"$ref":"#/components/schemas/MultimediaGet"},"maxItems":5,"minItems":1,"type":"array"},"queuePriority":{"default":2,"description":"The priority assigned to the message.","example":2,"format":"int32","maximum":3,"minimum":1,"type":"integer"},"retryTimeout":{"description":"How many minutes you asked the server to keep trying to send the message.","maximum":1440,"minimum":1,"type":"integer"},"scheduleSend":{"description":"The time the message is scheduled to send.","format":"date-time","maxLength":24,"minLength":10,"type":"string"},"status":{"description":"The status will be either queued, sent, delivered, expired or undeliverable.","enum":["queued","sent","delivered","expired","undeliverable"],"type":"string"},"statusCallbackUrl":{"description":"The URL the API will call when the status of the message changes.","type":"string"},"tags":{"description":"Any customisable tags assigned to the message.","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":0,"type":"array"},"to":{"description":"The recipient's mobile number.","maxLength":16,"minLength":5,"type":"string"}},"type":"object"},"Multimedia":{"properties":{"fileName":{"description":"The name of the multimedia file.","example":"image/jpeg","maxLength":100,"minLength":1,"type":"string"},"payload":{"description":"The base64 encoded content. You can use [this online tool](https://elmah.io/tools/base64-image-encoder/) to encode an image, or [Base64 Guru](https://base64.guru/) to encode a video or audio file.\n","example":"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==","maxLength":999999,"minLength":1,"type":"string"},"type":{"description":"the type of multimedia content file you're sending (image, audio or video) followed by the file type. Use the format \"multimedia type/file type\", e.g. \"image/PNG\" or \"audio/MP3\". Supported file types:JPEG, BMP, GIF87a, GIF89a, PNG, MP3, WAV, MPEG, MPG, MP4, 3GP and US-ASCII.","example":"image/jpeg","maxLength":100,"minLength":1,"type":"string"}},"required":["type","fileName","payload"],"type":"object"},"MultimediaGet":{"properties":{"fileName":{"description":"The name of the multimedia file.","example":"image.jpeg","maxLength":100,"minLength":1,"type":"string"},"type":{"description":"The type of multimedia content (image, audio or video) followed by the type (e.g. jpeg, png, text).","example":"image/jpeg","maxLength":100,"minLength":1,"type":"string"}},"required":["type","fileName"],"type":"object"},"Recipient-optout":{"properties":{"createTimestamp":{"description":"The date and time we received the optout request.","format":"date-time","maxLength":24,"minLength":24,"type":"string"},"optoutNumber":{"description":"The mobile number that sent the optout request.","maxLength":16,"minLength":5,"type":"string"}},"type":"object"},"Virtual-number":{"properties":{"lastUse":{"description":"The last time the Virtual Number was used to send a message.","format":"date-time","maxLength":24,"minLength":24,"type":"string"},"replyCallbackUrl":{"description":"The URL that replies to the Virtual Number will be posted to.","example":"http://www.example.com","type":"string"},"tags":{"description":"Any customisable tags assigned to the Virtual Number.\n","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":10,"minItems":0,"type":"array"},"virtualNumber":{"description":"The Virtual Number assigned to your account.\n","example":401234567,"maxLength":10,"minLength":10,"type":"string"}},"type":"object"}},"securitySchemes":{"bearer_auth":{"flows":{"clientCredentials":{"scopes":{"free-trial-numbers:read":"read information for free trial numbers","free-trial-numbers:write":"write information for free trial numbers","messages:read":"read information for messages","messages:write":"write information for messages","reports:read":"read information for reports","reports:write":"write information for reports","virtual-numbers:read":"read information for virtual-numbers","virtual-numbers:write":"write information for virtual numbers"},"tokenUrl":"https://products.api.telstra.com/v2/oauth/token"}},"type":"oauth2"}}}}