> ## Documentation Index
> Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# XML Response

> Structure and requirements for XML responses to Plivo requests

When your application gets initiated to send a message, Plivo makes an HTTP request to the `message_url`, which is one of the mandatory parameters when sending a message.

***

## Requirements

* The `message_url` should respond with an XML document that provides instructions to control the SMS.
* The `Content Type` of the response header, returned by the `message_url`, must be set to `text/xml` or `application/xml`.
* The XML document returned should contain a valid Plivo Message XML element as described below.

***

## Structuring the XML Document

### The Parent Element

The `<Response>` element is the parent element of Plivo's XML. All child elements must be nested within this element. Any other structure is considered invalid.

### Child Elements

Child elements are proprietary Plivo elements and are case-sensitive. This means that using `<message>` instead of `<Message>`, for example, will result in an error. Attributes for the child elements are also case-sensitive and "camelCased."

When Plivo receives an XML response, it executes the elements from top to bottom.

### Response

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Message src="12023222222" dst="15671234567" type="sms" callbackUrl="http://foo.com/sms_status/" callbackMethod="POST">
    Hi, Message from Plivo
  </Message>
</Response>
```
