{ "openapi": "3.0.0", "info": { "title": "Shlink", "description": "Shlink, the self-hosted URL shortener", "version": "1.0" }, "externalDocs": { "url": "https://shlink.io/api-docs", "description": "Find more info on how to start using this API here" }, "servers": [ { "url": "{scheme}://{host}", "variables": { "scheme": { "default": "https", "enum": ["https", "http"] }, "host": { "default": "" } } } ], "components": { "securitySchemes": { "ApiKey": { "description": "A valid shlink API key", "type": "apiKey", "in": "header", "name": "X-Api-Key" }, "Bearer": { "description": "**[DEPRECATED]** The JWT identifying a previously authenticated API key", "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "tags": [ { "name": "Short URLs", "description": "Operations that can be performed on short URLs" }, { "name": "Tags", "description": "Let you handle the list of available tags" }, { "name": "Visits", "description": "Operations to manage visits on short URLs" }, { "name": "Monitoring", "description": "Public endpoints designed to monitor the service" }, { "name": "URL Shortener", "description": "Non-rest endpoints, used to be publicly exposed" }, { "name": "Authentication", "description": "**[DEPRECATED]** Authentication-related endpoints" } ], "paths": { "/rest/v1/short-urls": { "$ref": "paths/v1_short-urls.json" }, "/rest/v1/short-urls/shorten": { "$ref": "paths/v1_short-urls_shorten.json" }, "/rest/v1/short-urls/{shortCode}": { "$ref": "paths/v1_short-urls_{shortCode}.json" }, "/rest/v1/short-urls/{shortCode}/tags": { "$ref": "paths/v1_short-urls_{shortCode}_tags.json" }, "/rest/v1/tags": { "$ref": "paths/v1_tags.json" }, "/rest/v1/short-urls/{shortCode}/visits": { "$ref": "paths/v1_short-urls_{shortCode}_visits.json" }, "/rest/health": { "$ref": "paths/health.json" }, "/{shortCode}": { "$ref": "paths/{shortCode}.json" }, "/{shortCode}/track": { "$ref": "paths/{shortCode}_track.json" }, "/{shortCode}/qr-code": { "$ref": "paths/{shortCode}_qr-code.json" }, "/{shortCode}/preview": { "$ref": "paths/{shortCode}_preview.json" }, "/rest/v1/authenticate": { "$ref": "paths/v1_authenticate.json" } } }