Skip to main content

create_share_link

Create a public shareable link for an artifact. Anyone with the link (and optional password) can view the artifact's name, status, and URL without a vibeD account.

Requires authentication and the SQLite store backend.

Input Schema

ParameterTypeRequiredDescription
artifact_idstringYesID of the artifact to create a share link for
passwordstringNoOptional password to protect the link
expires_instringNoExpiration duration (e.g. 24h, 7d). Empty means no expiration.

Example

{
"artifact_id": "a1b2c3d4",
"password": "s3cret",
"expires_in": "7d"
}

Response

{
"token": "a8f3...64-char-hex-token",
"artifact_id": "a1b2c3d4",
"created_by": "alice",
"has_password": true,
"expires_at": "2026-03-21T10:00:00Z",
"created_at": "2026-03-14T10:00:00Z",
"revoked": false
}

The share link URL is GET /api/share/{token}. Password-protected links return 401 until a correct password is POSTed.

REST API

POST /api/artifacts/{id}/share-link
Body: {"password": "...", "expires_in": "24h"}

Security

  • Tokens are 256-bit cryptographically random (not guessable)
  • Passwords are bcrypt-hashed (vibeD never stores plaintext)
  • Expired and revoked links return 404 (no information leakage)
  • Only the artifact owner or admin can create share links