WarpLink
Trust and reliability

Data Portability and Leaving WarpLink

What you can export from WarpLink, why custom domains stay yours, what installed apps do after you leave, cancel versus delete, and a leaving checklist.

You can export every link as a CSV from the dashboard or page through them with the REST API, and a custom domain stays yours: you repoint its DNS. Cancelling a paid plan does not stop your links. Deleting your account does, permanently. This page lists what you can take with you and what to plan for before you leave.

What you can export

DataHowNotes
All linksDashboard, Links page, Export button. The route is GET /api/dashboard/links/export.One CSV for the whole organization. Needs permission to read links.
All links, programmaticallyGET /v1/links with an API key that has the links:read scopelimit from 1 to 100 (default 20), offset, and the filters tag, is_active, and search. The response carries pagination with total, limit, offset, and has_more.
AppsGET /v1/appsiOS and Android configuration for each app.
Custom domainsGET /v1/domainsThe domains registered to your organization.
Click rowsThe Exports API, the dashboard Analytics page, or the MCP export_analytics toolCSV, one row per click. See below.
Aggregated analyticsGET /v1/analytics and the dashboard Analytics pageThe same figures the dashboard shows, within your plan's retention. See Link analytics.

The REST API allows 60 requests a minute per key (see Rate limiting). At 100 links a request, an organization with 10,000 links pages through in about two minutes.

The file has one row per link and these columns, in this order: slug, domain, destination_url, ios_url, ios_fallback_url, android_url, android_fallback_url, app_bundle_id, app_package_name, og_title, og_description, og_image_url, utm_source, utm_medium, utm_campaign, parameters, tags, match_window_hours, expires_at, password_protected, is_active, created_at, created_by.

created_by is filled only for people who can manage the team, and the column is always present so the file keeps one shape. A password is never exported, only whether the link is password_protected.

Raw click rows

Click-level CSV exports use the Exports API. You start an export for the whole organization or for one link, check its status, and download the finished file as often as you need. Every download of a finished export returns identical bytes, and the file respects your plan's retention window. The same exports are available from the dashboard Analytics page and through the MCP export_analytics tool.

Custom domains are yours

You register a custom domain, so you own it. To move it, point its DNS at the service that will host your links, then remove the domain in the dashboard. Your DNS records are the only thing that decides where your short links resolve.

Two things depend on the domain being served by us, so plan for them:

  • Universal Links and App Links. While the domain is active, we serve the association files for it (apple-app-site-association and assetlinks.json). Your new host must serve equivalent files for the domain, or links on it stop opening your app.
  • The default domains. aplnk.to and the {handle}.aplnk.to app addresses belong to WarpLink. Links on them cannot move with you. If you want a portable link address, use a custom domain from the start.

What installed apps do after you leave

An installed app that contains the WarpLink SDK calls our API with its SDK key. Users keep the version you shipped until they update, so those calls continue after you leave.

Your actionWhat the SDK in an installed app does
You cancel a paid planKeeps working. Link resolution and attribution continue under the Free plan limits.
You delete your organization or accountIts keys are deleted with it, so the calls fail with an invalid-key error and the SDK reports that error to your onLink callback. Your app keeps running.

To leave cleanly, ship an app update that removes the SDK or replaces it with your own handling, and keep the old links redirecting until most users have updated. You cannot change what an installed version does from the server side.

Cancel or delete

Cancel a paid planDelete your account or organization
LinksKeep redirectingStop redirecting
DataKept. Your analytics history is kept for your old plan's retention window.Removed, and cannot be recovered
AccountStays open on the Free planClosed
BillingYour paid plan runs to the end of the period, with no refund. The separate refund-and-end-now option refunds the unused time and ends paid access immediately.The subscription is cancelled. Deletion does not issue a refund.
ReversibleYes. You can resume the subscription before the period ends, or upgrade again later.No

Cancelling is not leaving. If you want to stop paying and keep your links working, cancel. If you want your data removed, export first and then delete. For every plan change in detail, see Plan changes and billing transitions.

Leaving checklist

  1. Export your links from the dashboard Links page.
  2. Page GET /v1/links and keep the JSON as a second copy. It carries fields the CSV does not, such as link IDs.
  3. Record your analytics figures from the dashboard or GET /v1/analytics.
  4. List your custom domains with GET /v1/domains and decide where each will point.
  5. Set up replacement link hosting and make it serve apple-app-site-association and assetlinks.json for each custom domain.
  6. Ship an app update that removes or replaces the SDK, and wait for most users to update.
  7. Repoint DNS for each custom domain.
  8. Cancel the subscription if you want to stop paying but keep the account.
  9. Delete the organization only after steps 1 to 7, because deletion cannot be undone.

On this page