apyhub
FILE MANIPULATION · FILE SECURITY

Unarchive Secured Files API

Hosted on ApyHub

What it does

Archive Extractor decrypts a password-protected .zip, .rar, or .7z archive and returns signed URLs for the files inside. Send either an uploaded archive file or a remote archive URL, plus the password required to open it.

Use the /file/link endpoint when you already have the archive in your request body, or /url/link when the archive lives at a downloadable URL. In both cases, the response is a data array of URI strings, one signed cloud storage link per extracted file. That makes it easy to hand extracted documents, images, or other assets to downstream steps without re-hosting the archive yourself.

Archive Extractor fits workflows where protected files need to be unpacked automatically: customer-uploaded document bundles, vendor-delivered asset archives, or internal automation that processes encrypted backups. You handle the password check once, then work with the extracted file links directly.

▣ ENDPOINT 01 / 02
POST
Extract password-protected uploaded archive and return signed URLs
http://localhost:8080/apyhub/extract-password-protected-archive/file/link
QUICKSTARTGUIDE

Quickstart

Upload a password-protected archive by file link and its password to get signed URLs for the extracted files.

curl -X POST "http://localhost:8080/apyhub/extract-password-protected-archive/file/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/textfile.zip" \
  -F "password=1234"

What you'll get back

Returns a JSON object with a data array of URI strings, one signed cloud storage URL for each extracted file.

{
  "data": [
    "https://storage.example.com/unzip/document.pdf?sig=abc",
    "https://storage.example.com/unzip/image.png?sig=def"
  ]
}
TRY ITLIVE · 300 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*
Password-protected archive (.zip, .rar, or .7z).
Password required to decrypt the archive.

About this endpoint

What it does

Extracts a password-protected uploaded archive and returns signed URLs for the files inside it. You provide the archive file and its password in the request body.

Request Body

ParameterTypeMandatoryDescription
fileBinaryYesPassword-protected archive (.zip, .rar, or .7z). Binary file upload.
passwordStringYesPassword required to decrypt the archive.

Response

Returns a JSON object with a data array of URI strings. Each item is a signed cloud storage URL for one extracted file.

ParameterTypeMandatoryDescription
dataString ArrayYesSigned cloud storage URLs for each extracted file.

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 02 / 02
POST
Extract password-protected remote archive and return signed URLs
http://localhost:8080/apyhub/extract-password-protected-archive/url/link
QUICKSTARTGUIDE

Quickstart

Extract a password-protected archive from a public URL by sending the archive link and its password.

curl -X POST "http://localhost:8080/apyhub/extract-password-protected-archive/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.zip",
    "password": "secret123"
  }'

What you'll get back

Returns a JSON object with a data array of strings, where each string is a signed cloud storage URL for one extracted file.

{
  "data": [
    "https://storage.example.com/unzip/document.pdf?sig=abc",
    "https://storage.example.com/unzip/image.png?sig=def"
  ]
}
TRY ITLIVE · 300 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*
Password required to decrypt the archive.

About this endpoint

What it does

Extracts a password-protected remote archive from a URL using the provided password and returns signed URLs for the extracted files.

Request Body

ParameterTypeMandatoryDescription
urlStringYesThe remote archive URL. Must be a URI.
passwordStringYesPassword required to decrypt the archive.

Response

Returns a JSON object with a data array field containing signed URI strings for each extracted file.

ParameterTypeMandatoryDescription
dataString ArrayYesSigned cloud storage URLs for each extracted file. Each item is a URI.

Body

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