Skip to main content
With the Teasy API you can:
  • Create redirect links — one at a time, or in bulk, up to 100 per call.
  • Read landing pages built in the dashboard. Creating and editing them is not available in v1.
  • Serve links from a domain of your own, once you have connected it.
  • Group links together, to keep campaigns apart and to read analytics per group.

Your first redirect

A redirect needs a name, a target and an address. On our system domain teasy.link the slug is what makes that address unique, so it is required:
201, and the link is live:

Using your own domain

Before you didn’t pass any domain (or passed teasy.link which are identical result). But you may to use your own.
A domain works here only once it is verified and active. See Custom domains.
1

Create the group

2

Assign the link to it

The updated redirect comes back with group_id set. To move several links at once, use assign.

How be build URLs

url is computed from the other two. domain is a plain hostname string — the same value you sent when creating a link. But what should you send? Let’s see.
It’s important to remember that a slug is unique within a single domain. You can create a link without providing a slug for your domain and get a clean link like yourbrand.com, but this link will be unique. All other links on that domain will need to have a unique slug.
Slugs are 3–25 characters, lowercase letters and hyphens only — no digits.

Creating a redirect

PATCH takes the same fields, all optional; null clears. See Response shapes. Deactivating a link is a PATCH with is_active: false. Inactive links stop resolving but keep their statistics. Lists return a flat form. Retrieving one link returns the card, which adds pixels and geo_blocklists — and for landing pages the page’s own content. Bulk operations return the flat form.

Geo blocklists

Same format on input and output:
  • Country level only. Regions and cities configured in the dashboard are neither returned nor modified by this API.
  • An empty array or null removes all country blocks.
  • ISO 3166-1 alpha-2, normalised to upper case. An unknown or duplicated code fails the whole request with 400 invalid_request and lists the offenders in details.

Groups

We don’t provide nested links inside group’s object. To get it’s children you can request links using ?group_id= query. name is the only editable field, 1–100 characters.

Membership

assign and unassign take redirects and landing pages mixed together in one link_ids array. See Bulk operations. A link already in the target state counts as a success, not an error, so retrying a failed batch converges instead of compounding. Unassigning requires the group in the path to be the one the links currently belong to. Pass a different group and the elements come back as failures.

Deleting a group

After deleting group it’s links will not be deleted. They will become ungrouped and will be able inside ?group_id=none list.