# getBlocks

## getBlocks RPC Method

> Returns a list of confirmed blocks between two slots

````json
{"openapi":"3.0.3","info":{"title":"Solana RPC API - getBlocks Method","version":"1.0.0"},"tags":[{"name":"Block Information","description":"Methods related to block information retrieval. Blocks in Solana contain\ntransactions and are produced by validators in the network.      \n"}],"servers":[{"url":"https://public.rpc.solanavibestation.com"},{"url":"https://basic.rpc.solanavibestation.com"},{"url":"https://ultra.rpc.solanavibestation.com"},{"url":"https://elite.rpc.solanavibestation.com"},{"url":"https://epic.rpc.solanavibestation.com"},{"url":"https://basic.swqos.solanavibestation.com"},{"url":"https://ultra.swqos.solanavibestation.com"},{"url":"https://elite.swqos.solanavibestation.com"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Authorization header for API key authentication.\n\n**Example:**\n```\nAuthorization: your-api-key-here\n```        \n"},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"API key passed as a URL parameter for authentication.\n\n**Example:**\n```\nhttps://public.rpc.solanavibestation.com/historical?api_key=your-api-key-here\n```        \n"}},"schemas":{"GetBlocksRequest":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","description":"JSON-RPC protocol version","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Request identifier that will be returned in the response"},"method":{"type":"string","description":"The RPC method name","enum":["getBlocks"]},"params":{"type":"array","description":"Method parameters:\n1. Start slot (u64) - required\n2. End slot (u64) - optional, must be no more than 500,000 blocks higher than start_slot\n","minItems":1,"maxItems":2,"items":{"type":"integer","format":"int64","minimum":0,"description":"Start slot (required) or end slot (optional)"}}}},"GetBlocksResponse":{"type":"object","description":"RPC response containing list of confirmed blocks","required":["jsonrpc","id"],"properties":{"jsonrpc":{"type":"string","description":"JSON-RPC protocol version","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Request identifier matching the original request"},"result":{"type":"array","description":"An array of u64 integers listing confirmed blocks between start_slot and\neither end_slot (if provided) or latest confirmed slot, inclusive. \nMax range allowed is 500,000 slots.            \n","items":{"type":"integer","format":"int64","minimum":0,"description":"Slot number of a confirmed block"}},"error":{"$ref":"#/components/schemas/RpcError"}}},"RpcError":{"type":"object","description":"Standard JSON-RPC error object","required":["code","message"],"properties":{"code":{"type":"integer","description":"Numeric error code following JSON-RPC 2.0 specification:\n- `-32700`: Parse error\n- `-32600`: Invalid request  \n- `-32601`: Method not found\n- `-32602`: Invalid params (including range too large)\n- `-32603`: Internal error\n- `-32005`: Too Many Requests\n- `-32003`: Unauthorized            \n"},"message":{"type":"string","description":"Human-readable error message"},"data":{"type":"object","description":"Additional structured error information (optional)","additionalProperties":true}}}}},"paths":{"/historical":{"post":{"summary":"getBlocks RPC Method","description":"Returns a list of confirmed blocks between two slots","operationId":"getBlocks","tags":["Block Information"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBlocksRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBlocksResponse"}}}},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"type":"string"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"type":"string"}}}},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"type":"string"}}}},"500":{"description":"Internal Server Error","content":{"text/plain":{"schema":{"type":"string"}}}}}}}}}
````
