# programUnsubscribe

## programUnsubscribe WebSocket Method

> Unsubscribe from program-owned account change notifications. This method cancels an existing program subscription identified by the subscription ID that was returned from a previous programSubscribe call. Once unsubscribed, you will no longer receive programNotification messages for accounts owned by the specified program.<br>

````json
{"openapi":"3.0.3","info":{"title":"Solana WebSocket API - programUnsubscribe Method","version":"1.0.0"},"tags":[{"name":"Program Subscriptions","description":"Methods related to managing real-time program account subscriptions via WebSocket. These methods allow you to subscribe to and unsubscribe from monitoring all accounts owned by specific programs for state changes including balance updates, data modifications, account creation and deletion. Use filters to receive only notifications for accounts that match your specific criteria.\n"}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"SVS Public WebSocket Node Endpoint"},{"url":"wss://basic.rpc.solanavibestation.com"},{"url":"wss://ultra.rpc.solanavibestation.com"},{"url":"wss://elite.rpc.solanavibestation.com"},{"url":"wss://epic.rpc.solanavibestation.com"},{"url":"wss://basic.swqos.solanavibestation.com"},{"url":"wss://ultra.swqos.solanavibestation.com"},{"url":"wss://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```\nwss://public.rpc.solanavibestation.com/?api_key=your-api-key-here\n```\n"}},"schemas":{"ProgramUnsubscribeRequest":{"type":"object","description":"Request object for unsubscribing from program account change notifications","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 WebSocket method name","enum":["programUnsubscribe"]},"params":{"type":"array","description":"Method parameters array containing the program subscription ID to cancel\n","minItems":1,"maxItems":1,"items":{"type":"integer","description":"ID of the program subscription to cancel. This must be a valid subscription ID returned from a previous programSubscribe call.\n","minimum":0}}}},"ProgramUnsubscribeResponse":{"type":"object","description":"Response indicating the success or failure of the program unsubscribe operation","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":"boolean","description":"Unsubscribe success indicator. Returns true if the program subscription was successfully cancelled, false otherwise. A successful unsubscribe means you will no longer receive programNotification messages for accounts owned by the subscribed program.\n"},"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 - Invalid JSON was received\n- `-32600`: Invalid request - The JSON sent is not a valid request object\n- `-32601`: Method not found - The method does not exist\n- `-32602`: Invalid params - Invalid method parameter(s)\n- `-32603`: Internal error - Internal JSON-RPC error\n- `-32000`: Server error - Program subscription not found or WebSocket connection issues\n- `-32001`: Invalid subscription ID - The provided subscription ID format is invalid\n"},"message":{"type":"string","description":"Human-readable error message describing the error"},"data":{"type":"object","description":"Additional structured error information (optional). May contain specific details about what caused the error, such as the invalid subscription ID that was provided.\n","additionalProperties":true}}},"ErrorResponse":{"type":"object","description":"JSON-RPC error response for failed requests","required":["jsonrpc","error","id"],"properties":{"jsonrpc":{"type":"string","description":"JSON-RPC protocol version","enum":["2.0"]},"error":{"$ref":"#/components/schemas/RpcError"},"id":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"description":"Request identifier from the original request, or null if the request was malformed and no ID could be extracted."}}}}},"paths":{"/":{"post":{"summary":"programUnsubscribe WebSocket Method","description":"Unsubscribe from program-owned account change notifications. This method cancels an existing program subscription identified by the subscription ID that was returned from a previous programSubscribe call. Once unsubscribed, you will no longer receive programNotification messages for accounts owned by the specified program.\n","operationId":"programUnsubscribe","tags":["Program Subscriptions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramUnsubscribeRequest"}}}},"responses":{"200":{"description":"Unsubscription successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramUnsubscribeResponse"}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"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"}}}}}}}}}
````
