apyhub
DEVELOPER TOOLS · FILE CONVERSION

Convert CSV to XML API

What it does

CSV to XML Converter turns CSV data into XML from a raw request body, an uploaded file, or a public URL. You can receive the result as inline XML, a downloadable XML file, or a pre-signed S3 URL depending on the endpoint you choose.

Send raw CSV text in the body when you already have the content in your app, or upload a CSV file when handling user-submitted data. If your source lives elsewhere, pass a public CSV URL and the service will fetch it for you. The URL-based endpoint also supports a headers_absent query flag, and the file-based endpoints accept headers_absent plus an output query parameter when you want to name the generated file.

Use CSV to XML Converter when you need to move tabular data into systems that expect XML, generate files for download, or hand off a converted document to storage and downstream workflows. The responses are simple and consistent: either an XML string, a binary XML file, or an object containing a data field with a pre-signed S3 URL.

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

QUICKSTART

GUIDE

Quickstart

Convert a CSV file from a public URL into XML by sending the CSV URL in the request body.

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

What you'll get back

Returns a JSON string containing the generated XML output.

"<xml>...</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 CSV file. The endpoint validates that the response Content-Type is `text/csv` or `text/plain; charset=UTF-8`, or that the Content-Disposition header references a `.csv` file.

About this endpoint

What it does

Converts a CSV file fetched from a public URL into an XML string. The request body provides the CSV URL, and the response is the generated XML as a plain string.

Query Parameter(s)

AttributeTypeMandatoryDescription
headers_absentENUMNoWhether the source URL response should be treated as having no headers.<br>Allowed values: true, false.<br>Default: false.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. The endpoint validates that the response Content-Type is text/csv or text/plain; charset=UTF-8, or that the Content-Disposition header references a .csv file.

Response

Returns a plain XML string generated from the CSV content.

Query parameters

Name
Type
Description
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 09
POST
Convert CSV at URL → downloadable XML file
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-url-xml-file

QUICKSTART

GUIDE

Quickstart

Convert a CSV file from a public URL into an XML file.

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

What you'll get back

Returns a binary XML file (string with format: binary) containing the converted data.

<!-- downloadable XML file -->
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 CSV file.

About this endpoint

What it does

Converts a CSV file from a public URL into an XML file and returns the converted file as binary output.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name. Default: sample-output.
headers_absentENUMNoWhether the CSV has no headers. Allowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. Format: URI.

Response

Returns a binary XML file containing the converted data.

ParameterTypeMandatoryDescription
binary fileStringYesDownloadable XML file containing the converted data.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 03 / 09
POST
Convert CSV at URL → S3 signed URL
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-url-xml-url

QUICKSTART

GUIDE

Quickstart

Convert a CSV file from a public URL into XML by sending the CSV URL in the request body.

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

What you'll get back

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

{
  "data": "https://..."
}
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 CSV file.

About this endpoint

What it does

Converts a CSV file available at a public URL into an XML file and returns a pre-signed S3 URL for the converted output.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name prefix or identifier. Default: sample-output.
headers_absentENUMNoWhether the source CSV has no headers. Allowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. Format: URI.

Response

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

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file. Format: URI.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 09
POST
Convert raw CSV body → inline XML string
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-raw

QUICKSTART

GUIDE

Quickstart

Send raw CSV text in the request body to convert it to XML.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-raw" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;Name,Age,City\nAlice,30,New York\nBob,25,London\nCharlie,35,Sydney'

What you'll get back

Returns a plain string containing the XML output.

<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.
Raw CSV content.

About this endpoint

What it does

Converts a raw CSV request body into an XML string and returns that XML as the response. The endpoint accepts the CSV content in the body and a query flag indicating whether headers are absent.

Query Parameter(s)

AttributeTypeMandatoryDescription
headers_absentENUMNoWhether the CSV input has no header row. Allowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content.

Response

Returns a plain JSON string containing the generated XML output.

ParameterTypeMandatoryDescription
valueStringYesThe XML string produced from the input CSV.

Query parameters

Name
Type
Description
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ ENDPOINT 05 / 09
POST
Convert raw CSV body → S3 signed URL
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-url

QUICKSTART

GUIDE

Quickstart

