RoutePath.devRoutePath.to

API reference

Base URL: https://www.routepath.to/links-api. Send your key as Authorization: Bearer rpto_…, see authentication. This page is generated from RoutePath.to's live OpenAPI document, so it lists only endpoints that exist.

Prefer an interactive explorer? Open the interactive API docs or fetch the OpenAPI JSON.

Links

POST/api/v1/linksscope: links.write

Create a link

JSON body fields

destination_url*labelslugexpires_atmax_clickspasswordexpired_urltag_idscommentspublic_statsios_urlandroid_urlgeoproxyog_titleog_descriptionog_imagetest_variantsdomain

* required

Responses

  • 201 The new link
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 409 Slug taken
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)
POST/api/v1/links/bulkscope: links.write.

Create up to 100 links

All or nothing: a 400 lists every bad row.

JSON body fields

links*

* required

Responses

  • 201 The new links
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)

Analytics

GET/api/v1/analyticsscope: analytics.read

Account-wide analytics

Parameters

  • days (query) — 1 = the last 24 hours, by hour
  • tz (query) — IANA time zone for the buckets
  • country (query) — Only clicks with this country ("__none" = empty)
  • region (query) — Only clicks with this region ("__none" = empty)
  • city (query) — Only clicks with this city ("__none" = empty)
  • device (query) — Only clicks with this device ("__none" = empty)
  • browser (query) — Only clicks with this browser ("__none" = empty)
  • os (query) — Only clicks with this os ("__none" = empty)
  • referrer_host (query) — Only clicks with this referrer host ("__none" = empty)
  • trigger (query) — Only clicks with this trigger ("__none" = empty)
  • destination_url (query) — Only clicks with this destination url ("__none" = empty)

Responses

  • 200 Totals, timeseries, breakdowns and top links
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)

Tags

GET/api/v1/tagsscope: links.read

List tags

Responses

  • 200 Tags with link counts
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)
POST/api/v1/tagsscope: links.write

Create a tag

JSON body fields

name*color

* required

Responses

  • 201 The new tag
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 409 Name taken
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)
PATCH/api/v1/tags/{id}scope: links.write

Rename or recolor a tag

Parameters

  • id (path, required)

JSON body fields

namecolor

* required

Responses

  • 200 The tag
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)
DELETE/api/v1/tags/{id}scope: links.write.

Delete a tag

Links keep existing; they just lose the tag.

Parameters

  • id (path, required)

Responses

  • 200 Deleted
  • 400 Invalid input
  • 401 Missing, invalid or expired API key
  • 403 The API key lacks the scope this needs, or the account's plan doesn't allow it (code PLAN_LIMIT / PLAN_FEATURE)
  • 429 The account's monthly API request allowance is used up (code API_ALLOWANCE_REACHED)