apyhub

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.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT output.zip

Body

Name
Type
Description
bodyREQUIRED
object
▣ 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.

Body

Name
Type
Description
bodyREQUIRED
object
▣ 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.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT output.zip

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

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT output.zip

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.

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