Convert raw CSV text to XML and return a pre-signed download URL for the result.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-url?output=my-converted-data&headers_absent=true" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;Name,Age,City\nAlice,30,New York\nBob,25,London\nCharlie,35,Sydney'

What you'll get back

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

{
  "data": "https://..."
}
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.
Raw CSV content.

About this endpoint

What it does

Converts raw CSV content sent in the request body into XML and returns a pre-signed S3 URL where the converted file can be retrieved.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoDefault: sample-output
headers_absentENUMNoAllowed values: true, false<br>Default: false

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content.

Response

Returns a JSON object with a data string field formatted as a URI. data contains the pre-signed S3 URL for the converted file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ ENDPOINT 06 / 09
POST
Convert uploaded CSV file → inline XML string
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-file-xml-raw

QUICKSTART

GUIDE

Quickstart

Convert a CSV file to XML by uploading it as multipart form data.

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

What you'll get back

Returns a JSON string containing the converted XML output.

"<xml>...</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*
CSV file to convert. Accepted MIME types: `text/csv`, `text/plain`, `application/vnd.ms-excel`, `application/csv`, `application/octet-stream`.

About this endpoint

What it does

Converts an uploaded CSV file into an inline XML string. The request sends the CSV as a binary file upload, and the response is a plain string containing the generated XML.

Query Parameter(s)

AttributeTypeMandatoryDescription
headers_absentENUMNoAllowed values: true, false.<br>Default: false.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Accepted MIME types: text/csv, text/plain, application/vnd.ms-excel, application/csv, application/octet-stream. Format: binary.

Response

Returns a plain string containing the XML output generated from the uploaded CSV file. The success response body is a string; no JSON wrapper or named fields are defined in the schema.

Query parameters

Name
Type
Description
headers_absentOPTIONAL
string
true · false
DEFAULT false

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 CSV file → downloadable XML file
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-file-xml-file

QUICKSTART

GUIDE

Quickstart

Upload a CSV file to convert it into XML.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-file-xml-file?output=my-converted-data&headers_absent=true" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.csv"

What you'll get back

Returns a downloadable XML file as binary data (string with format: binary). The response body is the converted XML file.

<!-- binary XML file download -->
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*
CSV file to convert.

About this endpoint

What it does

Converts an uploaded CSV file into an XML file and returns the converted result as a downloadable binary response.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name. Default: sample-output.
headers_absentStringNoAllowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Binary upload.

Response

Returns a binary response containing the downloadable XML file with the converted data.

ParameterTypeMandatoryDescription
binaryStringYesDownloadable XML file containing the converted data.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

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 uploaded CSV file → S3 signed URL
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-file-xml-url

QUICKSTART

GUIDE

Quickstart

Upload a CSV file to convert it to XML and get back a pre-signed download URL.

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

What you'll get back

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

{
  "data": "https://..."
}
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*
CSV file to convert.

About this endpoint

What it does

Converts an uploaded CSV file into an XML file and returns a pre-signed S3 URL where the converted file can be downloaded.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the converted file. Default: sample-output.
headers_absentStringNoWhether the CSV file has no headers. Allowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Format: binary.

Response

Returns a JSON object with a data string field containing a URI. The data value is the pre-signed S3 URL to the converted file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file. Format: URI.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

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 09 / 09
POST
Convert raw CSV body → downloadable XML file
https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-file

QUICKSTART

GUIDE

Quickstart

Convert raw CSV text into an XML download with a single POST request.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-csv-to-xml/csv-raw-xml-file?output=my-converted-data&headers_absent=true" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;Name,Age,City\nAlice,30,New York\nBob,25,London\nCharlie,35,Sydney'

What you'll get back

Returns a downloadable XML file as a binary response.

...XML content...
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.
Raw CSV content.

About this endpoint

What it does

Converts raw CSV content in the request body into a downloadable XML file. The response is a binary file containing the converted data.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the generated file. Default: sample-output.
headers_absentENUMNoWhether the CSV input has no header row. Allowed values: true, false. Default: false.

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content.

Response

Returns a downloadable XML file as binary data. The success response is a single binary string representing the converted XML file.

ParameterTypeMandatoryDescription
binaryStringYesDownloadable XML file containing the converted data.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output
headers_absentOPTIONAL
string
true · false
DEFAULT false

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ 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.