All integrations

Short.io

MARKETING · MARKETING

Branded short links, folders, tags and QR codes under their own API key.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

shortio_delete_domains_allowedhostnames_by_domainidWRITE

Removes a hostname from the domain's allowed-hostnames list. via DELETE /domains/allowedHostnames/{domainId}

api
shortio_delete_domains_dnsrecordWRITE

Deletes DNS records of the given name and type. Omit `value` to remove every matching record. via DELETE /domains/dnsRecord

api
shortio_delete_domains_favicon_by_domainidWRITE

Deletes the domain's favicon. via DELETE /domains/favicon/{domainId}

api
shortio_delete_domains_favorite_by_domainidWRITE

Removes the domain from the current user's favorites. via DELETE /domains/favorite/{domainId}

api
shortio_delete_domains_ipexclusions_by_domainidWRITE

Removes an IP address from the domain's exclusion list. via DELETE /domains/ipExclusions/{domainId}

api
shortio_delete_domains_link_signature_key_by_domainidWRITE

Removes the domain's link-signature key (sets it to null), disabling redirect URL signing for the domain. via DELETE /domains/link-signature-key/{domainId}

api
shortio_delete_domains_qrcodesettings_by_domainidWRITE

Deletes the domain's QR code settings, reverting to defaults. via DELETE /domains/qrCodeSettings/{domainId}

api
shortio_delete_domains_s3exports_by_domainidWRITE

Disables daily S3 click export for the domain. via DELETE /domains/s3exports/{domainId}

api
shortio_delete_domains_theme_by_domainidWRITE

Deletes theme settings for the domain, reverting it to the default theme. via DELETE /domains/theme/{domainId}

api
shortio_delete_link_country_by_linkid_by_countryWRITE

Delete link country via DELETE /link_country/{linkId}/{country}

api
shortio_delete_link_region_by_linkid_by_country_by_regionWRITE

Delete link region by country via DELETE /link_region/{linkId}/{country}/{region}

api
shortio_delete_linksWRITE

Delete links of a domain within a created-at date interval. Provide any combination of bounds (at least one is required): - `createdAfter` / `createdBefore`: Unix timestamps in milliseconds - `days`: relative upper bound (delete links older than N days) Optionally restrict deletion to links whose `conditionalColumn` matches `conditionalMatch`. Deletion runs asynchronously. via DELETE /links

api
shortio_delete_links_bundle_by_idWRITE

Deletes a bundle by ULID id via DELETE /links/bundle/{id}

api
shortio_delete_links_bundle_by_id_links_by_linktemplateidWRITE

Removes a link from a bundle by its link template ID via DELETE /links/bundle/{id}/links/{linkTemplateId}

api
shortio_delete_links_by_link_idWRITE

Delete link by id **Rate limit**: 20/s via DELETE /links/{link_id}

api
shortio_delete_links_delete_bulkWRITE

Delete links in bulk by ids **Rate limit**: 1/s via DELETE /links/delete_bulk

api
shortio_delete_links_permissions_by_domainid_by_linkid_by_useridWRITE

Delete link permissions via DELETE /links/permissions/{domainId}/{linkId}/{userId}

api
shortio_delete_links_post_by_idWRITE

Delete post via DELETE /links/post/{id}

api
shortio_delete_links_qr_hosted_by_idWRITE

Revoke a hosted QR code via DELETE /links/qr/hosted/{id}

api
shortio_get_api_domainsREAD

Shows all domains of current user via GET /api/domains

api
shortio_get_api_linksREAD

Get domain links via GET /api/links

api
shortio_get_auditREAD

Lists audit log entries for a team or a domain. via GET /audit

api
shortio_get_domains_allowedhostnames_by_domainidREAD

Returns the domain's allowed-hostnames list. via GET /domains/allowedHostnames/{domainId}

api
shortio_get_domains_by_domainidREAD

Get domain details by id via GET /domains/{domainId}

api
shortio_get_domains_dnsrecordREAD

Returns the customer-managed DNS records for a domain registered through Short.io. via GET /domains/dnsRecord

api
shortio_get_domains_password_by_domainidREAD

Returns the custom CSS applied to the domain's password prompt page. via GET /domains/password/{domainId}

api
shortio_get_domains_qrcodesettings_by_domainidREAD

Returns the default QR code settings applied to the domain's links. via GET /domains/qrCodeSettings/{domainId}

api
shortio_get_domains_s3exports_by_domainidREAD

Returns the S3 click-export configuration and status for the domain. via GET /domains/s3exports/{domainId}

api
shortio_get_domains_theme_by_domainidREAD

Returns theme settings for the domain. via GET /domains/theme/{domainId}

api
shortio_get_domains_universallinks_by_domainidREAD

Returns the iOS/Android universal-link (app association) configuration for the domain. via GET /domains/universalLinks/{domainId}

api
shortio_get_link_country_by_linkidREAD

