[{"data":1,"prerenderedAt":1067},["ShallowReactive",2],{"docs:/docs/api-reference/errors":3},{"id":4,"title":5,"body":6,"description":1059,"extension":1060,"meta":1061,"navigation":1062,"path":1063,"seo":1064,"stem":1065,"__hash__":1066},"docs/docs/api-reference/errors.md","Error Reference",{"type":7,"value":8,"toc":1044},"minimark",[9,13,17,22,27,30,100,162,166,261,265,270,273,319,323,326,371,375,378,423,427,430,475,479,482,527,531,534,579,583,586,589,651,716,720,856,860,863,893,897,900,936,940,943,990,996,1015,1019,1040],[10,11,5],"h1",{"id":12},"error-reference",[14,15,16],"p",{},"Complete reference for errors returned by the NoLag REST API and WebSocket connections.",[18,19,21],"h2",{"id":20},"rest-api-errors","REST API Errors",[23,24,26],"h3",{"id":25},"error-format","Error Format",[14,28,29],{},"All REST API error responses return a JSON object with three fields:",[31,32,33],"code-tabs",{},[34,35,41],"pre",{"className":36,"code":37,"filename":38,"language":39,"meta":40,"style":40},"language-json shiki shiki-themes github-light github-dark","{\n  \"id\": \"uuid\",\n  \"message\": \"Human-readable error description\",\n  \"timestamp\": \"2024-01-15T12:00:00Z\"\n}\n","JSON","json","",[42,43,44,53,70,83,94],"code",{"__ignoreMap":40},[45,46,49],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"sVt8B","{\n",[45,54,56,60,63,67],{"class":47,"line":55},2,[45,57,59],{"class":58},"sj4cs","  \"id\"",[45,61,62],{"class":51},": ",[45,64,66],{"class":65},"sZZnC","\"uuid\"",[45,68,69],{"class":51},",\n",[45,71,73,76,78,81],{"class":47,"line":72},3,[45,74,75],{"class":58},"  \"message\"",[45,77,62],{"class":51},[45,79,80],{"class":65},"\"Human-readable error description\"",[45,82,69],{"class":51},[45,84,86,89,91],{"class":47,"line":85},4,[45,87,88],{"class":58},"  \"timestamp\"",[45,90,62],{"class":51},[45,92,93],{"class":65},"\"2024-01-15T12:00:00Z\"\n",[45,95,97],{"class":47,"line":96},5,[45,98,99],{"class":51},"}\n",[101,102,103,119],"table",{},[104,105,106],"thead",{},[107,108,109,113,116],"tr",{},[110,111,112],"th",{},"Field",[110,114,115],{},"Type",[110,117,118],{},"Description",[120,121,122,136,149],"tbody",{},[107,123,124,130,133],{},[125,126,127],"td",{},[42,128,129],{},"id",[125,131,132],{},"string (UUID)",[125,134,135],{},"Unique identifier for this error instance. Include this when contacting support.",[107,137,138,143,146],{},[125,139,140],{},[42,141,142],{},"message",[125,144,145],{},"string",[125,147,148],{},"Human-readable description of what went wrong.",[107,150,151,156,159],{},[125,152,153],{},[42,154,155],{},"timestamp",[125,157,158],{},"string (ISO 8601)",[125,160,161],{},"When the error occurred.",[23,163,165],{"id":164},"http-status-codes","HTTP Status Codes",[101,167,168,181],{},[104,169,170],{},[107,171,172,175,178],{},[110,173,174],{},"Status",[110,176,177],{},"Name",[110,179,180],{},"When",[120,182,183,196,209,222,235,248],{},[107,184,185,190,193],{},[125,186,187],{},[42,188,189],{},"400",[125,191,192],{},"Bad Request",[125,194,195],{},"Validation failed, invalid UUID, malformed request body",[107,197,198,203,206],{},[125,199,200],{},[42,201,202],{},"401",[125,204,205],{},"Unauthorized",[125,207,208],{},"Missing or invalid API key/token",[107,210,211,216,219],{},[125,212,213],{},[42,214,215],{},"403",[125,217,218],{},"Forbidden",[125,220,221],{},"Valid credentials but insufficient permissions",[107,223,224,229,232],{},[125,225,226],{},[42,227,228],{},"404",[125,230,231],{},"Not Found",[125,233,234],{},"Resource does not exist or has been deleted",[107,236,237,242,245],{},[125,238,239],{},[42,240,241],{},"409",[125,243,244],{},"Conflict",[125,246,247],{},"Duplicate resource (e.g. unique constraint violation)",[107,249,250,255,258],{},[125,251,252],{},[42,253,254],{},"502",[125,256,257],{},"Bad Gateway",[125,259,260],{},"Upstream service unavailable",[23,262,264],{"id":263},"response-examples","Response Examples",[266,267,269],"h4",{"id":268},"_400-bad-request","400 Bad Request",[14,271,272],{},"Returned when the request fails validation or contains malformed data.",[31,274,275],{},[34,276,278],{"className":36,"code":277,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174001\",\n  \"message\": \"Invalid appId UUID format\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,279,280,284,295,306,315],{"__ignoreMap":40},[45,281,282],{"class":47,"line":48},[45,283,52],{"class":51},[45,285,286,288,290,293],{"class":47,"line":55},[45,287,59],{"class":58},[45,289,62],{"class":51},[45,291,292],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174001\"",[45,294,69],{"class":51},[45,296,297,299,301,304],{"class":47,"line":72},[45,298,75],{"class":58},[45,300,62],{"class":51},[45,302,303],{"class":65},"\"Invalid appId UUID format\"",[45,305,69],{"class":51},[45,307,308,310,312],{"class":47,"line":85},[45,309,88],{"class":58},[45,311,62],{"class":51},[45,313,314],{"class":65},"\"2024-01-15T10:30:00.000Z\"\n",[45,316,317],{"class":47,"line":96},[45,318,99],{"class":51},[266,320,322],{"id":321},"_401-unauthorized","401 Unauthorized",[14,324,325],{},"Returned when the API key is missing, malformed, or no longer valid.",[31,327,328],{},[34,329,331],{"className":36,"code":330,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174002\",\n  \"message\": \"Unauthorized\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,332,333,337,348,359,367],{"__ignoreMap":40},[45,334,335],{"class":47,"line":48},[45,336,52],{"class":51},[45,338,339,341,343,346],{"class":47,"line":55},[45,340,59],{"class":58},[45,342,62],{"class":51},[45,344,345],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174002\"",[45,347,69],{"class":51},[45,349,350,352,354,357],{"class":47,"line":72},[45,351,75],{"class":58},[45,353,62],{"class":51},[45,355,356],{"class":65},"\"Unauthorized\"",[45,358,69],{"class":51},[45,360,361,363,365],{"class":47,"line":85},[45,362,88],{"class":58},[45,364,62],{"class":51},[45,366,314],{"class":65},[45,368,369],{"class":47,"line":96},[45,370,99],{"class":51},[266,372,374],{"id":373},"_403-forbidden","403 Forbidden",[14,376,377],{},"Returned when the credentials are valid but lack permission to access the resource.",[31,379,380],{},[34,381,383],{"className":36,"code":382,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174003\",\n  \"message\": \"API key must be project-scoped to access this endpoint\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,384,385,389,400,411,419],{"__ignoreMap":40},[45,386,387],{"class":47,"line":48},[45,388,52],{"class":51},[45,390,391,393,395,398],{"class":47,"line":55},[45,392,59],{"class":58},[45,394,62],{"class":51},[45,396,397],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174003\"",[45,399,69],{"class":51},[45,401,402,404,406,409],{"class":47,"line":72},[45,403,75],{"class":58},[45,405,62],{"class":51},[45,407,408],{"class":65},"\"API key must be project-scoped to access this endpoint\"",[45,410,69],{"class":51},[45,412,413,415,417],{"class":47,"line":85},[45,414,88],{"class":58},[45,416,62],{"class":51},[45,418,314],{"class":65},[45,420,421],{"class":47,"line":96},[45,422,99],{"class":51},[266,424,426],{"id":425},"_404-not-found","404 Not Found",[14,428,429],{},"Returned when the requested resource does not exist or has been deleted.",[31,431,432],{},[34,433,435],{"className":36,"code":434,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174004\",\n  \"message\": \"App not found\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,436,437,441,452,463,471],{"__ignoreMap":40},[45,438,439],{"class":47,"line":48},[45,440,52],{"class":51},[45,442,443,445,447,450],{"class":47,"line":55},[45,444,59],{"class":58},[45,446,62],{"class":51},[45,448,449],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174004\"",[45,451,69],{"class":51},[45,453,454,456,458,461],{"class":47,"line":72},[45,455,75],{"class":58},[45,457,62],{"class":51},[45,459,460],{"class":65},"\"App not found\"",[45,462,69],{"class":51},[45,464,465,467,469],{"class":47,"line":85},[45,466,88],{"class":58},[45,468,62],{"class":51},[45,470,314],{"class":65},[45,472,473],{"class":47,"line":96},[45,474,99],{"class":51},[266,476,478],{"id":477},"_409-conflict","409 Conflict",[14,480,481],{},"Returned when a create or update would violate a uniqueness constraint.",[31,483,484],{},[34,485,487],{"className":36,"code":486,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174005\",\n  \"message\": \"A room with this slug already exists\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,488,489,493,504,515,523],{"__ignoreMap":40},[45,490,491],{"class":47,"line":48},[45,492,52],{"class":51},[45,494,495,497,499,502],{"class":47,"line":55},[45,496,59],{"class":58},[45,498,62],{"class":51},[45,500,501],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174005\"",[45,503,69],{"class":51},[45,505,506,508,510,513],{"class":47,"line":72},[45,507,75],{"class":58},[45,509,62],{"class":51},[45,511,512],{"class":65},"\"A room with this slug already exists\"",[45,514,69],{"class":51},[45,516,517,519,521],{"class":47,"line":85},[45,518,88],{"class":58},[45,520,62],{"class":51},[45,522,314],{"class":65},[45,524,525],{"class":47,"line":96},[45,526,99],{"class":51},[266,528,530],{"id":529},"_502-bad-gateway","502 Bad Gateway",[14,532,533],{},"Returned when an upstream service is unreachable or returned an unexpected response.",[31,535,536],{},[34,537,539],{"className":36,"code":538,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"id\": \"01939f83-8b57-7c3e-a456-426614174006\",\n  \"message\": \"Upstream service unavailable\",\n  \"timestamp\": \"2024-01-15T10:30:00.000Z\"\n}\n",[42,540,541,545,556,567,575],{"__ignoreMap":40},[45,542,543],{"class":47,"line":48},[45,544,52],{"class":51},[45,546,547,549,551,554],{"class":47,"line":55},[45,548,59],{"class":58},[45,550,62],{"class":51},[45,552,553],{"class":65},"\"01939f83-8b57-7c3e-a456-426614174006\"",[45,555,69],{"class":51},[45,557,558,560,562,565],{"class":47,"line":72},[45,559,75],{"class":58},[45,561,62],{"class":51},[45,563,564],{"class":65},"\"Upstream service unavailable\"",[45,566,69],{"class":51},[45,568,569,571,573],{"class":47,"line":85},[45,570,88],{"class":58},[45,572,62],{"class":51},[45,574,314],{"class":65},[45,576,577],{"class":47,"line":96},[45,578,99],{"class":51},[18,580,582],{"id":581},"websocket-errors","WebSocket Errors",[23,584,26],{"id":585},"error-format-1",[14,587,588],{},"WebSocket errors are delivered as JSON messages on the open connection:",[31,590,591],{},[34,592,594],{"className":36,"code":593,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"type\": \"error\",\n  \"error\": \"error_name\",\n  \"code\": 42910,\n  \"topic\": \"app/room/topic\"\n}\n",[42,595,596,600,612,624,636,646],{"__ignoreMap":40},[45,597,598],{"class":47,"line":48},[45,599,52],{"class":51},[45,601,602,605,607,610],{"class":47,"line":55},[45,603,604],{"class":58},"  \"type\"",[45,606,62],{"class":51},[45,608,609],{"class":65},"\"error\"",[45,611,69],{"class":51},[45,613,614,617,619,622],{"class":47,"line":72},[45,615,616],{"class":58},"  \"error\"",[45,618,62],{"class":51},[45,620,621],{"class":65},"\"error_name\"",[45,623,69],{"class":51},[45,625,626,629,631,634],{"class":47,"line":85},[45,627,628],{"class":58},"  \"code\"",[45,630,62],{"class":51},[45,632,633],{"class":58},"42910",[45,635,69],{"class":51},[45,637,638,641,643],{"class":47,"line":96},[45,639,640],{"class":58},"  \"topic\"",[45,642,62],{"class":51},[45,644,645],{"class":65},"\"app/room/topic\"\n",[45,647,649],{"class":47,"line":648},6,[45,650,99],{"class":51},[101,652,653,663],{},[104,654,655],{},[107,656,657,659,661],{},[110,658,112],{},[110,660,115],{},[110,662,118],{},[120,664,665,680,692,704],{},[107,666,667,672,674],{},[125,668,669],{},[42,670,671],{},"type",[125,673,145],{},[125,675,676,677,679],{},"Always ",[42,678,609],{},".",[107,681,682,687,689],{},[125,683,684],{},[42,685,686],{},"error",[125,688,145],{},[125,690,691],{},"Machine-readable error name.",[107,693,694,698,701],{},[125,695,696],{},[42,697,42],{},[125,699,700],{},"number",[125,702,703],{},"Numeric error code. Only present for rate, quota, and size errors.",[107,705,706,711,713],{},[125,707,708],{},[42,709,710],{},"topic",[125,712,145],{},[125,714,715],{},"Optional. Included when the error relates to a specific topic.",[23,717,719],{"id":718},"error-codes","Error Codes",[101,721,722,734],{},[104,723,724],{},[107,725,726,729,732],{},[110,727,728],{},"Code",[110,730,731],{},"Error",[110,733,118],{},[120,735,736,750,765,783,796,808,832,844],{},[107,737,738,742,747],{},[125,739,740],{},[42,741,633],{},[125,743,744],{},[42,745,746],{},"rate_limit_exceeded",[125,748,749],{},"More than 50 messages/second on this connection.",[107,751,752,757,762],{},[125,753,754],{},[42,755,756],{},"42920",[125,758,759],{},[42,760,761],{},"monthly_quota_exceeded",[125,763,764],{},"Project has exceeded its monthly message quota.",[107,766,767,772,777],{},[125,768,769],{},[42,770,771],{},"42930",[125,773,774],{},[42,775,776],{},"message_too_large",[125,778,779,780,679],{},"Payload exceeds the plan limit. The response includes ",[42,781,782],{},"maxSizeBytes",[107,784,785,788,793],{},[125,786,787],{},"-",[125,789,790],{},[42,791,792],{},"not_authorized",[125,794,795],{},"ACL denied access to the topic or lobby.",[107,797,798,800,805],{},[125,799,787],{},[125,801,802],{},[42,803,804],{},"not_subscribed",[125,806,807],{},"Attempted a filter update on a topic not subscribed to.",[107,809,810,812,817],{},[125,811,787],{},[125,813,814],{},[42,815,816],{},"invalid_filter_chars",[125,818,819,820,823,824,827,828,831],{},"Filter contains ",[42,821,822],{},"/",", ",[42,825,826],{},"#",", or ",[42,829,830],{},"+"," characters.",[107,833,834,836,841],{},[125,835,787],{},[125,837,838],{},[42,839,840],{},"too_many_filters",[125,842,843],{},"More than 100 filters specified for a topic.",[107,845,846,848,853],{},[125,847,787],{},[125,849,850],{},[42,851,852],{},"not_authenticated",[125,854,855],{},"Message sent before authentication completed.",[23,857,859],{"id":858},"close-codes","Close Codes",[14,861,862],{},"The server may close the WebSocket connection with a specific close code:",[101,864,865,876],{},[104,866,867],{},[107,868,869,871,874],{},[110,870,728],{},[110,872,873],{},"Reason",[110,875,118],{},[120,877,878],{},[107,879,880,885,890],{},[125,881,882],{},[42,883,884],{},"4002",[125,886,887],{},[42,888,889],{},"connection_limit_reached",[125,891,892],{},"Organization has hit its concurrent connection limit.",[23,894,896],{"id":895},"server-initiated-disconnect","Server-Initiated Disconnect",[14,898,899],{},"Before closing the connection, the server sends a disconnect message. This occurs when a token is revoked or revalidation fails.",[31,901,902],{},[34,903,905],{"className":36,"code":904,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"type\": \"disconnect\",\n  \"reason\": \"token_invalid\"\n}\n",[42,906,907,911,922,932],{"__ignoreMap":40},[45,908,909],{"class":47,"line":48},[45,910,52],{"class":51},[45,912,913,915,917,920],{"class":47,"line":55},[45,914,604],{"class":58},[45,916,62],{"class":51},[45,918,919],{"class":65},"\"disconnect\"",[45,921,69],{"class":51},[45,923,924,927,929],{"class":47,"line":72},[45,925,926],{"class":58},"  \"reason\"",[45,928,62],{"class":51},[45,930,931],{"class":65},"\"token_invalid\"\n",[45,933,934],{"class":47,"line":85},[45,935,99],{"class":51},[23,937,939],{"id":938},"authentication-errors","Authentication Errors",[14,941,942],{},"If authentication fails, the server responds with an auth message indicating the failure:",[31,944,945],{},[34,946,948],{"className":36,"code":947,"filename":38,"language":39,"meta":40,"style":40},"{\n  \"type\": \"auth\",\n  \"success\": false,\n  \"error\": \"invalid_token\"\n}\n",[42,949,950,954,965,977,986],{"__ignoreMap":40},[45,951,952],{"class":47,"line":48},[45,953,52],{"class":51},[45,955,956,958,960,963],{"class":47,"line":55},[45,957,604],{"class":58},[45,959,62],{"class":51},[45,961,962],{"class":65},"\"auth\"",[45,964,69],{"class":51},[45,966,967,970,972,975],{"class":47,"line":72},[45,968,969],{"class":58},"  \"success\"",[45,971,62],{"class":51},[45,973,974],{"class":58},"false",[45,976,69],{"class":51},[45,978,979,981,983],{"class":47,"line":85},[45,980,616],{"class":58},[45,982,62],{"class":51},[45,984,985],{"class":65},"\"invalid_token\"\n",[45,987,988],{"class":47,"line":96},[45,989,99],{"class":51},[14,991,992,993,995],{},"Possible ",[42,994,686],{}," values:",[997,998,999,1005,1010],"ul",{},[1000,1001,1002],"li",{},[42,1003,1004],{},"\"invalid_token\"",[1000,1006,1007],{},[42,1008,1009],{},"\"connection_limit_reached\"",[1000,1011,1012],{},[42,1013,1014],{},"\"broker_unavailable\"",[18,1016,1018],{"id":1017},"next-steps","Next Steps",[997,1020,1021,1028,1034],{},[1000,1022,1023],{},[1024,1025,1027],"a",{"href":1026},"/docs/api-reference","REST API Reference",[1000,1029,1030],{},[1024,1031,1033],{"href":1032},"/docs/api-reference/websocket","WebSocket API Reference",[1000,1035,1036],{},[1024,1037,1039],{"href":1038},"/docs/protocol","Wire Protocol",[1041,1042,1043],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":40,"searchDepth":55,"depth":55,"links":1045},[1046,1051,1058],{"id":20,"depth":55,"text":21,"children":1047},[1048,1049,1050],{"id":25,"depth":72,"text":26},{"id":164,"depth":72,"text":165},{"id":263,"depth":72,"text":264},{"id":581,"depth":55,"text":582,"children":1052},[1053,1054,1055,1056,1057],{"id":585,"depth":72,"text":26},{"id":718,"depth":72,"text":719},{"id":858,"depth":72,"text":859},{"id":895,"depth":72,"text":896},{"id":938,"depth":72,"text":939},{"id":1017,"depth":55,"text":1018},"Complete reference for NoLag REST API and WebSocket errors, status codes, and error handling.","md",{},true,"/docs/api-reference/errors",{"title":5,"description":1059},"docs/api-reference/errors","xuzKaGD1YS9RtaxEApQ9F27-qHbrPt7OCrd25mfNv7M",1788160342439]