Create Link

Create a short link for a workspace.

POST/api/mobile/link/create

This endpoint expects multipart/form-data. For deeplink creation tied to a deeplink app, use /api/mobile/deeplink.

Form Fields

ParameterTypeRequiredDescription
urlstring
Required
Destination URL
slugstring
Optional
Custom slug; random 6-char slug is generated when omitted
titlestring
Optional
Defaults to generated shortLink
objectsJSON string (object)
Optional
Serialized key/value object, e.g. {"campaign":"spring"}
tagsJSON string (array)
Optional
Serialized string array, e.g. ["promo","email"]
commentsstring
Optional
Internal notes
passwordstring
Optional
Optional password protection

Headers

ParameterTypeRequiredDescription
api-keystring
Required
From /settings -> Api Keys tab (use Mobile API Key)
Content-Typemultipart/form-data
Required
Use FormData payload

Example Request

curl -X POST "https://app.shortify.com/api/mobile/link/create" \
  -H "api-key: your_workspace_api_key" \
  -F 'url=https://example.com/pricing' \
  -F 'slug=pricing-2026' \
  -F 'title=Pricing Page Link' \
  -F 'objects={"campaign":"spring-2026","source":"email"}' \
  -F 'tags=["pricing","email"]' \
  -F 'comments=Main CTA for pricing email'

Response

200
Created
{
  "success": true,
  "data": {
    "id": "cmb0n1z0s0003v131u4xt8fvj",
    "title": "Pricing Page Link",
    "url": "https://example.com/pricing",
    "domain": "shortify.com",
    "key": "pricing-2026",
    "shortLink": "https://shortify.com/pricing-2026",
    "linkType": "SHORTLINK",
    "projectId": "project-id",
    "comments": "Main CTA for pricing email",
    "linkObject": {
      "object": {
        "campaign": "spring-2026",
        "source": "email"
      }
    },
    "tags": [
      {
        "id": "link-tag-id",
        "tag": {
          "id": "tag-id",
          "name": "pricing",
          "color": "blue"
        }
      }
    ]
  }
}

Error Responses

404
Workspace not found
{
  "success": false,
  "msg": "No Workspace Found!....Check Your API Key"
}
200
Slug already exists
{
  "success": false,
  "msg": "Slug already Exist"
}