Bulk update links

PATCH https://api-sandbox.slimlinkdev.com/api/public/links/bulk

Bulk update multiple links in a single request.

Each item in the array is updated independently. All links must belong to the current user or their company.

Request body

[
    {
        "id": "550e8400-e29b-41d4-a716-446655440001",
        "longUrl": "https://example.com/new-destination",
        "expiredAt": "2025-12-31T23:59:59+00:00"
    },
    {
        "id": "550e8400-e29b-41d4-a716-446655440002",
        "title": "Updated Title",
        "tags": [
            {
                "name": "promo"
            },
            {
                "name": "2025"
            }
        ]
    }
]

Responses

200 Links updated successfully
400 Validation error
401 Unauthorized
403 Access denied
404 Link not found

Example response · 200

{
    "success": true,
    "data": [
        {
            "id": "550e8400-e29b-41d4-a716-446655440001",
            "path": "abc123",
            "longUrl": "https://example.com/new-destination",
            "title": "My Link",
            "expiredAt": "2025-12-31T23:59:59+00:00",
            "createdAt": "2024-01-15T10:30:00+00:00",
            "updatedAt": "2024-08-20T14:25:00+00:00"
        },
        {
            "id": "550e8400-e29b-41d4-a716-446655440002",
            "path": "xyz789",
            "longUrl": "https://example.com/other",
            "title": "Updated Title",
            "expiredAt": null,
            "createdAt": "2024-02-10T08:00:00+00:00",
            "updatedAt": "2024-08-20T14:25:00+00:00"
        }
    ]
}

Example response · 400

{
    "success": false,
    "errors": [
        {
            "items": {
                "message": "Array must not be empty",
                "error_code": "INVALID_INPUT"
            }
        }
    ]
}

Example response · 401

{
    "success": false,
    "error": "unauthorized",
    "message": "Invalid or expired token"
}

Example response · 403

{
    "success": false,
    "error": "forbidden",
    "message": "Access Denied."
}

Example response · 404

{
    "success": false,
    "error": "not_found",
    "message": "Link not found"
}