# Smartlinks > Smartlinks and pre-saves on your releases, with views, clicks and pre-saves. Smartlinks and pre-saves on your releases, with views, clicks and pre-saves. Base URL `https://app.hillsmusic.com/api/v1`. Every request sends an API key: `Authorization: Bearer hm_live_…` (production) or `hm_test_…` (sandbox). - Smartlinks ## Smartlinks `GET /api/v1/links` · Scope: `links:read` · Sandbox keys get the same shape, empty. Smartlinks and pre-saves on your releases, with all-time and last-30-day views and clicks, and pre-save count. ### Example request ```bash curl "https://app.hillsmusic.com/api/v1/links" \ -H "Authorization: Bearer $HILLS_API_KEY" ``` ### Response `200` ```json { "data": [ { "id": 77, "slug": "luna-midnight-run", "kind": "smartlink", "active": true, "title": "Midnight Run", "artist": "Luna", "release_id": 812, "upc": "0123456789012", "views": 5120, "clicks": 1830, "views_30d": 900, "clicks_30d": 310, "presaves": 0, "url": "https://presav.io/luna-midnight-run", "created_at": "2026-10-01T09:00:00Z", "updated_at": "2026-10-01T09:00:00Z" } ] } ``` ### Errors | Status | When | | --- | --- | | 401 | unauthenticated, invalid_key, key_revoked or key_expired. | | 403 | insufficient_scope: the key lacks the scope; scope names it. account_inactive or api_not_in_plan. | | 429 | rate_limited: wait Retry-After seconds. | Source: https://developer.hillsmusic.com/reference/smartlinks/