# UpsertLinkRequestBody ## Fields | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `url` | *string* | :heavy_check_mark: | The destination URL of the short link. | https://google/com | | `domain` | *string* | :heavy_minus_sign: | The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains). | | | `key` | *string* | :heavy_minus_sign: | The short link slug. If not provided, a random 7-character slug will be generated. | | | `externalId` | *string* | :heavy_minus_sign: | This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with `ext_` when passed as a query parameter. | 123456 | | `prefix` | *string* | :heavy_minus_sign: | The prefix of the short link slug for randomly-generated keys (e.g. if prefix is `/c/`, generated keys will be in the `/c/:key` format). Will be ignored if `key` is provided. | | | `archived` | *boolean* | :heavy_minus_sign: | Whether the short link is archived. | | | `publicStats` | *boolean* | :heavy_minus_sign: | Whether the short link's stats are publicly accessible. | | | ~~`tagId`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead. | | | `tagIds` | *operations.UpsertLinkTagIds* | :heavy_minus_sign: | The unique IDs of the tags assigned to the short link. | [
"clux0rgak00011..."
] | | `tagNames` | *operations.UpsertLinkTagNames* | :heavy_minus_sign: | The unique name of the tags assigned to the short link (case insensitive). | | | `comments` | *string* | :heavy_minus_sign: | The comments for the short link. | | | `expiresAt` | *string* | :heavy_minus_sign: | The date and time when the short link will expire at. | | | `expiredUrl` | *string* | :heavy_minus_sign: | The URL to redirect to when the short link has expired. | | | `password` | *string* | :heavy_minus_sign: | The password required to access the destination URL of the short link. | | | `proxy` | *boolean* | :heavy_minus_sign: | Whether the short link uses Custom Social Media Cards feature. | | | `title` | *string* | :heavy_minus_sign: | The title of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true. | | | `description` | *string* | :heavy_minus_sign: | The description of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true. | | | `image` | *string* | :heavy_minus_sign: | The image of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true. | | | `rewrite` | *boolean* | :heavy_minus_sign: | Whether the short link uses link cloaking. | | | `ios` | *string* | :heavy_minus_sign: | The iOS destination URL for the short link for iOS device targeting. | | | `android` | *string* | :heavy_minus_sign: | The Android destination URL for the short link for Android device targeting. | | | `geo` | [components.LinkGeoTargeting](../../models/components/linkgeotargeting.md) | :heavy_minus_sign: | Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. | |