# Linkila Linkila creates and manages short links: build branded short URLs, control where each one redirects (including deep links into mobile apps), and track clicks with built-in analytics. ## API for agents - OpenAPI 3.0 spec (machine-readable): https://app.linkila.com/integrations/api/v1/openapi.json - Interactive API docs (Swagger UI): https://app.linkila.com/integrations/api/v1/ - MCP endpoint (JSON-RPC 2.0, streamable HTTP): https://app.linkila.com/integrations/api/v1/mcp Prefer the MCP endpoint when your client speaks MCP: every REST operation is exposed as a tool with the same names as the OpenAPI operationIds (quickGenerate, editLink, getLinks, getDomains, getAccessLog, countByInterval, ...). Otherwise call the REST API described by the OpenAPI spec. ## Authentication All operations require an API key (a Linkila IntegrationToken), sent as a bearer token: Authorization: Bearer The same header authenticates both the REST API and the MCP endpoint. ## Errors Error responses share the shape: {"error": "", "code": ""} Branch on the stable `code` (e.g. domain_not_found, link_not_found, rate_limited), not on the message text. ## Rate limiting Requests are limited per API key (120/m). When exceeded, the API responds with HTTP 429 and a `Retry-After` header (seconds to wait before retrying). ## Worked example 1. List the domains available to you: GET https://app.linkila.com/integrations/api/v1/domains 2. Create a short link for a target URL: POST https://app.linkila.com/integrations/api/v1/quickGenerate {"targetURL": "https://example.com", "domainName": ""} 3. Read click analytics for your links: POST https://app.linkila.com/integrations/api/v1/analytics/countByInterval Questions: support@linkila.com