apyhub
DEVELOPER TOOLS · FILE CONVERSION

Convert JSON to XML API

What it does

JSON to XML Converter turns JSON into XML in three formats: raw XML string, downloadable XML file, or a pre-signed S3 URL to the generated .xml file. Send it a JSON object from your request body, a JSON file, or a publicly accessible JSON URL, and choose the output form that fits your workflow.

Use the raw endpoints when you want XML content immediately in the response body. Use the file endpoints when you need a binary .xml download. Use the URL endpoints when your app needs a temporary S3 link to hand off, store, or retrieve later. The raw-body variants accept any non-empty JSON object; the URL variants require a public URI in url; and the file variants require an uploaded JSON file with MIME type application/json.

This is a good fit for integrations that still depend on XML feeds, legacy systems, or document pipelines that start in JSON and end in XML. You can convert API payloads, exported data, or user-uploaded files without adding your own transformation layer.

The service returns exactly what each endpoint defines: either a plain XML string, a binary .xml file, or an object with a single data field containing the pre-signed URL.

▣ ENDPOINT 01 / 09
POST
Convert JSON at URL to raw XML string
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-raw

QUICKSTART

GUIDE

Quickstart

Convert a JSON file from a public URL into XML with one POST request.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-raw" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.json"}'

What you'll get back

Returns a plain XML string, not a JSON object. The response body is the XML result directly, for example:

<root><id>1</id><name>Alice</name></root>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Publicly accessible URL pointing to a JSON resource.

About this endpoint

What it does

Converts the JSON document located at the provided URL into a raw XML string. The response is plain XML text, not a JSON wrapper.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a JSON resource. Must be a valid URI.

Response

Returns a plain XML string, not a JSON object. The schema does not define any response fields; the XML is returned directly as the response body.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 09
POST
Convert JSON at URL to pre-signed S3 URL for .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-url

QUICKSTART

GUIDE

Quickstart

Convert a JSON file at a public URL into XML and save the result under the optional output name.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-url?output=sample-output" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.json"}'

What you'll get back

Returns a JSON object with a data string field containing a pre-signed S3 URL to the converted .xml file.

{
  "data": "https://s3.amazonaws.com/bucket/uuid_sample-output.xml?..."
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Publicly accessible URL pointing to a JSON resource.

About this endpoint

What it does

Converts the JSON document available at a public URL into an XML file and returns a pre-signed S3 URL where the generated .xml file can be downloaded.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name prefix. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a JSON resource. Must be a URI.

Response

Returns a JSON object with a single data string field containing a pre-signed S3 URL to the converted .xml file. Success is represented by the JSON object returned from the endpoint.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted .xml file. Must be a URI.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 03 / 09
POST
Convert uploaded JSON file to downloadable .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-file

QUICKSTART

GUIDE

Quickstart

Convert a JSON file to an XML file by uploading the JSON file and specifying the output name.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-file?output=my-output" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/input.json"

What you'll get back

Returns the raw XML file content as a binary .xml file in the response body. There is no JSON wrapper or top-level field.

<root>...</root>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
JSON file to convert (MIME type must be `application/json`).

About this endpoint

What it does

Converts an uploaded JSON file into a downloadable XML file. You send the JSON file in the request body and receive the XML file content back as a binary response.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the generated file. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. Must be uploaded as binary and the MIME type must be application/json.

Response

Returns a binary .xml file as the raw response body, not a JSON object. The output schema is a single binary string, so there are no JSON fields to read in the success payload.

ParameterTypeMandatoryDescription
response bodyStringYesRaw XML file content returned as binary.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 04 / 09
POST
Convert raw JSON body to pre-signed S3 URL for .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-url

QUICKSTART

GUIDE

Quickstart

Convert a JSON object to XML and get back a pre-signed URL for the generated .xml file.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-url?output=my-output" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key1":"value1"}'

What you'll get back

Returns a JSON object with a data string field containing a pre-signed S3 URL to the converted .xml file.

{
  "data": "https://s3.amazonaws.com/bucket/uuid_sample-output.xml?..."
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.

About this endpoint

What it does

Converts the raw JSON request body into XML and returns a pre-signed S3 URL for the generated .xml file. The endpoint accepts any non-empty JSON object in the body and can optionally take an output query parameter to influence the output filename.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name used in the generated XML file URL. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
key1StringNoAny JSON property is accepted. The entire request body is used as-is as the conversion input; there are no fixed or required fields.
key2IntegerNoAny JSON property is accepted. The entire request body is used as-is as the conversion input; there are no fixed or required fields.

Response

Returns a JSON object with a single data string field containing a URI. This is the pre-signed S3 URL for the converted .xml file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted .xml file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.
▣ ENDPOINT 05 / 09
POST
Convert JSON at URL to downloadable .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-file

QUICKSTART

GUIDE

Quickstart

Convert a JSON file at a public URL into an XML file. The output query parameter is optional, so this minimal call only sends the required URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-url-xml-file?output=my-output" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.json"}'

