{"removeAttribution":false,"l10n":{"translations":{"default_locale":{"translation":{}}},"defaultLocale":"default_locale","locales":[{"code":"default_locale","name":"default_locale"}]},"logo":{"srcSet":"/assets/logo.5871ed30d36a48f1ed850ad755d59cdf09414822ada849feb2a58f33ccee6408.9c1bb791.svg light, /assets/logo-dark.d5938cb13dd83de77ee55b153039cb7e31a044599198c710fe22c2050515f22e.9c1bb791.svg dark","altText":"Slimlink Logo","link":"apis/index.yaml"},"navbar":{"items":[{"type":"link","fsPath":"apis/index.yaml","metadata":{"type":"openapi","title":"Slimlink External API","description":"# Introduction\n\nSlimlink External API provides publicly available endpoints for external integrations. Use this API to create and manage short links, retrieve analytics, and manage domains programmatically.\n\n## Authentication\n\nAll API requests require authentication using an API key. Include your API key in the `X-API-Key` header with every request:\n\n```\nX-API-Key: your_api_key_here\n```\n\n**How to obtain an API key:**\n1. Contact your KAM or Support team\n2. Check your email for api key\n\n\n> **Note:** API is avaible only for our enterprise level customers\n\n## Error Responses\n\nThe API uses standard HTTP status codes to indicate success or failure:\n\n| Status Code | Error Code | Description |\n|-------------|------------|-------------|\n| `200` | — | Success - Request completed successfully |\n| `400` | `1001` | Bad Request - Invalid request parameters |\n| `401` | `1003` | Unauthorized - Invalid or missing API key |\n| `403` | `1005` | Forbidden - Access denied to the requested resource |\n| `404` | `1002` | Not Found - Resource does not exist |\n| `409` | `1006` | Conflict - Resource already exists |\n| `422` | `50700` | Validation Error - Request body validation failed |\n| `429` | `50900` | Too Many Requests - Rate limit exceeded |\n| `500` | `1004` | Internal Server Error - Server-side error |\n\n**Error Response Format:**\n```json\n{\n  \"message\": \"Error description\",\n  \"error_code\": 1001,\n  \"data\": {}\n}\n\n```\n\n## Rate Limits\n\nRate limits are **tariff-based** and apply to the bulk upload endpoint (`/v1/links/bulk`). Limits vary depending on your subscription plan.\n\n| Metric | Description |\n|--------|-------------|\n| Per Second | Maximum requests allowed per second (tariff-dependent) |\n| Per Minute | Maximum requests allowed per minute (tariff-dependent) |\n\nWhen you exceed the rate limit, you will receive a `429 Too Many Requests` response with error code `50900`. The response headers include:\n\n| Header | Description |\n|--------|-------------|\n| `X-RateLimit-Limit-Second` | Maximum requests allowed per second |\n| `X-RateLimit-Remaining-Second` | Remaining requests in current second window |\n| `X-RateLimit-Limit-Minute` | Maximum requests allowed per minute |\n| `X-RateLimit-Remaining-Minute` | Remaining requests in current minute window |\n\n> **Note:** Contact support or upgrade your plan to increase rate limits.\n\n## Pagination\n\n    List endpoints support pagination using the following parameters:\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `page` | integer | `1` | Page number (1-indexed) |\n| `itemsPerPage` | integer | `30` | Number of items per page |\n\n**Paginated Response Format:**\n```json\n{\n  \"message\": \"Request successful\",\n  \"error_code\": null,\n  \"data\": {\n    \"items\": [...],\n    \"total\": 150\n  }\n}\n```\n\nUse the `total` field to calculate the total number of pages: `total_pages = ceil(total / itemsPerPage)`\n"},"label":"API Reference","link":"/apis","linePosition":"top","routeSlug":"/apis"}]},"footer":{"copyrightText":"Copyleft © Redocly Inc. No rights reserved.","items":[{"type":"link","link":"https://slimlink.com/terms-of-service","label":"Terms of Service","linePosition":"top"},{"type":"link","link":"https://slimlink.com/cookie-policy","label":"Cookie Policy","linePosition":"top"},{"type":"link","link":"https://slimlink.com/privacy-notice","label":"Privacy Notice","linePosition":"top"}]},"links":[{"href":"https://fonts.googleapis.com/css2?family=VT323&display=swap"},{"href":"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap"}],"colorMode":{"hide":false,"modes":["light","dark"]},"markdown":{"toc":{"depth":2,"header":"On this page"},"frontMatterKeysToResolve":["image","links"],"partialsFolders":["**/_partials/**"],"lastUpdatedBlock":{"format":"timeago"},"editPage":{}},"breadcrumbs":{"hide":true,"prefixItems":[]},"mcp":{"hide":false,"docs":{"hide":false,"name":"MCP server","ignore":[]}},"userMenu":{"hide":true},"auth":{"idpsInfo":[]},"search":{},"entitiesCatalog":{},"apiProducts":{},"searchFeatures":{"advanced":{"enabled":false},"ai":{"enabled":false}}}