Link creation and slugs

Create links, choose safe custom slugs, and understand expiration and fallback behavior.

How link creation works

Every short link in Nimriz has three key components: a domain, a slug (the short code), and a destination URL. When a visitor hits your short link, Nimriz resolves the exact domain, finds the slug on that domain, and redirects them to the destination.

Links are scoped to a specific domain. The same slug can exist on two different domains without conflict, but cannot appear twice on the same domain.


Prerequisites

Before creating a link, make sure you have:

  • An active workspace with a domain assigned to it (either a Nimriz built-in domain or a fully verified custom domain).
  • The destination URL ready-it must use https:// (or http:// if explicitly allowed by your domain policy).
  • Sufficient monthly quota remaining on your workspace or domain.

Creating a link from the dashboard

  1. Open your workspace and click New link (or use the keyboard shortcut in the dashboard).
  2. Paste your destination URL into the Destination field. Nimriz validates the URL format immediately.
  3. Select the domain you want to use. Only domains currently granted to your workspace appear in the selector.
  4. Optionally enter a custom slug. If you leave it blank, Nimriz generates a random slug.
  5. Optionally set an expiration date and time.
  6. Optionally enable password protection (plan-gated).
  7. Click Create link.

After creation, Nimriz returns the full short URL. The link is immediately live on the redirect network.


Choosing a domain

Nimriz offers two types of domains:

Nimriz built-in domains (such as nim.lu, riz.to, rix.to) are shared platform domains. They are ready immediately without any DNS configuration. On these shared domains, slugs are shared across all accounts, so highly common words are likely already taken.

Custom branded domains (such as links.example.com) are domains you own and verify. They offer complete control over your slug namespace, and they are the only domain type that supports deep links.

Domain selection matters beyond branding. Each domain has its own:

  • Slug namespace (slugs are unique per domain, not globally).
  • Expiration policy (some domains require an expiration on every link).
  • API access mode (private or public).
  • Fallback behavior for expired and missing links.

Slugs

The slug is the path after the domain, for example spring-launch in links.example.com/spring-launch.

Formatting rules

  • Minimum length: 5 characters by default. Your domain or account policy may increase this minimum.
  • Maximum length: 64 characters.
  • Allowed characters: letters, digits, hyphens, and underscores.
  • Not allowed: spaces, forward slashes /, or URL-unsafe characters.

What makes a good slug

  • Descriptive enough to recognize later without opening the link.
  • Short enough to read aloud or type without errors.
  • Consistent with your campaign naming conventions-teams benefit from agreed prefixes like em- for email campaigns or so- for social.

Reserved and blocked slugs

Some slugs cannot be used on any domain:

ReasonExamplesError code
System-reserved pathadmin, api, login, billing, _health, .well-knownslug_reserved
Below domain's minimum lengthA 3-character slug on a domain with a 5-character minimumslug_reserved
Recently deletedSlug from a purged link that is in a temporary block windowslug_unavailable
Already takenAnother link on the same domain already uses this slugslug_unavailable

Minimum custom slug length is resolved in this order:

  1. Domain-level policy (most specific).
  2. Account-level policy.
  3. Global default of 5 characters.

Destination URL rules

ConditionBehavior
https:// destinationAlways accepted (recommended).
http:// destinationAccepted if your domain policy allows it; otherwise rejected.
javascript:, data:, file:Always blocked for safety.
Destination pointing to a Nimriz-managed domainBlocked to prevent redirect loops.
Destination pointing to the same short domainBlocked to prevent self-referential loops.

Always use HTTPS destinations in production. HTTP destinations can cause browser security warnings for visitors.


Redirect behavior

By default, Nimriz issues a 302 temporary redirect. Use this for campaigns, promotions, or any link where the destination might change.

To request a 301 permanent redirect, set redirect_status_code: 301 via the API. Use 301 only when you are certain the destination will never change-browsers and search engines cache 301s aggressively, and you cannot undo them from the visitor's browser after the fact.


Link states

After creation, a link can be in one of these states:

StateRedirect behavior
activeRedirects normally to the destination.
disabledDoes not redirect; falls back to the domain's not-found landing URL.
expiredThe expiration time has passed; falls back to the domain's expired landing URL.
flaggedMay show interstitial behavior depending on the specific takedown state.

Link expiration

You can set an optional expiration date when creating or updating a link.

When a link expires:

  • Redirects stop immediately at the expiration time.
  • Visitors are sent to the domain's configured expired landing URL instead.
  • An expired link is an intentional stop state, not a broken link.

Some domains enforce expiration-links on those domains require an expires_at value or the create call will fail with expiration_required.

You can extend or remove expiration on existing links through the dashboard or the PUT /api/update-expiration endpoint, subject to domain and plan policy. If the operation is blocked, the domain policy does not allow expiration changes for that link's current state.


Editing an existing link

After a link is created you can:

  • Change the destination URL from the link detail page.
  • Change the slug-the old slug immediately stops working unless you create a separate link for it. Notify your audience before changing slugs on published links.
  • Add, change, or remove expiration when policy allows.
  • Add, change, or remove password protection (plan-gated).
  • Add routing rules (plan-gated).

Troubleshooting create and edit errors

Error codeWhat it meansWhat to do
slug_reservedSlug is a system path or below the minimum length.Choose a longer or different slug.
slug_unavailableSlug is taken or in a temporary block window after deletion.Try a different slug.
destination_blockedDestination uses a forbidden scheme or points to a Nimriz domain.Use a valid HTTPS destination that does not point back to a Nimriz domain.
invalid_expires_atThe expiration timestamp is malformed.Send a valid ISO 8601 timestamp (e.g., 2026-12-31T23:59:59Z).
expiration_requiredThe domain requires an expiration on every link.Include a valid expires_at value.
expiration_update_not_allowedThe domain policy blocks expiration changes for this link.Contact support if you need to change the expiration on a restricted domain.
monthly_quota_exceededYour workspace or domain has reached its link-creation limit for this billing period.Wait for the quota to reset, or upgrade your plan.
domain_disabledThe domain is not active.Check domain status in your workspace settings.
account_suspendedThe workspace account is suspended.Contact support.

Related guides