# Short Io

Short.io is a URL shortening service that allows users to create branded short links, manage them, and track their performance.

- **Category:** url shortener
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 41
- **Triggers:** 0
- **Slug:** `SHORT_IO`
- **Version:** 20260316_00

## Tools

### Add Tag to Links in Bulk

**Slug:** `SHORT_IO_ADD_TAG_TO_LINKS_BULK`

Tool to append a single tag to multiple short links in one call. Use when you need to add the same tag to multiple links efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | Yes | The tag name to append to all specified links. This tag will be added to the existing tags on each link. |
| `link_ids` | array | Yes | List of link IDs to which the tag will be appended. Link IDs follow the format lnk_[0-9a-zA-Z]+_[0-9a-zA-Z]+. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Link

**Slug:** `SHORT_IO_ARCHIVE_LINK`

Archive a short link, hiding it from the dashboard while keeping it accessible. Archived links remain functional but are hidden from the dashboard view. Use this to organize or hide links without deleting them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the short link to archive (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |
| `domain_id` | string | No | Optional domain ID to scope the archive operation to a specific domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Folder

**Slug:** `SHORT_IO_CREATE_FOLDER`

Tool to create a new folder for organizing links within a domain. Use when you need to organize links into categories or groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the folder to create. |
| `domainId` | integer | Yes | The domain ID to create the folder under. Obtain from Domain Settings in Short.io Dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Short Link

**Slug:** `SHORT_IO_CREATE_LINK`

Tool to create a new short link from a long URL on your branded domain. Use when you need to shorten a single URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | No | Custom path/slug for the short link. If not provided, a random path will be generated. |
| `title` | string | No | Title for the link for organizational purposes. |
| `domain` | string | Yes | Domain name for the short link (must be a domain from your Short.io account). |
| `originalURL` | string | Yes | The original long URL to be shortened. |
| `allowDuplicates` | boolean | No | Whether to allow creating duplicate links for the same originalURL. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Link

**Slug:** `SHORT_IO_DELETE_LINK`

Tool to permanently delete a short link by its unique ID. Use when you need to remove a short link from the system. The deletion is immediate and irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the short link to delete (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Link Permission

**Slug:** `SHORT_IO_DELETE_LINK_PERMISSION`

Revokes a specific user's access permission for a short link. Use this to remove a user's ability to view or manage a particular link within a domain. Requires Team plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | Unique identifier of the short link (starts with 'lnk_', obtained from link creation responses) |
| `user_id` | string | Yes | Numeric ID of the user whose permission will be revoked |
| `domain_id` | string | Yes | Numeric ID of the domain containing the link (e.g., obtained from link creation responses) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Links in Bulk

**Slug:** `SHORT_IO_DELETE_LINKS_BULK`

Delete multiple short links in a single API call (up to 150 links). Rate limit: 1 request per second. Use this to permanently remove links - deleted links cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_ids` | array | Yes | Array of link identifiers to delete in bulk. Maximum 150 items. Each ID must match pattern ^lnk_(.*)(.*). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Duplicate Link

**Slug:** `SHORT_IO_DUPLICATE_LINK`

Tool to duplicate an existing short link by its ID. Creates a new link with the same properties as the original. Use when you need to clone a link configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the link to duplicate (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate QR Code for Link

**Slug:** `SHORT_IO_GENERATE_QR_CODE`

Tool to generate a QR code for a short link. Use when you need to create a QR code image for a specific short link by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("png" | "svg" | "pdf") | No | QR code format type. Defaults to 'png'. |
| `link_id` | string | Yes | The unique identifier of the short link (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bundle Templates

**Slug:** `SHORT_IO_GET_BUNDLE_TEMPLATES`

Tool to retrieve all available bundle templates. Use when you need to list or select from predefined bundle templates for creating link bundles.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Details by ID

**Slug:** `SHORT_IO_GET_DOMAIN_BY_ID`

Tool to retrieve detailed information for a specific domain by its ID. Use when you need to fetch configuration details, settings, or metadata for a domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domainId` | integer | Yes | Unique identifier of the domain to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Link Clicks

**Slug:** `SHORT_IO_GET_DOMAINS_LINK_CLICKS`

Tool to get click statistics for specific links in a domain. Use when you need click counts for particular link IDs within a domain. Retrieves the number of clicks each specified link has received. Example: "Get click counts for links with IDs ['lnk_5YOn_turb6oFhe1NAosVTgOpq6', 'lnk_5YOn_WziFZJY3qcd1YDqVdRWg9'] in domain 1425403".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | List of link IDs to get click counts for. Link IDs typically start with 'lnk_' prefix. |
| `domainId` | integer | Yes | Numeric identifier of the domain to retrieve link click statistics for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Paths

**Slug:** `SHORT_IO_GET_DOMAINS_PATHS`

Tool to list the most popular paths in a domain over time. Use after confirming a valid domain ID to analyze which short URL paths under that domain have received the most clicks in the given interval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tz` | string | No | Timezone name for date boundaries (e.g., 'UTC', 'America/New_York'). |
| `period` | string ("custom" | "today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30") | No | Time interval for which to retrieve the most popular paths. Use 'custom' to supply startDate and endDate. |
| `endDate` | string | No | End date (YYYY-MM-DD) for custom period; required when period='custom'. Automatically converted to milliseconds from epoch. |
| `domainId` | integer | Yes | Identifier of the domain whose path statistics will be retrieved. |
| `startDate` | string | No | Start date (YYYY-MM-DD) for custom period; required when period='custom'. Automatically converted to milliseconds from epoch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Statistics

**Slug:** `SHORT_IO_GET_DOMAIN_STATISTICS`

Tool to get comprehensive statistics for a domain over a specified period. Returns click metrics, link counts, and analytics breakdowns by referrer, social media, browser, country, city, and OS. Use when you need domain-level analytics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string ("today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30" | "custom") | No | Statistics period. Use 'custom' for custom date range with startDate and endDate. |
| `endDate` | integer | No | End date timestamp in milliseconds (required when period is 'custom'). |
| `domainId` | string | Yes | The domain ID to get statistics for. |
| `tzOffset` | string | No | Timezone offset for statistics calculation (e.g., '0' for UTC). |
| `startDate` | integer | No | Start date timestamp in milliseconds (required when period is 'custom'). |
| `clicksChartInterval` | string ("hour" | "day" | "week" | "month") | No | Granularity for click statistics chart; one of hour, day, week, month. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Folder

**Slug:** `SHORT_IO_GET_FOLDER`

Tool to retrieve folder details by ID. Use when you need to get information about a specific folder within a domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_id` | string | Yes | The domain ID that the folder belongs to. |
| `folder_id` | string | Yes | The unique folder ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link by Original URL

**Slug:** `SHORT_IO_GET_LINK_BY_ORIGINAL_URL`

Tool to get link info by original URL. Use when you need to find all short links created from a specific original URL within a domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The domain name to search within (e.g., example.short.gy) |
| `originalURL` | string | Yes | The original long URL to search for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Countries

**Slug:** `SHORT_IO_GET_LINK_COUNTRIES`

Tool to get country targeting rules for a short link. Use when you need to retrieve all country-based redirect configurations for a specific link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkId` | string | Yes | Unique identifier of the link to fetch country-targeting rules for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Info by Link ID

**Slug:** `SHORT_IO_GET_LINK_INFO_BY_LINK_ID`

Retrieves comprehensive metadata for a short link using its unique ID. Returns original URL, short URL, domain, tags, click count, UTM parameters, timestamps, and more. Use this when you have a link ID and need its full details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the short link (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |
| `domain_id` | string | No | Optional domain ID to filter results when the link ID might exist across multiple domains. Usually not needed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Info by Path

**Slug:** `SHORT_IO_GET_LINK_INFO_BY_PATH`

Tool to get link info by its path and domain. Use when you need to look up a branded short link by its path within a specific domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | Yes | Short link path segment (the part after the domain) to look up. |
| `domain_id` | string | Yes | Identifier of the domain under which the short link resides. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link OpenGraph Properties

**Slug:** `SHORT_IO_GET_LINK_OPEN_GRAPH_PROPERTIES`

Tool to retrieve OpenGraph settings for a link. Use after creating or updating a link to verify its social metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkId` | string | Yes | The unique identifier of the short link to retrieve OpenGraph properties for. |
| `domainId` | integer | Yes | Identifier of the branded domain where the link is hosted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Permissions

**Slug:** `SHORT_IO_GET_LINK_PERMISSIONS`

Retrieves all user access permissions for a specific short link within a domain. Use this to check which users have been granted access to view or manage a particular link. Returns an empty list if no special permissions have been configured. Example: "Show me who has access to link 'lnk_5YOn_lR5wxdiv88Qo9ZRF6akPi' in domain '1425403'".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | Unique identifier of the short link (starts with 'lnk_', obtained from link creation responses) |
| `domain_id` | string | Yes | Numeric ID of the domain containing the link (e.g., obtained from link creation responses) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Regions by Country

**Slug:** `SHORT_IO_GET_LINK_REGION_LIST_COUNTRY`

Tool to list all regions available for a country. Use when targeting links by region within a specific country.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `country` | string | Yes | Country code in ISO 3166-1 alpha-2 format |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Regions

**Slug:** `SHORT_IO_GET_LINK_REGIONS`

Retrieves all region-based targeting rules configured for a specific short link. Region targeting allows you to redirect users to different URLs based on their geographic region (e.g., California, Texas) within a country. This provides more granular control than country-level targeting. Returns an empty list if no region targeting rules are configured for the link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkId` | string | Yes | Unique identifier of the link to fetch region-targeting rules for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Links by Original URL

**Slug:** `SHORT_IO_GET_LINKS_BY_ORIGINAL_URL`

Tool to get multiple links info by original URL. Use when you need to find all short links created from the same original URL within a domain, such as comparing campaign performance across different platforms.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The domain name to search within (e.g., example.short.gy) |
| `originalURL` | string | Yes | The original long URL to find short links for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Links List

**Slug:** `SHORT_IO_GET_LINKS_LIST`

Tool to list short links on a domain with optional filters. Use after confirming the domain to retrieve or search links by criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of links to return per request |
| `folderId` | string | No | Filter links belonging to a specific folder |
| `idString` | string | No | Filter by specific link identifier |
| `afterDate` | string | No | ISO 8601 formatted date-time to retrieve links created after this timestamp |
| `createdAt` | string | No | Filter by creation date |
| `domain_id` | integer | Yes | REQUIRED. ID of the domain to list links from. Obtain via SHORT_IO_POST_LINKS_BULK or from Domain Settings in Short.io Dashboard. |
| `pageToken` | string | No | Token for pagination through result sets |
| `beforeDate` | string | No | ISO 8601 formatted date-time to retrieve links created before this timestamp |
| `dateSortOrder` | string ("asc" | "desc") | No | Date sort order |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link Statistics

**Slug:** `SHORT_IO_GET_LINK_STATISTICS`

Tool to get click statistics for a specific link. Use when you need detailed click metrics over a specified interval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tz` | string | No | IANA timezone for grouping; defaults to UTC. |
| `linkId` | string | Yes | Unique identifier of the short link. |
| `period` | string ("custom" | "today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30") | No | Time interval for statistics; defaults to last30. Use 'custom' for custom dates. |
| `endDate` | string | No | End date for custom interval (YYYY-MM-DD); required if period is 'custom'. |
| `skipTops` | boolean | No | Whether to skip top referrer records; defaults to false. |
| `startDate` | string | No | Start date for custom interval (YYYY-MM-DD); required if period is 'custom'. |
| `clicksChartInterval` | string ("hour" | "day" | "week" | "month") | No | Granularity for click statistics chart; one of hour, day, week, month. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Link (Tweetbot)

**Slug:** `SHORT_IO_GET_LINK_TWEETBOT`

Create a short link using the simplified Tweetbot GET endpoint. This is a lightweight alternative to the standard POST link creation endpoint, designed for scenarios where GET requests are preferred (e.g., browser-based integrations, simple HTTP clients). Returns the shortened URL immediately upon success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `path` | string | No | Custom path/slug for the short link. If not provided, a random path will be generated. Must be unique within the domain. |
| `title` | string | No | Optional title/description for the link. This metadata helps identify the link's purpose. |
| `domain` | string | Yes | Domain hostname to create the short link on. Must be a domain you have access to in your Short.io account (e.g., 'yourdomain.short.gy' or a custom domain). |
| `urlOnly` | boolean | No | Note: This parameter may not be supported by the API. Leave unset for normal operation. |
| `originalURL` | string | Yes | The full URL to shorten. Must include the protocol (http:// or https://). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Domains

**Slug:** `SHORT_IO_LIST_DOMAINS`

Tool to retrieve all domains associated with the Short.io account. Use when you need to list available domains for creating short links or managing domain settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Folders

**Slug:** `SHORT_IO_LIST_FOLDERS`

Tool to list all folders for a specific domain. Use when you need to view all folder names and IDs to organize or filter links by folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domainId` | integer | Yes | REQUIRED. Domain ID to list folders from. Obtain from Domain Settings in Short.io Dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post Domain Link Clicks

**Slug:** `SHORT_IO_POST_DOMAIN_LINK_CLICKS`

Tool to get click statistics for specific links in a domain using POST method. Use when you need click counts for multiple link paths with their creation dates. This POST version allows batch retrieval of link click statistics by providing an array of paths and their creation timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endDate` | string | No | Returns statistics for clicks before given date (format: YYYY-MM-DD). |
| `domainId` | integer | Yes | Numeric identifier of the domain to retrieve link click statistics for. |
| `startDate` | string | No | Returns statistics for clicks after given date (format: YYYY-MM-DD). |
| `pathsDates` | array | Yes | List of link paths with their creation dates to get click counts for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Statistics by Interval

**Slug:** `SHORT_IO_POST_DOMAINS_BY_INTERVAL`

Tool to retrieve domain statistics over a custom interval. Use when you need time-series click data for a specific domain over a defined time window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tz` | string | No | IANA timezone name for interval boundaries; defaults to 'UTC'. |
| `period` | string ("custom" | "today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30") | No | Time interval for statistics. Defaults to 'last30'. Use 'custom' to specify a start and end date. |
| `endDate` | string | No | End date (YYYY-MM-DD) for custom interval; required if period is 'custom'. |
| `domainId` | integer | Yes | Identifier of the domain to fetch statistics for. |
| `startDate` | string | No | Start date (YYYY-MM-DD) for custom interval; required if period is 'custom'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post Domains Last Clicks

**Slug:** `SHORT_IO_POST_DOMAINS_LAST_CLICKS`

Tool to retrieve the latest raw click events for a domain. Use when detailed clickstream data is needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tz` | string | No | IANA timezone for grouping; defaults to UTC. |
| `limit` | integer | No | Maximum number of click events to retrieve; defaults to 30. |
| `period` | string ("custom" | "today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30") | No | Preset time interval; use 'custom' with startDate and endDate. |
| `endDate` | string | No | End date for 'custom' period (YYYY-MM-DD). |
| `exclude` | object | No | Filters to exclude specific click events. |
| `include` | object | No | Filters to include specific click events. |
| `domainId` | integer | Yes | Identifier of the domain to fetch click events for. |
| `afterDate` | string | No | Pagination: return events after this date. |
| `startDate` | string | No | Start date for 'custom' period (YYYY-MM-DD). |
| `beforeDate` | string | No | Pagination: return events before this date. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Statistics

**Slug:** `SHORT_IO_POST_DOMAIN_STATS`

Tool to get detailed statistics for a domain over a specified period. Use when you need comprehensive domain metrics including clicks, links, referrers, geographic data, and browser/OS breakdowns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tz` | string | No | IANA timezone name for interval boundaries; defaults to UTC. |
| `period` | string ("custom" | "today" | "yesterday" | "total" | "week" | "month" | "lastmonth" | "last7" | "last30") | No | Time interval for statistics. Use 'custom' to specify custom dates. |
| `endDate` | string | No | End date (YYYY-MM-DD) for custom interval; required if period is 'custom'. |
| `exclude` | object | No | Filter structure for including or excluding specific click records. |
| `include` | object | No | Filter structure for including or excluding specific click records. |
| `domainId` | integer | Yes | Identifier of the domain to fetch statistics for. |
| `skipTops` | boolean | No | Whether to skip top referrer/browser/country records. |
| `startDate` | string | No | Start date (YYYY-MM-DD) for custom interval; required if period is 'custom'. |
| `clicksChartInterval` | string ("hour" | "day" | "week" | "month") | No | Granularity for click statistics chart. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Top Values

**Slug:** `SHORT_IO_POST_DOMAINS_TOP`

Retrieves top values for a specified analytics column ranked by click count for a domain. Use to analyze which paths, countries, or other dimensions have the most traffic. Returns an ordered list of values with their click counts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of top values to return; must be at least 1. |
| `column` | string | Yes | Column to rank by click count. Common values: 'path' (link paths), 'country' (visitor countries). Note: Not all column names may be supported by the API. |
| `domainId` | integer | Yes | Identifier of the domain for which to retrieve top column values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Links in Bulk

**Slug:** `SHORT_IO_POST_LINKS_ARCHIVE_BULK`

Archive multiple short links in a single API call (up to 150 links). Archived links are hidden from the dashboard but remain functional and accessible. Use this to organize or hide links without deleting them. Requires link IDs from previously created links.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkIds` | array | Yes | List of short link IDs to archive in bulk (maximum 150 items per request). Use link IDs from created links. |
| `domain_id` | string | No | Optional domain ID to scope the archive operation to a specific domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Links in Bulk

**Slug:** `SHORT_IO_POST_LINKS_BULK`

Tool to create up to 1000 short links in one call. Use when bulk shortening multiple URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `links` | array | Yes | List of link objects to be shortened (up to 1000 items). Each object must include `originalURL` as a fully-formed HTTPS URL. Custom `path` values must be unique across existing short links to avoid collisions. |
| `domain` | string | Yes | Domain under which the short links will be created. Must exactly match a domain already owned and configured in your Short.io account; arbitrary or unregistered domains will fail. |
| `allowDuplicates` | boolean | No | Whether duplicate links are allowed (defaults to false). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate QR Codes in Bulk

**Slug:** `SHORT_IO_POST_LINKS_QR_BULK`

Tool to generate QR codes for multiple links in bulk. Use when you need to retrieve QR codes for several short links at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Size of the QR code (1-99). |
| `type` | string ("png" | "svg") | No | Image format for QR codes. Defaults to 'png'. |
| `color` | string | No | Foreground color for QR code (hex code without # prefix, e.g., '000000' or 'FF0000'). |
| `linkIds` | array | Yes | List of up to 150 link IDs to generate QR codes for. |
| `domainId` | string | No | Optional domain ID to override default domain settings. |
| `noExcavate` | boolean | No | If true, disables the 'eye' excavation in the QR code. |
| `backgroundColor` | string | No | Background color for QR code (hex code without # prefix, e.g., 'FFFFFF' or 'F0F0F0'). |
| `useDomainSettings` | boolean | No | Whether to apply domain-level QR settings. Defaults to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unarchive Links in Bulk

**Slug:** `SHORT_IO_POST_LINKS_UNARCHIVE_BULK`

Unarchive multiple short links in bulk (up to 150 links per request). This operation restores previously archived links to active status, making them functional and visible again. Use this when you need to restore visibility of a set of archived short links at once. The operation is idempotent - unarchiving already unarchived links succeeds without error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkIds` | array | Yes | List of short link IDs to unarchive. Each ID should be in the format 'lnk_...' (maximum 150 links per request). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unarchive Link

**Slug:** `SHORT_IO_UNARCHIVE_LINK`

Unarchive a previously archived short link to restore it to active status. Use this when you need to make an archived link visible and functional again. The operation is idempotent - unarchiving an already active link succeeds without error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the link to unarchive (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |
| `domain_id` | string | No | Optional domain identifier to scope the operation to a specific domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Domain Settings

**Slug:** `SHORT_IO_UPDATE_DOMAIN_SETTINGS`

Tool to update domain settings for a Short.io domain. Use when you need to modify domain configuration such as the root redirect URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domainId` | string | Yes | The unique identifier of the domain to update. |
| `rootRedirect` | string | No | URL to redirect customers when visiting your short domain root. If not provided, the existing redirect URL remains unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Link

**Slug:** `SHORT_IO_UPDATE_LINK`

Tool to update an existing short link by its ID. Allows modifying destination URL, title, UTM parameters, password protection, expiration, tags, and various other link settings. Only specified fields are updated; omitted fields remain unchanged. Use when you need to edit any aspect of a previously created short link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ttl` | string | No | Time-to-live: auto-delete the link after this duration. Accepts milliseconds or ISO 8601 duration string. |
| `path` | string | No | Custom path/slug for the short link (must be unique within the domain). |
| `tags` | array | No | Array of tags to categorize the link. |
| `title` | string | No | Title or name for the link for organizational purposes. |
| `skipQS` | boolean | No | If true, prevents merging query string parameters from the short URL to the destination URL. |
| `link_id` | string | Yes | The unique identifier of the link to update (format: lnk_XXXXX_YYYYYYYYYYYYYYYYYYYY). |
| `utmTerm` | string | No | UTM term parameter automatically appended to destination URL for analytics tracking. |
| `archived` | boolean | No | Archive or unarchive the link. Archived links remain accessible but are hidden from main lists. |
| `cloaking` | boolean | No | Enable cloaking to hide the destination URL from visitors (they see the short URL in the browser). |
| `password` | string | No | Set a password to restrict access to the link. Visitors must enter this password before being redirected. |
| `splitURL` | string | No | Alternate destination URL for A/B testing. Traffic is split based on splitPercent. |
| `createdAt` | string | No | Override link creation date in milliseconds timestamp. |
| `expiresAt` | string | No | Link expiration date/time. Accepts milliseconds timestamp (e.g., '1704067200000') or ISO 8601 string (e.g., '2024-01-01T00:00:00.000Z'). |
| `iphoneURL` | string | No | Destination URL specifically for iPhone/iOS devices (deep linking). |
| `utmMedium` | string | No | UTM medium parameter automatically appended to destination URL for analytics tracking. |
| `utmSource` | string | No | UTM source parameter automatically appended to destination URL for analytics tracking. |
| `androidURL` | string | No | Destination URL specifically for Android devices (deep linking). |
| `expiredURL` | string | No | URL to redirect visitors to after the link expires. |
| `utmContent` | string | No | UTM content parameter automatically appended to destination URL for analytics tracking. |
| `clicksLimit` | integer | No | Maximum number of clicks allowed. Link will be disabled after reaching this limit. |
| `originalURL` | string | No | New destination URL to update. |
| `utmCampaign` | string | No | UTM campaign parameter automatically appended to destination URL for analytics tracking. |
| `redirectType` | integer | No | HTTP redirect status code: 301 (permanent), 302 (temporary), 307 (temporary preserving method), or 308 (permanent preserving method). |
| `splitPercent` | integer | No | Percentage of traffic (1-100) to send to splitURL for A/B testing. |
| `integrationFB` | string | No | Facebook pixel/integration parameter for conversion tracking. |
| `integrationGA` | string | No | Google Analytics integration parameter. |
| `integrationGTM` | string | No | Google Tag Manager integration parameter. |
| `passwordContact` | boolean | No | If true, provides your email to users so they can request the password. |
| `integrationAdroll` | string | No | Adroll pixel/integration parameter for ad retargeting. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
