{ "get": { "operationId": "getShortUrl", "tags": [ "Short URLs" ], "summary": "Parse short code", "description": "Get the long URL behind a short URL's short code.", "parameters": [ { "$ref": "../parameters/version.json" }, { "name": "shortCode", "in": "path", "description": "The short code to resolve.", "required": true, "schema": { "type": "string" } }, { "$ref": "../parameters/domain.json" } ], "security": [ { "ApiKey": [] } ], "responses": { "200": { "description": "The URL info behind a short code.", "content": { "application/json": { "schema": { "$ref": "../definitions/ShortUrl.json" } } }, "examples": { "application/json": { "shortCode": "12Kb3", "shortUrl": "https://doma.in/12Kb3", "longUrl": "https://shlink.io", "dateCreated": "2016-05-01T20:34:16+02:00", "visitsCount": 1029, "tags": [ "shlink" ], "meta": { "validSince": "2017-01-21T00:00:00+02:00", "validUntil": null, "maxVisits": 100 }, "domain": null, "title": null } } }, "404": { "description": "No URL was found for provided short code.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } }, "500": { "description": "Unexpected error.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } } } }, "patch": { "operationId": "editShortUrl", "tags": [ "Short URLs" ], "summary": "Edit short URL", "description": "Update certain meta arguments from an existing short URL.", "parameters": [ { "$ref": "../parameters/version.json" }, { "name": "shortCode", "in": "path", "description": "The short code to edit.", "required": true, "schema": { "type": "string" } }, { "$ref": "../parameters/domain.json" } ], "requestBody": { "description": "Request body.", "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "longUrl": { "description": "The long URL this short URL will redirect to", "type": "string" }, "validSince": { "description": "The date (in ISO-8601 format) from which this short code will be valid", "type": "string", "nullable": true }, "validUntil": { "description": "The date (in ISO-8601 format) until which this short code will be valid", "type": "string", "nullable": true }, "maxVisits": { "description": "The maximum number of allowed visits for this short code", "type": "number", "nullable": true }, "validateUrl": { "description": "Tells if the long URL (if provided) should or should not be validated as a reachable URL. If not provided, it will fall back to app-level config", "type": "boolean" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "The list of tags to set to the short URL." }, "title": { "type": "string", "description": "A descriptive title of the short URL.", "nullable": true } } } } } }, "security": [ { "ApiKey": [] } ], "responses": { "200": { "description": "The short URL has been properly updated.", "content": { "application/json": { "schema": { "$ref": "../definitions/ShortUrl.json" } } }, "examples": { "application/json": { "shortCode": "12Kb3", "shortUrl": "https://doma.in/12Kb3", "longUrl": "https://shlink.io", "dateCreated": "2016-05-01T20:34:16+02:00", "visitsCount": 1029, "tags": [ "shlink" ], "meta": { "validSince": "2017-01-21T00:00:00+02:00", "validUntil": null, "maxVisits": 100 }, "domain": null, "title": "Shlink - The URL shortener" } } }, "400": { "description": "Provided meta arguments are invalid.", "content": { "application/problem+json": { "schema": { "type": "object", "allOf": [ { "$ref": "../definitions/Error.json" }, { "type": "object", "required": ["invalidElements"], "properties": { "invalidElements": { "type": "array", "items": { "type": "string", "enum": [ "longUrl", "validSince", "validUntil", "maxVisits" ] } } } } ] } } } }, "404": { "description": "No short URL was found for provided short code.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } }, "500": { "description": "Unexpected error.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } } } }, "delete": { "operationId": "deleteShortUrl", "tags": [ "Short URLs" ], "summary": "Delete short URL", "description": "Deletes the short URL for provided short code.", "parameters": [ { "$ref": "../parameters/version.json" }, { "name": "shortCode", "in": "path", "description": "The short code to edit.", "required": true, "schema": { "type": "string" } }, { "$ref": "../parameters/domain.json" } ], "security": [ { "ApiKey": [] } ], "responses": { "204": { "description": "The short URL has been properly deleted." }, "422": { "description": "The visits threshold in shlink does not allow this short URL to be deleted.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } }, "examples": { "application/problem+json": { "title": "Cannot delete short URL", "type": "INVALID_SHORTCODE_DELETION", "detail": "It is not possible to delete URL with short code \"abc123\" because it has reached more than \"15\" visits.", "status": 422 } } }, "404": { "description": "No short URL was found for provided short code.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } }, "500": { "description": "Unexpected error.", "content": { "application/problem+json": { "schema": { "$ref": "../definitions/Error.json" } } } } } } }