Get link countries via GET /link_country/{linkId}

api
shortio_get_link_region_by_linkidREAD

Get link regions via GET /link_region/{linkId}

api
shortio_get_link_region_list_by_countryREAD

Get all regions by country via GET /link_region/list/{country}

api
shortio_get_links_bundle_by_idREAD

Returns bundle details by ULID id via GET /links/bundle/{id}

api
shortio_get_links_bundle_by_id_linksREAD

Returns all links in a bundle, ordered by sort order via GET /links/bundle/{id}/links

api
shortio_get_links_bundle_templatesREAD

Returns all available bundle templates via GET /links/bundle/templates

api
shortio_get_links_by_linkidREAD

Get link info by link id. Rate limit: 20/s via GET /links/{linkId}

api
shortio_get_links_by_original_urlREAD

**DEPRECATED** Get link info by original URL. Returns 404 if the domain does not exist in your organization. Rate limit: 20/s via GET /links/by-original-url

api
shortio_get_links_expandREAD

Get link info by path. Returns 404 if the domain does not exist in your organization. Rate limit: 20/s via GET /links/expand

api
shortio_get_links_folders_by_domainidREAD

Get links folders for the specified domain id via GET /links/folders/{domainId}

api
shortio_get_links_folders_by_domainid_by_folderidREAD

Get links folder for the specified domain id and user id via GET /links/folders/{domainId}/{folderId}

api
shortio_get_links_multiple_by_urlREAD

Returns all links with the same original URL. Returns 404 if the domain does not exist in your organization. via GET /links/multiple-by-url

api
shortio_get_links_opengraph_by_domainid_by_linkidREAD

Get link opengraph properties via GET /links/opengraph/{domainId}/{linkId}

api
shortio_get_links_permissions_by_domainid_by_linkidREAD

Get link permissions via GET /links/permissions/{domainId}/{linkId}

api
shortio_get_links_post_by_idREAD

Get post by ID via GET /links/post/{id}

api
shortio_get_links_qr_hostedREAD

List hosted QR codes via GET /links/qr/hosted

api
shortio_get_links_tweetbotREAD

Simple version of link create endpoint. You can use it if you can not use POST method Returns 404 if the domain does not exist in your organization. **Rate limit**: 50/s via GET /links/tweetbot

api
shortio_get_organizations_by_organizationid_planinfoREAD

Returns the organization's plan tier and billing period alongside its current usage counters: domain and link counts, paid link count, AI spend in microdollars, stored bytes, and remaining Pro/Team trial days. via GET /organizations/{organizationId}/planInfo

api
shortio_get_tags_by_domainidREAD

List the tags used across a domain via GET /tags/{domainId}

api
shortio_get_tags_by_domainid_popularREAD

Get the most popular tags in a domain via GET /tags/{domainId}/popular

api
shortio_patch_links_bundle_by_id_linksWRITE

Updates the sort order of links in a bundle via PATCH /links/bundle/{id}/links

api
shortio_post_domainsWRITE

Create a domain via POST /domains

api
shortio_post_domains_allowedhostnames_by_domainidWRITE

Adds a hostname to the domain's allowed-hostnames list. via POST /domains/allowedHostnames/{domainId}

api
shortio_post_domains_dnsrecordWRITE

Creates one or more DNS records for a domain registered through Short.io. via POST /domains/dnsRecord

api
shortio_post_domains_favorite_by_domainidWRITE

Marks the domain as a favorite for the current user. via POST /domains/favorite/{domainId}

api
shortio_post_domains_ipexclusions_by_domainidWRITE

Adds an IP address to the domain's exclusion list, so clicks from it are not counted. via POST /domains/ipExclusions/{domainId}

api
shortio_post_domains_link_signature_key_by_domainidWRITE

Generates a new per-domain HMAC secret used by the redirector to sign redirect destination URLs, and returns it. Regenerating invalidates the previous key. via POST /domains/link-signature-key/{domainId}

api
shortio_post_domains_password_by_domainidWRITE

Sets the custom CSS applied to the domain's password prompt page. via POST /domains/password/{domainId}

api
shortio_post_domains_qrcodesettings_by_domainidWRITE

Creates or updates the default QR code settings applied to the domain's links. via POST /domains/qrCodeSettings/{domainId}

api
shortio_post_domains_s3exports_by_domainidWRITE

Enables daily S3 click export for the domain. via POST /domains/s3exports/{domainId}

api
shortio_post_domains_settings_by_domainidWRITE

Update domain settings via POST /domains/settings/{domainId}

api
shortio_post_domains_theme_by_domainidWRITE

Creates or updates theme settings for the domain. Colors are 6- or 8-character hex strings without the leading `#` (RRGGBB, or RRGGBBAA for transparency). via POST /domains/theme/{domainId}

api
shortio_post_domains_universallinks_by_domainidWRITE

