Conversion, storage, sharing, and file retrieval endpoints that are ready for real apps.
Create API keys from your profile, authenticate with a bearer token, and work with versioned endpoints under /api/v1/. API access is available on eligible paid plans.
Every protected request uses a bearer token.
Generate a key in your profile, copy it immediately, and pass it in the Authorization header. Convert and Store stores keys hashed and only reveals the full token once.
Authorization: Bearer cas_your_api_key_here
Check uptime, inspect tool availability, and keep your client-side integrations aware of what is supported.
Resolve the authenticated user, plan, and API key identity safely from the token.
List files and folders, inspect metadata, download results, and manage public sharing links.
Submit supported image, video, PDF, document, and archive uploads through a stable versioned endpoint and hand the result back to your app immediately.
Switch endpoints and languages instantly
Pick an endpoint from our live API list, then flip through popular languages to copy the format you need.
Endpoint reference
Everything below is browsable, grouped, and paired with example response shapes so developers can move quickly.
/api/v1/
GET
Core
Optional
/api/v1/status
Checks API uptime and returns the current service timestamp.
Checks API uptime and returns the current service timestamp.
No required fields for this endpoint.
{
"ok": true,
"service": "convert-and-store",
"time": "2026-04-29T17:35:00+00:00"
}
GET
Catalog
Optional
/api/v1/tools
Returns the current public tool catalog with category details and API route metadata.
Returns the current public tool catalog with category details and API route metadata.
No required fields for this endpoint.
{
"ok": true,
"data": [
{
"slug": "image-editor",
"name": "All-in-One Image Editor",
"category_key": "image",
"category_name": "Image Tools",
"available": true,
"guest_eligible": true,
"api": {
"input_mode": "file",
"convert_path": "/api/v1/tools/image-editor/convert",
"legacy_convert_path": "/api/v1/convert/image-editor",
"upload_field": "upload",
"supports_multiple_uploads": false
}
}
],
"meta": {
"count": 1
}
}
GET
Catalog
Optional
/api/v1/tools/image-editor
Returns one tool descriptor, including its API path, upload mode, and supported request fields.
Returns one tool descriptor, including its API path, upload mode, and supported request fields.
No required fields for this endpoint.
{
"ok": true,
"data": {
"slug": "image-editor",
"name": "All-in-One Image Editor",
"available": true,
"guest_eligible": true,
"api": {
"input_mode": "file",
"convert_path": "/api/v1/tools/image-editor/convert",
"upload_field": "upload",
"supports_multiple_uploads": false,
"fields": [
{
"name": "upload",
"type": "file",
"required": true
},
{
"name": "width",
"type": "integer",
"required": false
}
]
}
}
}
GET
Account
Required
/api/v1/me
Returns the authenticated account tied to the bearer key.
Returns the authenticated account tied to the bearer key.
No required fields for this endpoint.
{
"data": {
"id": 14,
"name": "Jane Developer",
"email": "jane@example.com",
"plan_code": "pro",
"subscription_status": "active",
"next_billing_at": "2026-05-21 00:00:00",
"cancel_at_period_end": false,
"sync_allowed": true,
"api_key_name": "Production App"
}
}
POST
Account
Required
/api/v1/account/delete
Deletes the authenticated desktop or native-app account session owner, revokes related sessions and API keys, and closes the Convert and Store account directly from the client app.
Deletes the authenticated desktop or native-app account session owner, revokes related sessions and API keys, and closes the Convert and Store account directly from the client app.
No required fields for this endpoint.
{
"ok": true,
"data": {
"deleted": true
}
}
POST
Mobile Billing
Required
/api/v1/mobile/purchases/apple/sync
Records a verified Apple in-app purchase against the authenticated account, updates the account plan, and stores the transaction for admin billing metrics.
Records a verified Apple in-app purchase against the authenticated account, updates the account plan, and stores the transaction for admin billing metrics.
The Apple transaction identifier for the purchase or renewal event.
The original Apple transaction identifier for the subscription family.
The App Store Connect product identifier, such as com.convertandstore.business.monthly.
Use pro, business, or enterprise.
Use active, expired, revoked, refunded, or cancelled.
Optional localized amount captured by the client app.
Optional ISO currency code such as USD.
ISO-8601 purchase date.
ISO-8601 renewal or expiration date.
{
"ok": true,
"data": {
"purchase": {
"transaction_id": "2000001234567890",
"product_id": "com.convertandstore.business.monthly",
"plan_code": "business",
"status": "active",
"payment_status": "paid",
"user_plan_code": "business"
},
"user": {
"id": 14,
"email": "jane@example.com",
"plan_code": "business",
"subscription_status": "active"
}
}
}
POST
Platform Integrations
Apple server
/api/v1/apple/server-notifications
Receives App Store Server Notifications V2 from Apple, syncs renewals and expirations into Convert and Store billing, records Apple transactions beside Stripe transactions, and triggers receipt emails to the customer and admin mailbox when a new paid Apple event is recorded.
Receives App Store Server Notifications V2 from Apple, syncs renewals and expirations into Convert and Store billing, records Apple transactions beside Stripe transactions, and triggers receipt emails to the customer and admin mailbox when a new paid Apple event is recorded.
The signed JWS notification payload posted by App Store Server Notifications V2.
{
"received": true,
"notification_type": "DID_RENEW",
"subtype": null,
"notification_uuid": "9f1f8f6a-c1a0-4b47-8fd9-4e774f1a1d22",
"environment": "Production",
"signature_valid": true,
"synced_user_id": 14,
"synced": true
}
GET
Files
Required
/api/v1/files?sort=date_desc&visibility=public
Lists stored files for the authenticated account with optional search, visibility, extension, folder, and sort filters.
Lists stored files for the authenticated account with optional search, visibility, extension, folder, and sort filters.
Searches by file name, MIME type, or folder name.
Filters by extension such as png, pdf, zip.
Use public or private.
Limits results to one folder id.
Use date_desc, name_asc, size_desc, or type_asc.
{
"ok": true,
"data": [
{
"id": 121,
"name": "source.png",
"extension": "png",
"size_bytes": 845221,
"is_public": true,
"download_url": "https://convertandstore.com/api/v1/files/121/download",
"preview_url": "https://convertandstore.com/files/121/download?inline=1",
"share_url": "https://convertandstore.com/share/abc123token"
}
],
"meta": {
"count": 1,
"filters": {
"search": "",
"extension": "",
"visibility": "public",
"folder_id": "",
"sort": "date_desc"
}
}
}
GET
Files
Required
/api/v1/files/121
Returns metadata for one stored file owned by the authenticated account.
Returns metadata for one stored file owned by the authenticated account.
No required fields for this endpoint.
{
"ok": true,
"data": {
"id": 121,
"name": "source.png",
"mime_type": "image/png",
"extension": "png",
"size_bytes": 845221,
"folder_id": 9,
"is_public": true,
"download_url": "https://convertandstore.com/api/v1/files/121/download"
}
}
POST
Files
Required
/api/v1/files/batch-rename
Renames multiple files in one request using numeric or alphabet succession with optional prefix, suffix, and numeric zero-padding.
Renames multiple files in one request using numeric or alphabet succession with optional prefix, suffix, and numeric zero-padding.
One or more owned file ids in the order they should be renamed.
Use numeric or alphabet.
Text to place before the generated sequence.
Text to place after the generated sequence and before the extension.
Numeric starting value such as 1, or alphabet starting value such as A or AA.
Zero-padding width for numeric succession.
{
"ok": true,
"data": [
{
"id": 121,
"name": "project-001-final.png",
"extension": "png",
"size_bytes": 845221
},
{
"id": 122,
"name": "project-002-final.png",
"extension": "png",
"size_bytes": 842010
}
],
"meta": {
"count": 2,
"sequence_type": "numeric",
"start_at": "1",
"padding": 3
}
}
GET
Files
Required
/api/v1/files/121/download
Downloads a converted or stored file owned by the authenticated account.
Downloads a converted or stored file owned by the authenticated account.
No required fields for this endpoint.
{
"binary": true,
"content_type": "image/png"
}
GET
Folders
Required
/api/v1/folders
Lists the authenticated account folders and the current file count in each folder.
Lists the authenticated account folders and the current file count in each folder.
No required fields for this endpoint.
{
"ok": true,
"data": [
{
"id": 9,
"name": "Client Deliverables",
"slug": "client-deliverables-ab12cd",
"file_count": 8,
"share_url": "https://convertandstore.com/share/folder/foldertoken123"
}
]
}
POST
Folders
Required
/api/v1/folders
Creates a new folder for the authenticated account.
Creates a new folder for the authenticated account.
Folder name under 100 characters.
{
"ok": true,
"data": {
"id": 9,
"name": "Client Deliverables",
"slug": "client-deliverables-ab12cd",
"file_count": 0
}
}
POST
Folders
Required
/api/v1/folders/9/delete
Deletes a folder and lets you move its files to root, move them into another folder, or delete them together.
Deletes a folder and lets you move its files to root, move them into another folder, or delete them together.
Use root, move, or delete.
Required when mode is move.
{
"ok": true,
"data": {
"deleted": true,
"folder_id": 9,
"mode": "move",
"files_affected": 8,
"target_folder_id": 14
}
}
GET
Sharing
Required
/api/v1/shared-folders
Lists private folders that were shared directly with the authenticated account by another signed-in user.
Lists private folders that were shared directly with the authenticated account by another signed-in user.
No required fields for this endpoint.
{
"ok": true,
"data": [
{
"member_share_id": 33,
"id": 18,
"name": "Q3 Approvals",
"permission": "view",
"owner_name": "Jordan Client Services",
"owner_public_username": "jordandelivers",
"file_count": 6,
"total_size_bytes": 9421882
}
],
"meta": {
"count": 1
}
}
GET
Sharing
Required
/api/v1/shared-folders/33
Returns one private shared folder plus the files it currently contains.
Returns one private shared folder plus the files it currently contains.
No required fields for this endpoint.
{
"ok": true,
"data": {
"folder": {
"member_share_id": 33,
"id": 18,
"name": "Q3 Approvals",
"permission": "view",
"owner_name": "Jordan Client Services",
"owner_public_username": "jordandelivers"
},
"files": [
{
"id": 121,
"name": "source.png",
"download_url": "https://convertandstore.com/api/v1/shared-folders/33/files/121/download"
}
]
}
}
POST
Sharing
Required
/api/v1/folders/18/share-member
Grants a signed-in member private access to one of your folders by email address or public username.
Grants a signed-in member private access to one of your folders by email address or public username.
The teammate email address or public username.
{
"ok": true,
"data": {
"share_id": 33,
"folder_id": 18,
"shared_with_user_id": 44,
"shared_with_email": "teammate@example.com",
"shared_with_public_username": "teammate",
"permission": "view"
}
}
POST
Sharing
Required
/api/v1/folders/18/share-member/33/revoke
Removes a previously granted private folder share from one member account.
Removes a previously granted private folder share from one member account.
No required fields for this endpoint.
{
"ok": true,
"data": {
"revoked": true,
"share_id": 33,
"folder_id": 18
}
}
POST
Files
Required
/api/v1/files/121/move
Moves one stored file into another folder or back to the main root file list.
Moves one stored file into another folder or back to the main root file list.
Target folder id. Leave empty to move the file back to root.
{
"ok": true,
"data": {
"id": 121,
"name": "source.png",
"folder_id": 14,
"folder_name": "Approved Assets",
"download_url": "https://convertandstore.com/api/v1/files/121/download"
}
}
GET
Automation
Required
/api/v1/watch-folders
Returns personal and team watch-folder recipes that the Windows app can assign to local folders for auto-convert workflows.
Returns personal and team watch-folder recipes that the Windows app can assign to local folders for auto-convert workflows.
No required fields for this endpoint.
{
"ok": true,
"data": {
"personal_allowed": true,
"team_allowed": true,
"team_watch_enabled": true,
"personal": [
{
"id": 7,
"name": "Product screenshots to PNG",
"tool_slug": "png-to-jpg",
"tool_name": "PNG to JPG",
"target_folder_label": "Root files list",
"store_original": false,
"is_active": true
}
],
"team": [
{
"id": 12,
"name": "Client intake to WEBP",
"tool_slug": "jpg-to-webp",
"tool_name": "JPG to WEBP",
"store_original": true,
"is_active": true
}
]
}
}
POST
Automation
Required
/api/v1/watch-folders
Creates or saves a personal watch-folder recipe for Business or Enterprise accounts.
Creates or saves a personal watch-folder recipe for Business or Enterprise accounts.
Recipe name shown in the desktop app.
The conversion tool slug to run automatically.
Optional destination folder for converted results.
Set to 1 to keep the source file as well as the converted result.
Set to 1 to make the recipe available immediately.
Optional JSON overrides that match the tool API fields.
{
"ok": true,
"data": {
"id": 7,
"name": "Product screenshots to PNG",
"tool_slug": "png-to-jpg",
"tool_name": "PNG to JPG",
"target_folder_label": "Root files list",
"store_original": false,
"is_active": true
}
}
POST
Automation
Required
/api/v1/team/watch-folders
Creates a shared team watch-folder recipe for an Enterprise workspace owner.
Creates a shared team watch-folder recipe for an Enterprise workspace owner.
Recipe name shown to the team in the desktop app.
The conversion tool slug to run automatically.
Set to 1 to keep the source file as well as the converted result.
Set to 1 to make the recipe available immediately.
Optional JSON overrides that match the tool API fields.
{
"ok": true,
"data": {
"id": 12,
"name": "Client intake to WEBP",
"tool_slug": "jpg-to-webp",
"tool_name": "JPG to WEBP",
"store_original": true,
"is_active": true
}
}
GET
Team
Required
/api/v1/team
Returns the current team workspace, active members, pending invitations, seat usage, and whether the authenticated account is Enterprise-eligible.
Returns the current team workspace, active members, pending invitations, seat usage, and whether the authenticated account is Enterprise-eligible.
No required fields for this endpoint.
{
"ok": true,
"data": {
"team": {
"id": 5,
"name": "Sitelift Production",
"relationship": "owner",
"desktop_sync_enabled": true,
"watch_folders_enabled": true,
"branded_sharing_enabled": true,
"webhooks_enabled": true
},
"members": [
{
"id": 77,
"role": "admin",
"name": "Alex Operations",
"email": "alex@example.com"
}
],
"invitations": [
{
"id": 12,
"email": "newhire@example.com",
"role": "member",
"status": "pending"
}
],
"seat_usage": {
"active_members": 4,
"max_members": 10
},
"eligible": true
}
}
POST
Team
Required
/api/v1/team
Updates Enterprise team settings such as the team name and which rollout features are enabled.
Updates Enterprise team settings such as the team name and which rollout features are enabled.
The team display name.
Set to 1 to enable team desktop sync controls.
Set to 1 to allow watch-folder auto-convert workflows.
Set to 1 to turn on team branded share pages.
Set to 1 to allow webhook endpoint delivery for this team.
{
"ok": true,
"data": {
"team": {
"id": 5,
"name": "Sitelift Production",
"watch_folders_enabled": true,
"webhooks_enabled": true
}
}
}
POST
Team
Required
/api/v1/team/invitations
Sends an email invitation to join the owner’s Enterprise team workspace.
Sends an email invitation to join the owner’s Enterprise team workspace.
The teammate email address.
Use admin or member.
{
"ok": true,
"data": {
"email": "newhire@example.com",
"role": "member",
"invite_url": "https://convertandstore.com/team/invitations/exampletoken"
}
}
POST
Team
Required
/api/v1/team/members/77/role
Changes a current team member role between admin and member.
Changes a current team member role between admin and member.
Use admin or member.
{
"ok": true,
"data": {
"updated": true,
"membership_id": 77
}
}
POST
Team
Required
/api/v1/team/members/77/remove
Removes one member from the Enterprise team workspace.
Removes one member from the Enterprise team workspace.
No required fields for this endpoint.
{
"ok": true,
"data": {
"removed": true,
"membership_id": 77
}
}
POST
Team
Required
/api/v1/team/invitations/12/revoke
Revokes a pending Enterprise team invitation before it is accepted.
Revokes a pending Enterprise team invitation before it is accepted.
No required fields for this endpoint.
{
"ok": true,
"data": {
"revoked": true,
"invitation_id": 12
}
}
GET
Webhooks
Required
/api/v1/webhooks
Returns webhook eligibility, supported events, configured endpoints, and recent delivery attempts.
Returns webhook eligibility, supported events, configured endpoints, and recent delivery attempts.
No required fields for this endpoint.
{
"ok": true,
"data": {
"eligible": true,
"events": [
"conversion.completed",
"file.shared",
"folder.shared",
"team.member.invited",
"team.member.joined"
],
"endpoints": [
{
"id": 3,
"name": "Production automation",
"endpoint_url": "https://example.com/webhooks/convert-and-store",
"events": [
"conversion.completed",
"file.shared"
]
}
],
"deliveries": [
{
"id": 14,
"event_name": "conversion.completed",
"status_code": 202,
"success": true
}
]
}
}
POST
Webhooks
Required
/api/v1/webhooks
Creates a signed webhook endpoint for an Enterprise account and returns the secret one time.
Creates a signed webhook endpoint for an Enterprise account and returns the secret one time.
A label for the endpoint.
The HTTPS endpoint that should receive events.
One or more supported webhook event names.
{
"ok": true,
"data": {
"id": 3,
"name": "Production automation",
"endpoint_url": "https://example.com/webhooks/convert-and-store",
"events": [
"conversion.completed",
"file.shared"
],
"plain_signing_secret": "cwhs_example_secret"
}
}
POST
Webhooks
Required
/api/v1/webhooks/3/delete
Deletes a configured webhook endpoint.
Deletes a configured webhook endpoint.
No required fields for this endpoint.
{
"ok": true,
"data": {
"deleted": true,
"endpoint_id": 3
}
}
POST
Sharing
Required
/api/v1/files/121/share
Turns public sharing on or off for a stored file and returns the share URL when enabled.
Turns public sharing on or off for a stored file and returns the share URL when enabled.
Use 1 or true to enable, 0 or false to revoke.
{
"ok": true,
"data": {
"file": {
"id": 121,
"name": "source.png",
"is_public": true
},
"share": {
"is_public": true,
"token": "abc123token",
"url": "https://convertandstore.com/share/abc123token"
}
}
}
POST
Files
Required
/api/v1/files/121/delete
Soft deletes a stored file from the authenticated account and updates storage usage.
Soft deletes a stored file from the authenticated account and updates storage usage.
No required fields for this endpoint.
{
"ok": true,
"data": {
"deleted": true,
"file_id": 121
}
}
Every conversion tool has its own API route.
Use /api/v1/tools/{slug}/convert for production integrations. Pick any tool below to see the exact route, required fields, and code samples in your preferred language.
Modern image conversion, compression, resizing, watermarking, and optimization.
/api/v1/tools/image-editor/convert
/api/v1/tools/jpg-to-png/convert
/api/v1/tools/png-to-jpg/convert
/api/v1/tools/webp-to-jpg/convert
/api/v1/tools/jpg-to-webp/convert
/api/v1/tools/png-to-webp/convert
/api/v1/tools/gif-to-png/convert
/api/v1/tools/bmp-converter/convert
/api/v1/tools/tiff-converter/convert
/api/v1/tools/ico-converter/convert
/api/v1/tools/avif-converter/convert
/api/v1/tools/heic-converter/convert
/api/v1/tools/svg-to-png/convert
/api/v1/tools/image-resize/convert
/api/v1/tools/image-compress/convert
/api/v1/tools/image-crop/convert
/api/v1/tools/image-rotate/convert
/api/v1/tools/image-flip/convert
/api/v1/tools/image-grayscale/convert
/api/v1/tools/image-watermark/convert
/api/v1/tools/bulk-image-conversion/convert
FFmpeg-backed video conversion, compression, thumbnails, GIF exports, and audio extraction.
/api/v1/tools/mp4-to-webm/convert
/api/v1/tools/mov-to-mp4/convert
/api/v1/tools/avi-to-mp4/convert
/api/v1/tools/mkv-to-mp4/convert
/api/v1/tools/video-compress/convert
/api/v1/tools/video-to-gif/convert
/api/v1/tools/extract-audio-mp3/convert
/api/v1/tools/video-thumbnail/convert
Capture visual web assets from a URL with secure browser-based rendering.
/api/v1/tools/website-screenshot/convert
FFmpeg-backed audio conversion, compression, cleanup, and audio extraction workflows.
/api/v1/tools/mp3-to-wav/convert
/api/v1/tools/wav-to-mp3/convert
/api/v1/tools/mp3-to-aac/convert
/api/v1/tools/aac-to-mp3/convert
/api/v1/tools/mp3-to-ogg/convert
/api/v1/tools/ogg-to-mp3/convert
/api/v1/tools/flac-to-mp3/convert
/api/v1/tools/mp3-to-flac/convert
/api/v1/tools/m4a-to-mp3/convert
/api/v1/tools/mp3-to-m4a/convert
/api/v1/tools/audio-to-mp3/convert
/api/v1/tools/audio-to-wav/convert
/api/v1/tools/compress-audio/convert
/api/v1/tools/extract-audio-from-video/convert
Secure PDF workflows for merge, split, compress, extract, and convert tasks.
/api/v1/tools/image-to-pdf/convert
/api/v1/tools/pdf-to-image/convert
/api/v1/tools/merge-pdf/convert
/api/v1/tools/split-pdf/convert
/api/v1/tools/compress-pdf/convert
/api/v1/tools/reorder-pdf-pages/convert
/api/v1/tools/extract-pdf-pages/convert
/api/v1/tools/pdf-to-text/convert
/api/v1/tools/unlock-pdf/convert
/api/v1/tools/docx-to-pdf/convert
/api/v1/tools/html-to-pdf/convert
/api/v1/tools/markdown-to-pdf/convert
Spreadsheet conversions and normalization powered by secure backend processing.
/api/v1/tools/xlsx-to-csv/convert
/api/v1/tools/csv-to-xlsx/convert
/api/v1/tools/ods-converter/convert
Document and text workflows for office files, notes, and lightweight publishing.
/api/v1/tools/txt-to-pdf/convert
/api/v1/tools/rtf-converter/convert
/api/v1/tools/markdown-to-html/convert
Archive packaging and extraction with honest server-side capability detection.
/api/v1/tools/zip-create/convert
/api/v1/tools/zip-extract/convert
/api/v1/tools/tar-create/convert
/api/v1/tools/tar-tools/convert
/api/v1/tools/tar-gz-create/convert
/api/v1/tools/gz-tools/convert
/api/v1/tools/tar-gz-tools/convert
/api/v1/tools/seven-z-create/convert
/api/v1/tools/seven-z-tools/convert
/api/v1/tools/rar-create/convert
/api/v1/tools/rar-to-zip/convert