> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.itential.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server.

# Changing data types

> Reference for the request and response data types supported in adapter authentication, and how to set them in action.json.

## Scenario

Different external systems expect request data in different formats and return response data in different formats. The `requestDatatype` and `responseDatatype` fields in `action.json` control how the adapter formats outbound data and interprets inbound data.

These fields are set in `action.json` within the endpoint configuration at `/adapter-home-dir/entities/.system`.

## Supported request datatypes

| Datatype    | Description                                                                                                                                     |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `JSON`      | Data is sent as a JSON object, stringified before being put on the wire.                                                                        |
| `XML`       | Data is sent as XML. The adapter does not modify the XML — it must already be in the correct XML format when it arrives at the adapter.         |
| `PLAIN`     | Data is sent as a plain text string. The adapter does not modify it.                                                                            |
| `FORM`      | Data is sent as form data. The adapter converts the provided object to form format.                                                             |
| `URLENCODE` | Data is URL-encoded and sent in the request body. For example: `username=kahsjkdh&password=ahdahjd`.                                            |
| `URLQUERY`  | Data is URL-encoded and appended to the URI as a query string rather than sent in the body. For example: `?username=kahsjkdh&password=ahdahjd`. |

## Supported response datatypes

| Datatype    | Description                                                                                                                     |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `JSON`      | The response is a stringified JSON object. The adapter parses it, runs schema translation, and returns the result.              |
| `XML`       | The response is XML. The adapter returns it unchanged.                                                                          |
| `XML2JSON`  | The response is XML. The adapter converts it to JSON, runs schema translation, and returns the result.                          |
| `PLAIN`     | The response is a plain text string. The adapter returns it unchanged.                                                          |
| `URLENCODE` | The response is a URL-encoded string. The adapter decodes it to a JSON object, runs schema translation, and returns the result. |