Creates or updates the iOS/Android universal-link (app association) configuration for the domain. via POST /domains/universalLinks/{domainId}

api
shortio_post_link_country_bulk_by_linkidWRITE

Create link countries in bulk via POST /link_country/bulk/{linkId}

api
shortio_post_link_country_by_linkidWRITE

Create link country via POST /link_country/{linkId}

api
shortio_post_link_region_bulk_by_linkidWRITE

Create link regions in bulk via POST /link_region/bulk/{linkId}

api
shortio_post_link_region_by_linkidWRITE

Add region targeting to link via POST /link_region/{linkId}

api
shortio_post_linksWRITE

This method creates a new link. If parameter "path" is omitted, it generates path by algorithm, chosen in domain settings. Notes: 1. If URL with a given path already exists and originalURL of the URL in database is equal to originalURL argument, it returns information about existing URL 2. If URL with a given path already exists and originalURL is different from originalURL in database, it returns error with a status `409` 3. If URL with a given originalURL exists, and no path is given, it returns information about existing URL and does not create anything 4. If URL with a given originalURL exists, and custom path is given, it creates a new short URL Returns 404 if the domain does not exist in your organization. **Rate limit**: 50/s via POST /links

api
shortio_post_links_archiveWRITE

Archive link via POST /links/archive

api
shortio_post_links_archive_bulkWRITE

Archive links in bulk via POST /links/archive_bulk

api
shortio_post_links_bulkWRITE

Please use this method if you need to create big packs of links. It accepts up to 1000 links in one API call. It works almost the same as single link creation endpoint, but accepts an array of URLs and returns an array of responses. Returns list of Link objects. If any URL is failed to insert, it returns error object instead as array element. Method is not transactional – it can insert some links from the list and return an error for others. Returns 404 if the domain does not exist in your organization. **Rate limit**: 5 queries in 10 seconds via POST /links/bulk

api
shortio_post_links_bundleWRITE

Creates a new link bundle with customizable template, social media links, and branding via POST /links/bundle

api
shortio_post_links_bundle_by_id_linksWRITE

Adds a short link to a bundle. If the link doesn't exist, it will be created. via POST /links/bundle/{id}/links

api
shortio_post_links_by_linkidWRITE

Update original url, title or path for existing URL by id **Rate limit**: 20/s via POST /links/{linkId}

api
shortio_post_links_deeplinks_debugWRITE

NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. Fetch and inspect deep link configuration for a URL (public, hCaptcha-protected) via POST /links/deeplinks/debug

api
shortio_post_links_examplesWRITE

Creates a set of demo/example links to showcase various features of the short link service. Example links include: - A/B testing with split URLs - Mobile targeting (different URLs for Android/iPhone) - Expiring links with time limits - File download links - Password-protected links Returns 404 if the domain does not exist in your organization. **Rate limit**: 5/10s via POST /links/examples

api
shortio_post_links_foldersWRITE

Create a new folder via POST /links/folders

api
shortio_post_links_opengraph_debugWRITE

NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. Fetch and inspect OpenGraph tags for a URL (public, hCaptcha-protected) via POST /links/opengraph/debug

api
shortio_post_links_permissions_by_domainid_by_linkid_by_useridWRITE

Add link permission via POST /links/permissions/{domainId}/{linkId}/{userId}

api
shortio_post_links_postWRITE

Creates a content page rendered at a short link via POST /links/post

api
shortio_post_links_publicWRITE

NOT CALLABLE ON THIS CONNECTION -- refused by name; see the error for the reason. This method creates a new link. Only this method should be used in client-side applications If parameter "path" is omitted, it generates path by algorithm, chosen in domain settings. You can use it with public API key in your frontend applications (client-side javascript, Android & iPhone apps) **Rate limit**: 50/s via POST /links/public

api
shortio_post_links_qr_by_linkidstringWRITE

Generate QR code for the link via POST /links/qr/{linkIdString}

api
shortio_post_links_qr_by_linkidstring_aiWRITE

Generate an AI QR code for the link via POST /links/qr/{linkIdString}/ai

api
shortio_post_links_qr_by_linkidstring_hostedWRITE

Generate a hosted QR code for the link via POST /links/qr/{linkIdString}/hosted

api
shortio_post_links_unarchiveWRITE

Unarchive link via POST /links/unarchive

api
shortio_post_links_unarchive_bulkWRITE

Unarchive links in bulk via POST /links/unarchive_bulk

api
shortio_post_tags_bulkWRITE

Append a single tag to the links in bulk via POST /tags/bulk

api
shortio_put_links_bundle_by_idWRITE

Updates bundle details, social media links, and branding via PUT /links/bundle/{id}

api
shortio_put_links_opengraph_by_domainid_by_linkidWRITE

Set link opengraph properties via PUT /links/opengraph/{domainId}/{linkId}

api
shortio_put_links_post_by_idWRITE

Update post via PUT /links/post/{id}

api

Put Short.io behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.