What you'll get back

Returns the raw XML file content as binary .xml data, not a JSON object. The response body is the XML file itself.

<?xml version="1.0" encoding="UTF-8"?>
<.../>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Publicly accessible URL pointing to a JSON resource.

About this endpoint

What it does

Converts the JSON document available at a public URL into an XML file and returns the file content in the response body.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name base. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a JSON resource. Format: URI.

Response

Returns a binary .xml file as the raw response body. The output schema is a binary string, so the response is not a JSON object and does not include a value field.

ParameterTypeMandatoryDescription
bodyStringYesBinary XML file content returned directly in the response body.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 06 / 09
POST
Convert uploaded JSON file to raw XML string
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-raw

QUICKSTART

GUIDE

Quickstart

Upload a JSON file to convert it to raw XML.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-raw" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.json"

What you'll get back

Returns a plain XML string, not a JSON object. The response body is the XML text directly, for example:

<root><id>1</id><name>Alice</name></root>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
JSON file to convert (MIME type must be `application/json`).

About this endpoint

What it does

Converts an uploaded JSON file into a raw XML string. The request accepts a single JSON file upload, and the response is plain XML text rather than a JSON object.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. MIME type must be application/json.

Response

Returns a plain XML string in the response body, not a JSON wrapper. The output schema is a string, so the success response is the raw XML content itself.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 07 / 09
POST
Convert uploaded JSON file to pre-signed S3 URL for .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-url

QUICKSTART

GUIDE

Quickstart

Convert a JSON file to XML by uploading it and optionally naming the output file.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-file-xml-url?output=my-output" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.json"

What you'll get back

Returns a JSON object with a data string field containing a pre-signed S3 URL for the converted .xml file.

{
  "data": "https://s3.amazonaws.com/bucket/uuid_sample-output.xml?..."
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
JSON file to convert (MIME type must be `application/json`).

About this endpoint

What it does

Converts an uploaded JSON file into XML and returns a pre-signed S3 URL for the generated .xml file. The request uploads the JSON file in the body and can include an optional output query parameter to influence the output name.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name used in the generated XML file URL. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. Must be a binary file with MIME type application/json.

Response

Returns a JSON object with a single data string field containing a pre-signed S3 URL to the converted .xml file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted .xml file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 08 / 09
POST
Convert raw JSON body to raw XML string
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-raw

QUICKSTART

GUIDE

Quickstart

Send any non-empty JSON object to convert it into XML.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-raw" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key1":"value1","key2":123}'

What you'll get back

Returns a plain XML string, not a JSON object. The response body is the XML document itself.

<root><id>1</id><name>Alice</name></root>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.

About this endpoint

What it does

Converts the entire raw JSON request body into a raw XML string. The endpoint accepts any non-empty JSON object as input and returns XML as plain text, not wrapped in JSON.

Request Body

ParameterTypeMandatoryDescription
bodyObjectYesAny non-empty JSON object. The entire request body is used as-is as the conversion input; there are no fixed or required properties. Additional properties are allowed.

Response

Returns a plain XML string, not a JSON object. The success response is a raw XML document such as <root>...</root>; no value field or other JSON wrapper is defined in the schema.

Body

Name
Type
Description
bodyREQUIRED
object
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.
▣ ENDPOINT 09 / 09
POST
Convert raw JSON body to downloadable .xml file
https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-file

QUICKSTART

GUIDE

Quickstart

Convert a JSON object to an XML file with one simple request.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-xml/json-raw-xml-file?output=my-output" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key1":"value1"}'

What you'll get back

Returns the raw XML file content as binary .xml data, not a JSON object. The response body is the XML file itself.

<root>
  ...
</root>
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.

About this endpoint

What it does

Converts the incoming raw JSON request body into an XML file and returns the result as downloadable binary .xml content. The JSON you send is used as-is as the conversion input.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
key1ObjectNoAny JSON object field is accepted as input. The entire request body is used as-is for conversion; there are no fixed or required properties.
key2ObjectNoAny JSON object field is accepted as input. The entire request body is used as-is for conversion; there are no fixed or required properties.

Response

Returns a raw binary .xml file in the response body. The response is not a JSON object; it is the XML file content itself.

ParameterTypeMandatoryDescription
responseStringYesBinary .xml file content.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
Any non-empty JSON object. The entire request body is used as-is as the conversion input — there are no fixed or required properties. Do not treat any example property names as required fields; they are illustrative only. Any valid JSON object with at least one key is accepted.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.