{"record":{"id":"3c2c523137b3b801","repo":"coollabsio/coolify","slug":"rate-limit-exceeded-please-try-again-later-3c2c52","errorCode":null,"errorMessage":"Rate limit exceeded. Please try again later.","messagePattern":"Rate limit exceeded\\. Please try again later\\.","errorType":"exception","errorClass":"RateLimitException","httpStatus":null,"severity":"error","filePath":"app/Services/VultrService.php","lineNumber":25,"sourceCode":"\nclass VultrService\n{\n    private string $baseUrl = 'https://api.vultr.com/v2';\n\n    public function __construct(private string $token) {}\n\n    private function request(string $method, string $endpoint, array $data = []): array\n    {\n        $response = Http::withHeaders([\n            'Authorization' => 'Bearer '.$this->token,\n        ])\n            ->timeout(30)\n            ->retry(3, fn (int $attempt) => $attempt * 100, throw: false)\n            ->{$method}($this->baseUrl.$endpoint, $data);\n\n        if (! $response->successful()) {\n            if ($response->status() === 429) {\n                throw new RateLimitException(\n                    'Rate limit exceeded. Please try again later.',\n                    $response->header('Retry-After') !== null ? (int) $response->header('Retry-After') : null\n                );\n            }\n\n            throw new \\Exception('Vultr API error: '.$response->json('error', 'Unknown error'), $response->status());\n        }\n\n        return $response->json() ?? [];\n    }\n\n    private function requestPaginated(string $endpoint, string $resourceKey, array $data = []): array\n    {\n        $allResults = [];\n        $cursor = null;\n\n        do {\n            $query = $data;","sourceCodeStart":7,"sourceCodeEnd":43,"githubUrl":"https://github.com/coollabsio/coolify/blob/70b9acc42467278373e00de77abb40684e25b395/app/Services/VultrService.php#L7-L43","documentation":"Error \"Rate limit exceeded. Please try again later.\" thrown in coollabsio/coolify.","triggerScenarios":"Thrown at app/Services/VultrService.php:25 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"70b9acc42467278373e00de77abb40684e25b395","analyzedAt":"2026-08-17T01:41:01.313Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}