{"info":{"name":"LinkShort API","description":"Complete API collection for LinkShort URL Shortener. Import into Postman, set base_url and api_key variables, and run any request.","version":"1.0.0","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"variable":[{"key":"base_url","value":"https://api.tooldit.com/api/v1","type":"string"},{"key":"api_key","value":"sk_your_api_key_here","type":"string"}],"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{api_key}}","type":"string"},{"key":"key","value":"Authorization","type":"string"}]},"item":[{"name":"Links","item":[{"name":"Create Link","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"originalUrl\": \"https://example.com\",\n  \"customSlug\": \"my-link\",\n  \"title\": \"My Link\",\n  \"expiresIn\": \"7d\",\n  \"singleUse\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/links","host":["{{base_url}}"],"path":["links"]},"description":"Create a new short link."},"response":[]},{"name":"List Links","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/links","host":["{{base_url}}"],"path":["links"],"query":[{"key":"page","value":"0"},{"key":"size","value":"20"},{"key":"search","value":""},{"key":"status","value":"ALL"}]},"description":"Returns a paginated list of short links."},"response":[]},{"name":"Get Link","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/links/{{shortCode}}","host":["{{base_url}}"],"path":["links","{{shortCode}}"]},"description":"Returns a single link by short code."},"response":[]},{"name":"Update Link","request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Updated Title\",\n  \"status\": \"DISABLED\",\n  \"expiresIn\": \"30d\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/links/{{shortCode}}","host":["{{base_url}}"],"path":["links","{{shortCode}}"]},"description":"Update an existing link. All fields are optional."},"response":[]},{"name":"Delete Link","request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/links/{{shortCode}}","host":["{{base_url}}"],"path":["links","{{shortCode}}"]},"description":"Permanently delete a short link and its analytics."},"response":[]},{"name":"Bulk Create Links","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"links\": [\n    {\"originalUrl\": \"https://example.com/1\", \"customSlug\": \"link-1\"},\n    {\"originalUrl\": \"https://example.com/2\"}\n  ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/links/bulk","host":["{{base_url}}"],"path":["links","bulk"]},"description":"Create multiple short links in one request."},"response":[]},{"name":"Bulk Action","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shortCodes\": [\"link-1\", \"link-2\"],\n  \"action\": \"DELETE\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/links/bulk-action","host":["{{base_url}}"],"path":["links","bulk-action"]},"description":"Perform an action (DELETE, DISABLE, ENABLE) on multiple links."},"response":[]}]},{"name":"Analytics","item":[{"name":"Overview Analytics","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/analytics/overview","host":["{{base_url}}"],"path":["analytics","overview"],"query":[{"key":"range","value":"7d"}]},"description":"Returns aggregated analytics across all links."},"response":[]},{"name":"Link Analytics","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/analytics/links/{{shortCode}}","host":["{{base_url}}"],"path":["analytics","links","{{shortCode}}"],"query":[{"key":"range","value":"7d"}]},"description":"Returns detailed analytics for a specific link."},"response":[]},{"name":"Account Stats","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/analytics/account-stats","host":["{{base_url}}"],"path":["analytics","account-stats"]},"description":"Returns overall account usage statistics."},"response":[]}]},{"name":"API Keys","item":[{"name":"Generate Key","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"My Production Key\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/keys","host":["{{base_url}}"],"path":["keys"]},"description":"Generates a new API key. The raw key value is returned only once."},"response":[]},{"name":"List Keys","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/keys","host":["{{base_url}}"],"path":["keys"]},"description":"Returns all API keys for the authenticated user."},"response":[]},{"name":"Delete Key","request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/keys/{{keyId}}","host":["{{base_url}}"],"path":["keys","{{keyId}}"]},"description":"Permanently revokes and deletes an API key."},"response":[]},{"name":"Regenerate Key","request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/keys/{{keyId}}/regenerate","host":["{{base_url}}"],"path":["keys","{{keyId}}","regenerate"]},"description":"Issues a new secret value; old value is immediately invalidated."},"response":[]},{"name":"Key Usage","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/keys/usage","host":["{{base_url}}"],"path":["keys","usage"]},"description":"Returns usage statistics for all API keys."},"response":[]}]},{"name":"Domains","item":[{"name":"Add Domain","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"hostname\": \"go.yourapp.com\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/domains","host":["{{base_url}}"],"path":["domains"]},"description":"Register a custom domain for use with your short links."},"response":[]},{"name":"List Domains","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/domains","host":["{{base_url}}"],"path":["domains"]},"description":"Returns all custom domains for the authenticated user."},"response":[]},{"name":"Delete Domain","request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/domains/{{domainId}}","host":["{{base_url}}"],"path":["domains","{{domainId}}"]},"description":"Remove a custom domain. Links using it fall back to the default domain."},"response":[]},{"name":"Verify Domain","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/domains/{{domainId}}/verify","host":["{{base_url}}"],"path":["domains","{{domainId}}","verify"]},"description":"Trigger a DNS verification check for a custom domain."},"response":[]}]},{"name":"Webhooks","item":[{"name":"Register Endpoint","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://yourapp.com/webhooks/linkshort\",\n  \"description\": \"Production webhook\",\n  \"events\": [\"link.clicked\", \"link.created\"],\n  \"isActive\": true\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/webhooks","host":["{{base_url}}"],"path":["webhooks"]},"description":"Register a new webhook endpoint to receive event notifications."},"response":[]},{"name":"List Endpoints","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks","host":["{{base_url}}"],"path":["webhooks"]},"description":"Returns all webhook endpoints for the authenticated user."},"response":[]},{"name":"Get Endpoint","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}"]},"description":"Returns a single webhook endpoint by ID."},"response":[]},{"name":"Update Endpoint","request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"description\": \"Updated description\",\n  \"events\": [\"link.clicked\", \"link.expired\"],\n  \"isActive\": true\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}"]},"description":"Update a webhook endpoint's configuration."},"response":[]},{"name":"Delete Endpoint","request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}"]},"description":"Permanently remove a webhook endpoint."},"response":[]},{"name":"Rotate Secret","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}/rotate-secret","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}","rotate-secret"]},"description":"Generate a new signing secret. Old secret is immediately invalidated."},"response":[]},{"name":"View Deliveries","request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}/deliveries","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}","deliveries"],"query":[{"key":"page","value":"0"},{"key":"size","value":"20"},{"key":"status","value":""}]},"description":"Returns the delivery history for a webhook endpoint."},"response":[]},{"name":"Retry Delivery","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}/deliveries/{{deliveryId}}/retry","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}","deliveries","{{deliveryId}}","retry"]},"description":"Manually retry a failed or pending webhook delivery."},"response":[]},{"name":"Send Test Event","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/webhooks/{{webhookId}}/test","host":["{{base_url}}"],"path":["webhooks","{{webhookId}}","test"]},"description":"Send a test event to verify your endpoint is reachable."},"response":[]}]},{"name":"Auth","item":[{"name":"Login","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"user@example.com\",\n  \"password\": \"yourpassword\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/auth/login","host":["{{base_url}}"],"path":["auth","login"]},"description":"Authenticate and receive a JWT token."},"response":[]},{"name":"Register","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"user@example.com\",\n  \"password\": \"yourpassword\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/auth/register","host":["{{base_url}}"],"path":["auth","register"]},"description":"Create a new account."},"response":[]},{"name":"Verify Email","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"token\": \"your_verification_token\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/auth/verify-email","host":["{{base_url}}"],"path":["auth","verify-email"]},"description":"Verify email address with the token from the verification email."},"response":[]},{"name":"Forgot Password","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"user@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/auth/forgot-password","host":["{{base_url}}"],"path":["auth","forgot-password"]},"description":"Request a password reset email."},"response":[]},{"name":"Reset Password","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"token\": \"reset_token\",\n  \"newPassword\": \"newpassword123\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/auth/reset-password","host":["{{base_url}}"],"path":["auth","reset-password"]},"description":"Complete a password reset with the token from the reset email."},"response":[]}]}]}