# SharedLinkResponseDto

Source: https://frameleaf.app/docs/api/schema/SharedLinkResponseDto/

```json
{
  "description": "Shared link response",
  "properties": {
    "album": {
      "$ref": "#/components/schemas/AlbumResponseDto"
    },
    "allowDownload": {
      "description": "Allow downloads",
      "type": "boolean"
    },
    "allowUpload": {
      "description": "Allow uploads",
      "type": "boolean"
    },
    "assets": {
      "items": {
        "$ref": "#/components/schemas/AssetResponseDto"
      },
      "type": "array"
    },
    "createdAt": {
      "description": "Creation date",
      "example": "2024-01-01T00:00:00.000Z",
      "format": "date-time",
      "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"
    },
    "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"
    },
    "id": {
      "description": "Shared link ID",
      "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"
    },
    "key": {
      "description": "Encryption key (base64url)",
      "type": "string"
    },
    "owner": {
      "$ref": "#/components/schemas/SharedLinkOwnerResponseDto",
      "description": "Display name of the user who created the link, for \"Shared by\" on the public page"
    },
    "password": {
      "description": "Has password: a fixed mask when the link has one, never the password itself",
      "nullable": true,
      "type": "string"
    },
    "showMetadata": {
      "description": "Show metadata",
      "type": "boolean"
    },
    "slug": {
      "description": "Custom URL slug",
      "nullable": true,
      "type": "string"
    },
    "type": {
      "$ref": "#/components/schemas/SharedLinkType"
    },
    "url": {
      "description": "The link's public address: the server's external domain, then /s/<slug> (URL-encoded) or /share/<key>. Null when no external domain is set; a client then puts the same path after the address it uses.",
      "nullable": true,
      "type": "string"
    },
    "userId": {
      "description": "Owner user ID",
      "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"
    }
  },
  "required": [
    "allowDownload",
    "allowUpload",
    "assets",
    "createdAt",
    "description",
    "expiresAt",
    "id",
    "key",
    "password",
    "showMetadata",
    "slug",
    "type",
    "url",
    "userId"
  ],
  "type": "object"
}
```
