Skip to content

SharedLinkCreateDto

Endpoints · All schemas

FieldRequiredDescription
albumIdNoAlbum ID (for album sharing)
allowDownloadNoAllow downloads
allowUploadNoAllow uploads
assetIdsNoAsset IDs (for individual assets)
descriptionNoLink description
expiresAtNoExpiration date
passwordNoLink password
showMetadataNoShow metadata
slugNoCustom URL slug
typeYesSee definition below

Complete definition

required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.

Field definitions: SharedLinkType

{
  "properties": {
    "albumId": {
      "description": "Album ID (for album sharing)",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "allowDownload": {
      "default": true,
      "description": "Allow downloads",
      "type": "boolean"
    },
    "allowUpload": {
      "description": "Allow uploads",
      "type": "boolean"
    },
    "assetIds": {
      "description": "Asset IDs (for individual assets)",
      "items": {
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
        "type": "string"
      },
      "type": "array"
    },
    "description": {
      "description": "Link description",
      "nullable": true,
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiration date",
      "example": "2024-01-01T00:00:00.000Z",
      "format": "date-time",
      "nullable": true,
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      "type": "string"
    },
    "password": {
      "description": "Link password",
      "nullable": true,
      "type": "string"
    },
    "showMetadata": {
      "default": true,
      "description": "Show metadata",
      "type": "boolean"
    },
    "slug": {
      "description": "Custom URL slug",
      "nullable": true,
      "type": "string"
    },
    "type": {
      "$ref": "#/components/schemas/SharedLinkType"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}