apyhub
Back

Generate Archives API

What it does

ZIP Archiver creates ZIP files from either remote file URLs or uploaded files. Send it a list of urls or a list of binary files, and get back either a streamed ZIP download or a signed link to the archive.

Use the /url/download and /file/download endpoints when you want the archive returned directly as binary data. Use the /url/link and /file/link endpoints when you prefer a generated URI you can store, share, or fetch later. The only input it needs is the list of files you want to bundle; the archive filename can be passed as output on the download and file-link variants.

ZIP Archiver is a good fit for packaging reports, assets, invoices, image sets, or any batch of documents into a single download. It also works well in backend workflows where you need to collect remote resources into one archive before handing them off to another service or user.

▣ ENDPOINT 01 / 04
POST
Create ZIP from remote file URLs and stream download
https://api.eu.apyverse.com/apyhub/zip-archiver/url/download

QUICKSTART

GUIDE

Quickstart

Download a ZIP archive from a list of file URLs.

curl -X POST "https://api.eu.apyverse.com/apyhub/zip-archiver/url/download?output=output.zip" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://assets.apyhub.com/samples/sample.pdf",
      "https://assets.apyhub.com/samples/sample.png"
    ]
  }'

What you'll get back

Returns binary data (string with format: "binary") containing the generated ZIP file.

(binary ZIP file)
TRY ITLIVE · 150 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*
urls*

About this endpoint

What it does

Creates a ZIP archive from one or more remote file URLs and streams the ZIP file back in the response.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoThe output filename. Default: output.zip.

Request Body

ParameterTypeMandatoryDescription
urlsString ArrayYesRemote file URLs to include in the ZIP archive. Each item must be a URI. Minimum items: 1.

Response

Returns a binary file stream, not a JSON object. The output schema is string with binary format, so the successful response is the ZIP archive itself rather than structured fields.

▣ ENDPOINT 02 / 04
POST
Create ZIP from remote file URLs and return signed link
https://api.eu.apyverse.com/apyhub/zip-archiver/url/link

QUICKSTART

GUIDE

Quickstart

Create a ZIP from one or more file URLs by sending their links in the request body.

curl -X POST "https://api.eu.apyverse.com/apyhub/zip-archiver/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"urls":["https://assets.apyhub.com/samples/sample.pdf","https://assets.apyhub.com/samples/sample.png"]}'

What you'll get back

Returns a JSON object with a data string field containing the ZIP file URL.

{
  "data": "https://storage.example.com/zip/output.zip?sig=abc"
}
TRY ITLIVE · 150 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*
urls*

About this endpoint

What it does

Creates a ZIP archive from the remote file URLs you provide and returns a signed URL to the generated ZIP file.

Request Body

ParameterTypeMandatoryDescription
urlsString ArrayYesRemote file URLs to include in the ZIP archive. Must contain at least 1 URI.

Response

Returns a JSON object with a data string field containing a URI to the generated ZIP file. The success response is the object { data: string } and the data value is the signed download link for the ZIP.

ParameterTypeMandatoryDescription
dataStringYesSigned URI for the generated ZIP file.
▣ ENDPOINT 03 / 04
POST
Create ZIP from uploaded files and stream download
https://api.eu.apyverse.com/apyhub/zip-archiver/file/download

QUICKSTART

GUIDE

Quickstart

Upload one or more files and get a ZIP archive back. The optional output query parameter lets you name the downloaded archive.

curl -X POST "https://api.eu.apyverse.com/apyhub/zip-archiver/file/download?output=output.zip" \
  -H "apy-token: $APY_TOKEN" \
  -F "files=@/path/to/file1.txt" \
  -F "files=@/path/to/file2.png"

What you'll get back

Returns a binary file response.

TRY ITLIVE · 150 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*
files*
One or more files to include in the archive.

About this endpoint

What it does

Creates a ZIP archive from one or more uploaded files and streams the resulting archive back as a binary file download.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput filename. Default: output.zip

Request Body

ParameterTypeMandatoryDescription
filesString ArrayYesOne or more files to include in the archive.

Response

Returns a binary file stream as the success response.

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

▣ ENDPOINT 04 / 04
POST
Create ZIP from uploaded files and return signed link
https://api.eu.apyverse.com/apyhub/zip-archiver/file/link

QUICKSTART

GUIDE

Quickstart

Upload one or more files from a link and get back a downloadable ZIP URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/zip-archiver/file/link?output=output.zip" \
  -H "apy-token: $APY_TOKEN" \
  -F "files=@/path/to/file1.txt" \
  -F "files=@/path/to/file2.jpg"

What you'll get back

Returns a JSON object with a data string field containing the URI of the generated ZIP file.

{
  "data": "https://storage.example.com/zip/output.zip?sig=abc"
}
TRY ITLIVE · 150 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*
files*

About this endpoint

What it does

Creates a ZIP archive from the uploaded files and returns a signed download link for the generated archive.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoName of the ZIP file to create. Default: output.zip.

Request Body

ParameterTypeMandatoryDescription
filesString ArrayYesUploaded files to include in the ZIP archive. Each item is a binary file.

Response

Returns a JSON object with a data string field containing a URI to the generated ZIP file.

ParameterTypeMandatoryDescription
dataStringYesSigned download link for the ZIP file.

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

▣ 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.