[{"data":1,"prerenderedAt":2641},["ShallowReactive",2],{"navigation_docs_en":3,"-en-errors-error-handling":179,"-en-errors-error-handling-surround":2636},[4,36,57,87,107,127,143,154,162],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting Started","i-lucide-rocket","/en/getting-started","en/1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/en/getting-started/introduction","en/1.getting-started/1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Agency Setup","/en/getting-started/agency-setup","en/1.getting-started/2.agency-setup","i-lucide-building-2",{"title":21,"path":22,"stem":23,"icon":24},"Authentication","/en/getting-started/authentication","en/1.getting-started/3.authentication","i-lucide-key",{"title":26,"path":27,"stem":28,"icon":29},"Quick Start","/en/getting-started/quick-start","en/1.getting-started/4.quick-start","i-lucide-zap",{"title":31,"path":32,"stem":33,"icon":34},"Postman Collection","/en/getting-started/postman","en/1.getting-started/5.postman","i-lucide-download",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Concepts","i-lucide-lightbulb","/en/concepts","en/2.concepts",[42,47,52],{"title":43,"path":44,"stem":45,"icon":46},"External ID","/en/concepts/external-ids","en/2.concepts/1.external-ids","i-lucide-link",{"title":48,"path":49,"stem":50,"icon":51},"Upsert Pattern","/en/concepts/upsert-pattern","en/2.concepts/2.upsert-pattern","i-lucide-refresh-cw",{"title":53,"path":54,"stem":55,"icon":56},"Async Jobs","/en/concepts/async-jobs","en/2.concepts/3.async-jobs","i-lucide-clock",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":35},"Listings","i-lucide-home","/en/listings","en/3.listings",[63,68,73,78,83],{"title":64,"path":65,"stem":66,"icon":67},"Listings Overview","/en/listings/overview","en/3.listings/1.overview","i-lucide-layout-list",{"title":69,"path":70,"stem":71,"icon":72},"Create and Update","/en/listings/create-update","en/3.listings/2.create-update","i-lucide-plus",{"title":74,"path":75,"stem":76,"icon":77},"Retrieve Listings","/en/listings/retrieve","en/3.listings/3.retrieve","i-lucide-search",{"title":79,"path":80,"stem":81,"icon":82},"Bulk Operations","/en/listings/bulk","en/3.listings/4.bulk","i-lucide-layers",{"title":84,"path":85,"stem":86,"icon":46},"External ID Linking","/en/listings/external-id-linking","en/3.listings/5.external-id-linking",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":35},"Users","i-lucide-users","/en/users","en/4.users",[93,98,103],{"title":94,"path":95,"stem":96,"icon":97},"Users Overview","/en/users/overview","en/4.users/1.overview","i-lucide-user",{"title":99,"path":100,"stem":101,"icon":102},"Update Profile","/en/users/update","en/4.users/2.update","i-lucide-user-pen",{"title":104,"path":105,"stem":106,"icon":77},"Retrieve Users","/en/users/retrieve","en/4.users/3.retrieve",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":35},"Media","i-lucide-image","/en/media","en/5.media",[113,117,122],{"title":114,"path":115,"stem":116,"icon":109},"Media Overview","/en/media/overview","en/5.media/1.overview",{"title":118,"path":119,"stem":120,"icon":121},"Upload Files","/en/media/upload","en/5.media/2.upload","i-lucide-upload",{"title":123,"path":124,"stem":125,"icon":126},"Manage Files","/en/media/manage","en/5.media/3.manage","i-lucide-folder",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":35},"Reference","i-lucide-book-open","/en/reference","en/6.reference",[133,138],{"title":134,"path":135,"stem":136,"icon":137},"Field Schema","/en/reference/schema","en/6.reference/1.schema","i-lucide-file-json",{"title":139,"path":140,"stem":141,"icon":142},"Currencies and Rates","/en/reference/currencies","en/6.reference/2.currencies","i-lucide-wallet",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":35},"Errors","i-lucide-alert-triangle","/en/errors","en/7.errors",[149],{"title":150,"path":151,"stem":152,"icon":153},"Error Handling","/en/errors/error-handling","en/7.errors/1.error-handling","i-lucide-shield-alert",{"title":155,"path":156,"stem":157,"children":158,"icon":161},"Changelog","/en/changelog","en/8.changelog/1.index",[159],{"title":155,"path":156,"stem":157,"icon":160},"i-lucide-scroll-text","i-lucide-history",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Guides","/en/guides","en/9.guides",[167,171,175],{"title":168,"path":169,"stem":170,"icon":129},"Integration Guides","/en/guides/overview","en/9.guides/1.overview",{"title":172,"path":173,"stem":174,"icon":121},"Initial Sync","/en/guides/first-sync","en/9.guides/2.first-sync",{"title":176,"path":177,"stem":178,"icon":51},"Continuous Sync","/en/guides/continuous-sync","en/9.guides/3.continuous-sync",{"id":180,"title":150,"body":181,"description":2629,"extension":2630,"links":2631,"meta":2632,"navigation":2633,"path":151,"seo":2634,"stem":152,"__hash__":2635},"docs_en/en/7.errors/1.error-handling.md",{"type":182,"value":183,"toc":2605},"minimark",[184,188,193,284,290,375,379,518,522,527,538,542,553,557,560,590,594,602,645,649,652,696,702,988,992,996,1047,1051,1054,1624,1627,1631,1635,1728,1732,1817,1821,1886,1890,1962,1964,1968,2563,2567,2601],[185,186,187],"p",{},"The API uses standard HTTP codes to signal errors. All errors return JSON with a problem description.",[189,190,192],"h2",{"id":191},"error-format","Error Format",[194,195,200],"pre",{"className":196,"code":197,"language":198,"meta":199,"style":199},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"statusCode\": 400,\n  \"message\": \"Error description\",\n  \"error\": \"Bad Request\"\n}\n","json","",[201,202,203,212,235,258,278],"code",{"__ignoreMap":199},[204,205,208],"span",{"class":206,"line":207},"line",1,[204,209,211],{"class":210},"sMK4o","{\n",[204,213,215,218,222,225,228,232],{"class":206,"line":214},2,[204,216,217],{"class":210},"  \"",[204,219,221],{"class":220},"spNyl","statusCode",[204,223,224],{"class":210},"\"",[204,226,227],{"class":210},":",[204,229,231],{"class":230},"sbssI"," 400",[204,233,234],{"class":210},",\n",[204,236,238,240,243,245,247,250,254,256],{"class":206,"line":237},3,[204,239,217],{"class":210},[204,241,242],{"class":220},"message",[204,244,224],{"class":210},[204,246,227],{"class":210},[204,248,249],{"class":210}," \"",[204,251,253],{"class":252},"sfazB","Error description",[204,255,224],{"class":210},[204,257,234],{"class":210},[204,259,261,263,266,268,270,272,275],{"class":206,"line":260},4,[204,262,217],{"class":210},[204,264,265],{"class":220},"error",[204,267,224],{"class":210},[204,269,227],{"class":210},[204,271,249],{"class":210},[204,273,274],{"class":252},"Bad Request",[204,276,277],{"class":210},"\"\n",[204,279,281],{"class":206,"line":280},5,[204,282,283],{"class":210},"}\n",[185,285,286,287,289],{},"For validation errors, ",[201,288,242],{}," may be an array:",[194,291,293],{"className":196,"code":292,"language":198,"meta":199,"style":199},"{\n  \"statusCode\": 400,\n  \"message\": [\n    \"announcementDescription must be at least 40 characters\",\n    \"propertyType must be one of: residential, commercial, parking\"\n  ],\n  \"error\": \"Bad Request\"\n}\n",[201,294,295,299,313,326,338,347,353,370],{"__ignoreMap":199},[204,296,297],{"class":206,"line":207},[204,298,211],{"class":210},[204,300,301,303,305,307,309,311],{"class":206,"line":214},[204,302,217],{"class":210},[204,304,221],{"class":220},[204,306,224],{"class":210},[204,308,227],{"class":210},[204,310,231],{"class":230},[204,312,234],{"class":210},[204,314,315,317,319,321,323],{"class":206,"line":237},[204,316,217],{"class":210},[204,318,242],{"class":220},[204,320,224],{"class":210},[204,322,227],{"class":210},[204,324,325],{"class":210}," [\n",[204,327,328,331,334,336],{"class":206,"line":260},[204,329,330],{"class":210},"    \"",[204,332,333],{"class":252},"announcementDescription must be at least 40 characters",[204,335,224],{"class":210},[204,337,234],{"class":210},[204,339,340,342,345],{"class":206,"line":280},[204,341,330],{"class":210},[204,343,344],{"class":252},"propertyType must be one of: residential, commercial, parking",[204,346,277],{"class":210},[204,348,350],{"class":206,"line":349},6,[204,351,352],{"class":210},"  ],\n",[204,354,356,358,360,362,364,366,368],{"class":206,"line":355},7,[204,357,217],{"class":210},[204,359,265],{"class":220},[204,361,224],{"class":210},[204,363,227],{"class":210},[204,365,249],{"class":210},[204,367,274],{"class":252},[204,369,277],{"class":210},[204,371,373],{"class":206,"line":372},8,[204,374,283],{"class":210},[189,376,378],{"id":377},"http-status-codes","HTTP Status Codes",[380,381,382,401],"table",{},[383,384,385],"thead",{},[386,387,388,392,395,398],"tr",{},[389,390,391],"th",{},"Code",[389,393,394],{},"Type",[389,396,397],{},"Description",[389,399,400],{},"Retry?",[402,403,404,418,432,446,460,477,490,504],"tbody",{},[386,405,406,410,412,415],{},[407,408,409],"td",{},"400",[407,411,274],{},[407,413,414],{},"Invalid request parameters",[407,416,417],{},"No — fix the data",[386,419,420,423,426,429],{},[407,421,422],{},"401",[407,424,425],{},"Unauthorized",[407,427,428],{},"API key issue",[407,430,431],{},"No — check the key",[386,433,434,437,440,443],{},[407,435,436],{},"403",[407,438,439],{},"Forbidden",[407,441,442],{},"No access to resource",[407,444,445],{},"No — check permissions",[386,447,448,451,454,457],{},[407,449,450],{},"404",[407,452,453],{},"Not Found",[407,455,456],{},"Resource not found",[407,458,459],{},"No — check ID",[386,461,462,465,468,471],{},[407,463,464],{},"415",[407,466,467],{},"Unsupported Media Type",[407,469,470],{},"Wrong Content-Type",[407,472,473,474],{},"No — use ",[201,475,476],{},"application/json",[386,478,479,482,485,488],{},[407,480,481],{},"422",[407,483,484],{},"Unprocessable Entity",[407,486,487],{},"All bulk operations failed",[407,489,417],{},[386,491,492,495,498,501],{},[407,493,494],{},"429",[407,496,497],{},"Too Many Requests",[407,499,500],{},"Rate limit exceeded",[407,502,503],{},"Yes — after pause",[386,505,506,509,512,515],{},[407,507,508],{},"500",[407,510,511],{},"Server Error",[407,513,514],{},"Internal error",[407,516,517],{},"Yes — with exponential backoff",[189,519,521],{"id":520},"request-requirements","Request Requirements",[523,524,526],"h3",{"id":525},"content-type","Content-Type",[185,528,529,530,533,534,537],{},"All requests with a body (POST, PUT, PATCH) must include the ",[201,531,532],{},"Content-Type: application/json"," header. Requests with other content types receive a ",[201,535,536],{},"415 Unsupported Media Type"," response.",[523,539,541],{"id":540},"body-size-limit","Body Size Limit",[185,543,544,545,549,550,537],{},"Request body size is limited to ",[546,547,548],"strong",{},"512 KB",". Requests exceeding this limit receive a ",[201,551,552],{},"413 Payload Too Large",[189,554,556],{"id":555},"rate-limiting","Rate Limiting",[185,558,559],{},"The API limits request count to protect against overload. Each response includes headers with limit information.",[380,561,562,572],{},[383,563,564],{},[386,565,566,569],{},[389,567,568],{},"Endpoint type",[389,570,571],{},"Limit",[402,573,574,582],{},[386,575,576,579],{},[407,577,578],{},"Global (all endpoints)",[407,580,581],{},"300 requests / minute",[386,583,584,587],{},[407,585,586],{},"Bulk endpoints",[407,588,589],{},"30 requests / minute",[523,591,593],{"id":592},"limit-headers","Limit Headers",[194,595,600],{"className":596,"code":598,"language":599},[597],"language-text","X-RateLimit-Limit: 300\nX-RateLimit-Remaining: 295\nX-RateLimit-Reset: 1705330800\n","text",[201,601,598],{"__ignoreMap":199},[380,603,604,613],{},[383,605,606],{},[386,607,608,611],{},[389,609,610],{},"Header",[389,612,397],{},[402,614,615,625,635],{},[386,616,617,622],{},[407,618,619],{},[201,620,621],{},"X-RateLimit-Limit",[407,623,624],{},"Maximum requests per period",[386,626,627,632],{},[407,628,629],{},[201,630,631],{},"X-RateLimit-Remaining",[407,633,634],{},"Requests remaining",[386,636,637,642],{},[407,638,639],{},[201,640,641],{},"X-RateLimit-Reset",[407,643,644],{},"When limit resets (Unix timestamp)",[523,646,648],{"id":647},"what-to-do-on-429","What to Do on 429",[185,650,651],{},"When limit is exceeded, API returns:",[194,653,655],{"className":196,"code":654,"language":198,"meta":199,"style":199},"{\n  \"statusCode\": 429,\n  \"message\": \"Too Many Requests\"\n}\n",[201,656,657,661,676,692],{"__ignoreMap":199},[204,658,659],{"class":206,"line":207},[204,660,211],{"class":210},[204,662,663,665,667,669,671,674],{"class":206,"line":214},[204,664,217],{"class":210},[204,666,221],{"class":220},[204,668,224],{"class":210},[204,670,227],{"class":210},[204,672,673],{"class":230}," 429",[204,675,234],{"class":210},[204,677,678,680,682,684,686,688,690],{"class":206,"line":237},[204,679,217],{"class":210},[204,681,242],{"class":220},[204,683,224],{"class":210},[204,685,227],{"class":210},[204,687,249],{"class":210},[204,689,497],{"class":252},[204,691,277],{"class":210},[204,693,694],{"class":206,"line":260},[204,695,283],{"class":210},[185,697,698,699,701],{},"Wait until the time from ",[201,700,641],{}," and retry:",[194,703,708],{"className":704,"code":705,"filename":706,"language":707,"meta":199,"style":199},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","async function fetchWithRateLimit(url, options) {\n  const response = await fetch(url, options);\n\n  if (response.status === 429) {\n    const resetTime = response.headers.get('X-RateLimit-Reset');\n    const waitMs = (parseInt(resetTime) * 1000) - Date.now();\n    await new Promise(r => setTimeout(r, Math.max(waitMs, 1000)));\n    return fetch(url, options); // Retry\n  }\n\n  return response;\n}\n","Node.js","js",[201,709,710,741,774,780,807,842,887,938,962,968,973,983],{"__ignoreMap":199},[204,711,712,715,718,722,725,729,732,735,738],{"class":206,"line":207},[204,713,714],{"class":220},"async",[204,716,717],{"class":220}," function",[204,719,721],{"class":720},"s2Zo4"," fetchWithRateLimit",[204,723,724],{"class":210},"(",[204,726,728],{"class":727},"sHdIc","url",[204,730,731],{"class":210},",",[204,733,734],{"class":727}," options",[204,736,737],{"class":210},")",[204,739,740],{"class":210}," {\n",[204,742,743,746,750,753,757,760,763,765,767,769,771],{"class":206,"line":214},[204,744,745],{"class":220},"  const",[204,747,749],{"class":748},"sTEyZ"," response",[204,751,752],{"class":210}," =",[204,754,756],{"class":755},"s7zQu"," await",[204,758,759],{"class":720}," fetch",[204,761,724],{"class":762},"swJcz",[204,764,728],{"class":748},[204,766,731],{"class":210},[204,768,734],{"class":748},[204,770,737],{"class":762},[204,772,773],{"class":210},";\n",[204,775,776],{"class":206,"line":237},[204,777,779],{"emptyLinePlaceholder":778},true,"\n",[204,781,782,785,788,791,794,797,800,802,805],{"class":206,"line":260},[204,783,784],{"class":755},"  if",[204,786,787],{"class":762}," (",[204,789,790],{"class":748},"response",[204,792,793],{"class":210},".",[204,795,796],{"class":748},"status",[204,798,799],{"class":210}," ===",[204,801,673],{"class":230},[204,803,804],{"class":762},") ",[204,806,211],{"class":210},[204,808,809,812,815,817,819,821,824,826,829,831,834,836,838,840],{"class":206,"line":280},[204,810,811],{"class":220},"    const",[204,813,814],{"class":748}," resetTime",[204,816,752],{"class":210},[204,818,749],{"class":748},[204,820,793],{"class":210},[204,822,823],{"class":748},"headers",[204,825,793],{"class":210},[204,827,828],{"class":720},"get",[204,830,724],{"class":762},[204,832,833],{"class":210},"'",[204,835,641],{"class":252},[204,837,833],{"class":210},[204,839,737],{"class":762},[204,841,773],{"class":210},[204,843,844,846,849,851,853,856,858,861,863,866,869,871,874,877,879,882,885],{"class":206,"line":349},[204,845,811],{"class":220},[204,847,848],{"class":748}," waitMs",[204,850,752],{"class":210},[204,852,787],{"class":762},[204,854,855],{"class":720},"parseInt",[204,857,724],{"class":762},[204,859,860],{"class":748},"resetTime",[204,862,804],{"class":762},[204,864,865],{"class":210},"*",[204,867,868],{"class":230}," 1000",[204,870,804],{"class":762},[204,872,873],{"class":210},"-",[204,875,876],{"class":748}," Date",[204,878,793],{"class":210},[204,880,881],{"class":720},"now",[204,883,884],{"class":762},"()",[204,886,773],{"class":210},[204,888,889,892,895,899,901,904,907,910,912,914,916,919,921,924,926,929,931,933,936],{"class":206,"line":355},[204,890,891],{"class":755},"    await",[204,893,894],{"class":210}," new",[204,896,898],{"class":897},"sBMFI"," Promise",[204,900,724],{"class":762},[204,902,903],{"class":727},"r",[204,905,906],{"class":220}," =>",[204,908,909],{"class":720}," setTimeout",[204,911,724],{"class":762},[204,913,903],{"class":748},[204,915,731],{"class":210},[204,917,918],{"class":748}," Math",[204,920,793],{"class":210},[204,922,923],{"class":720},"max",[204,925,724],{"class":762},[204,927,928],{"class":748},"waitMs",[204,930,731],{"class":210},[204,932,868],{"class":230},[204,934,935],{"class":762},")))",[204,937,773],{"class":210},[204,939,940,943,945,947,949,951,953,955,958],{"class":206,"line":372},[204,941,942],{"class":755},"    return",[204,944,759],{"class":720},[204,946,724],{"class":762},[204,948,728],{"class":748},[204,950,731],{"class":210},[204,952,734],{"class":748},[204,954,737],{"class":762},[204,956,957],{"class":210},";",[204,959,961],{"class":960},"sHwdD"," // Retry\n",[204,963,965],{"class":206,"line":964},9,[204,966,967],{"class":210},"  }\n",[204,969,971],{"class":206,"line":970},10,[204,972,779],{"emptyLinePlaceholder":778},[204,974,976,979,981],{"class":206,"line":975},11,[204,977,978],{"class":755},"  return",[204,980,749],{"class":748},[204,982,773],{"class":210},[204,984,986],{"class":206,"line":985},12,[204,987,283],{"class":210},[189,989,991],{"id":990},"retry-strategy","Retry Strategy",[523,993,995],{"id":994},"when-to-retry-requests","When to Retry Requests",[380,997,998,1008],{},[383,999,1000],{},[386,1001,1002,1005],{},[389,1003,1004],{},"Situation",[389,1006,1007],{},"Action",[402,1009,1010,1018,1028,1036],{},[386,1011,1012,1015],{},[407,1013,1014],{},"5xx errors",[407,1016,1017],{},"Retry with exponential backoff",[386,1019,1020,1023],{},[407,1021,1022],{},"429 errors",[407,1024,1025,1026],{},"Wait until ",[201,1027,641],{},[386,1029,1030,1033],{},[407,1031,1032],{},"Network errors",[407,1034,1035],{},"Retry with backoff",[386,1037,1038,1041],{},[407,1039,1040],{},"4xx errors",[407,1042,1043,1046],{},[546,1044,1045],{},"Don't retry"," — fix the request",[523,1048,1050],{"id":1049},"exponential-backoff","Exponential Backoff",[185,1052,1053],{},"For server errors, increase the pause between attempts:",[1055,1056,1057,1514],"code-group",{},[194,1058,1060],{"className":704,"code":1059,"filename":706,"language":707,"meta":199,"style":199},"async function fetchWithRetry(url, options, maxRetries = 3) {\n  for (let attempt = 0; attempt \u003C maxRetries; attempt++) {\n    try {\n      const response = await fetch(url, options);\n\n      // Server error — retry\n      if (response.status >= 500) {\n        throw new Error(`Server error: ${response.status}`);\n      }\n\n      return response;\n    } catch (error) {\n      if (attempt === maxRetries - 1) throw error;\n\n      // Exponential backoff: 1s, 2s, 4s\n      const delay = 1000 * Math.pow(2, attempt);\n      await new Promise(r => setTimeout(r, delay));\n    }\n  }\n}\n\n// Usage\nconst response = await fetchWithRetry(\n  'https://crm.rentix.md/api/v1/listings',\n  {\n    method: 'PUT',\n    headers: { 'Authorization': 'ApiKey YOUR_API_KEY' },\n    body: JSON.stringify(data)\n  }\n);\n",[201,1061,1062,1093,1131,1138,1163,1167,1172,1195,1229,1234,1238,1247,1263,1293,1298,1304,1339,1370,1376,1381,1386,1391,1397,1416,1429,1435,1453,1483,1502,1507],{"__ignoreMap":199},[204,1063,1064,1066,1068,1071,1073,1075,1077,1079,1081,1084,1086,1089,1091],{"class":206,"line":207},[204,1065,714],{"class":220},[204,1067,717],{"class":220},[204,1069,1070],{"class":720}," fetchWithRetry",[204,1072,724],{"class":210},[204,1074,728],{"class":727},[204,1076,731],{"class":210},[204,1078,734],{"class":727},[204,1080,731],{"class":210},[204,1082,1083],{"class":727}," maxRetries",[204,1085,752],{"class":210},[204,1087,1088],{"class":230}," 3",[204,1090,737],{"class":210},[204,1092,740],{"class":210},[204,1094,1095,1098,1100,1103,1106,1108,1111,1113,1115,1118,1120,1122,1124,1127,1129],{"class":206,"line":214},[204,1096,1097],{"class":755},"  for",[204,1099,787],{"class":762},[204,1101,1102],{"class":220},"let",[204,1104,1105],{"class":748}," attempt",[204,1107,752],{"class":210},[204,1109,1110],{"class":230}," 0",[204,1112,957],{"class":210},[204,1114,1105],{"class":748},[204,1116,1117],{"class":210}," \u003C",[204,1119,1083],{"class":748},[204,1121,957],{"class":210},[204,1123,1105],{"class":748},[204,1125,1126],{"class":210},"++",[204,1128,804],{"class":762},[204,1130,211],{"class":210},[204,1132,1133,1136],{"class":206,"line":237},[204,1134,1135],{"class":755},"    try",[204,1137,740],{"class":210},[204,1139,1140,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161],{"class":206,"line":260},[204,1141,1142],{"class":220},"      const",[204,1144,749],{"class":748},[204,1146,752],{"class":210},[204,1148,756],{"class":755},[204,1150,759],{"class":720},[204,1152,724],{"class":762},[204,1154,728],{"class":748},[204,1156,731],{"class":210},[204,1158,734],{"class":748},[204,1160,737],{"class":762},[204,1162,773],{"class":210},[204,1164,1165],{"class":206,"line":280},[204,1166,779],{"emptyLinePlaceholder":778},[204,1168,1169],{"class":206,"line":349},[204,1170,1171],{"class":960},"      // Server error — retry\n",[204,1173,1174,1177,1179,1181,1183,1185,1188,1191,1193],{"class":206,"line":355},[204,1175,1176],{"class":755},"      if",[204,1178,787],{"class":762},[204,1180,790],{"class":748},[204,1182,793],{"class":210},[204,1184,796],{"class":748},[204,1186,1187],{"class":210}," >=",[204,1189,1190],{"class":230}," 500",[204,1192,804],{"class":762},[204,1194,211],{"class":210},[204,1196,1197,1200,1202,1205,1207,1210,1213,1216,1218,1220,1222,1225,1227],{"class":206,"line":372},[204,1198,1199],{"class":755},"        throw",[204,1201,894],{"class":210},[204,1203,1204],{"class":720}," Error",[204,1206,724],{"class":762},[204,1208,1209],{"class":210},"`",[204,1211,1212],{"class":252},"Server error: ",[204,1214,1215],{"class":210},"${",[204,1217,790],{"class":748},[204,1219,793],{"class":210},[204,1221,796],{"class":748},[204,1223,1224],{"class":210},"}`",[204,1226,737],{"class":762},[204,1228,773],{"class":210},[204,1230,1231],{"class":206,"line":964},[204,1232,1233],{"class":210},"      }\n",[204,1235,1236],{"class":206,"line":970},[204,1237,779],{"emptyLinePlaceholder":778},[204,1239,1240,1243,1245],{"class":206,"line":975},[204,1241,1242],{"class":755},"      return",[204,1244,749],{"class":748},[204,1246,773],{"class":210},[204,1248,1249,1252,1255,1257,1259,1261],{"class":206,"line":985},[204,1250,1251],{"class":210},"    }",[204,1253,1254],{"class":755}," catch",[204,1256,787],{"class":762},[204,1258,265],{"class":748},[204,1260,804],{"class":762},[204,1262,211],{"class":210},[204,1264,1266,1268,1270,1273,1275,1277,1280,1283,1285,1288,1291],{"class":206,"line":1265},13,[204,1267,1176],{"class":755},[204,1269,787],{"class":762},[204,1271,1272],{"class":748},"attempt",[204,1274,799],{"class":210},[204,1276,1083],{"class":748},[204,1278,1279],{"class":210}," -",[204,1281,1282],{"class":230}," 1",[204,1284,804],{"class":762},[204,1286,1287],{"class":755},"throw",[204,1289,1290],{"class":748}," error",[204,1292,773],{"class":210},[204,1294,1296],{"class":206,"line":1295},14,[204,1297,779],{"emptyLinePlaceholder":778},[204,1299,1301],{"class":206,"line":1300},15,[204,1302,1303],{"class":960},"      // Exponential backoff: 1s, 2s, 4s\n",[204,1305,1307,1309,1312,1314,1316,1319,1321,1323,1326,1328,1331,1333,1335,1337],{"class":206,"line":1306},16,[204,1308,1142],{"class":220},[204,1310,1311],{"class":748}," delay",[204,1313,752],{"class":210},[204,1315,868],{"class":230},[204,1317,1318],{"class":210}," *",[204,1320,918],{"class":748},[204,1322,793],{"class":210},[204,1324,1325],{"class":720},"pow",[204,1327,724],{"class":762},[204,1329,1330],{"class":230},"2",[204,1332,731],{"class":210},[204,1334,1105],{"class":748},[204,1336,737],{"class":762},[204,1338,773],{"class":210},[204,1340,1342,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1368],{"class":206,"line":1341},17,[204,1343,1344],{"class":755},"      await",[204,1346,894],{"class":210},[204,1348,898],{"class":897},[204,1350,724],{"class":762},[204,1352,903],{"class":727},[204,1354,906],{"class":220},[204,1356,909],{"class":720},[204,1358,724],{"class":762},[204,1360,903],{"class":748},[204,1362,731],{"class":210},[204,1364,1311],{"class":748},[204,1366,1367],{"class":762},"))",[204,1369,773],{"class":210},[204,1371,1373],{"class":206,"line":1372},18,[204,1374,1375],{"class":210},"    }\n",[204,1377,1379],{"class":206,"line":1378},19,[204,1380,967],{"class":210},[204,1382,1384],{"class":206,"line":1383},20,[204,1385,283],{"class":210},[204,1387,1389],{"class":206,"line":1388},21,[204,1390,779],{"emptyLinePlaceholder":778},[204,1392,1394],{"class":206,"line":1393},22,[204,1395,1396],{"class":960},"// Usage\n",[204,1398,1400,1403,1406,1409,1411,1413],{"class":206,"line":1399},23,[204,1401,1402],{"class":220},"const",[204,1404,1405],{"class":748}," response ",[204,1407,1408],{"class":210},"=",[204,1410,756],{"class":755},[204,1412,1070],{"class":720},[204,1414,1415],{"class":748},"(\n",[204,1417,1419,1422,1425,1427],{"class":206,"line":1418},24,[204,1420,1421],{"class":210},"  '",[204,1423,1424],{"class":252},"https://crm.rentix.md/api/v1/listings",[204,1426,833],{"class":210},[204,1428,234],{"class":210},[204,1430,1432],{"class":206,"line":1431},25,[204,1433,1434],{"class":210},"  {\n",[204,1436,1438,1441,1443,1446,1449,1451],{"class":206,"line":1437},26,[204,1439,1440],{"class":762},"    method",[204,1442,227],{"class":210},[204,1444,1445],{"class":210}," '",[204,1447,1448],{"class":252},"PUT",[204,1450,833],{"class":210},[204,1452,234],{"class":210},[204,1454,1456,1459,1461,1464,1466,1469,1471,1473,1475,1478,1480],{"class":206,"line":1455},27,[204,1457,1458],{"class":762},"    headers",[204,1460,227],{"class":210},[204,1462,1463],{"class":210}," {",[204,1465,1445],{"class":210},[204,1467,1468],{"class":762},"Authorization",[204,1470,833],{"class":210},[204,1472,227],{"class":210},[204,1474,1445],{"class":210},[204,1476,1477],{"class":252},"ApiKey YOUR_API_KEY",[204,1479,833],{"class":210},[204,1481,1482],{"class":210}," },\n",[204,1484,1486,1489,1491,1494,1496,1499],{"class":206,"line":1485},28,[204,1487,1488],{"class":762},"    body",[204,1490,227],{"class":210},[204,1492,1493],{"class":748}," JSON",[204,1495,793],{"class":210},[204,1497,1498],{"class":720},"stringify",[204,1500,1501],{"class":748},"(data)\n",[204,1503,1505],{"class":206,"line":1504},29,[204,1506,967],{"class":210},[204,1508,1510,1512],{"class":206,"line":1509},30,[204,1511,737],{"class":748},[204,1513,773],{"class":210},[194,1515,1519],{"className":1516,"code":1517,"filename":1518,"language":1518,"meta":199,"style":199},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","function fetchWithRetry($url, $options, $maxRetries = 3) {\n    for ($attempt = 0; $attempt \u003C $maxRetries; $attempt++) {\n        $ch = curl_init($url);\n        curl_setopt_array($ch, $options);\n        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\n        $response = curl_exec($ch);\n        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n        curl_close($ch);\n\n        if ($httpCode \u003C 500) {\n            return ['code' => $httpCode, 'body' => $response];\n        }\n\n        if ($attempt \u003C $maxRetries - 1) {\n            // Exponential backoff: 1s, 2s, 4s\n            sleep(pow(2, $attempt));\n        }\n    }\n\n    throw new Exception(\"Max retries exceeded\");\n}\n","php",[201,1520,1521,1526,1531,1536,1541,1546,1550,1555,1560,1565,1569,1574,1579,1584,1588,1593,1598,1603,1607,1611,1615,1620],{"__ignoreMap":199},[204,1522,1523],{"class":206,"line":207},[204,1524,1525],{},"function fetchWithRetry($url, $options, $maxRetries = 3) {\n",[204,1527,1528],{"class":206,"line":214},[204,1529,1530],{},"    for ($attempt = 0; $attempt \u003C $maxRetries; $attempt++) {\n",[204,1532,1533],{"class":206,"line":237},[204,1534,1535],{},"        $ch = curl_init($url);\n",[204,1537,1538],{"class":206,"line":260},[204,1539,1540],{},"        curl_setopt_array($ch, $options);\n",[204,1542,1543],{"class":206,"line":280},[204,1544,1545],{},"        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n",[204,1547,1548],{"class":206,"line":349},[204,1549,779],{"emptyLinePlaceholder":778},[204,1551,1552],{"class":206,"line":355},[204,1553,1554],{},"        $response = curl_exec($ch);\n",[204,1556,1557],{"class":206,"line":372},[204,1558,1559],{},"        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n",[204,1561,1562],{"class":206,"line":964},[204,1563,1564],{},"        curl_close($ch);\n",[204,1566,1567],{"class":206,"line":970},[204,1568,779],{"emptyLinePlaceholder":778},[204,1570,1571],{"class":206,"line":975},[204,1572,1573],{},"        if ($httpCode \u003C 500) {\n",[204,1575,1576],{"class":206,"line":985},[204,1577,1578],{},"            return ['code' => $httpCode, 'body' => $response];\n",[204,1580,1581],{"class":206,"line":1265},[204,1582,1583],{},"        }\n",[204,1585,1586],{"class":206,"line":1295},[204,1587,779],{"emptyLinePlaceholder":778},[204,1589,1590],{"class":206,"line":1300},[204,1591,1592],{},"        if ($attempt \u003C $maxRetries - 1) {\n",[204,1594,1595],{"class":206,"line":1306},[204,1596,1597],{},"            // Exponential backoff: 1s, 2s, 4s\n",[204,1599,1600],{"class":206,"line":1341},[204,1601,1602],{},"            sleep(pow(2, $attempt));\n",[204,1604,1605],{"class":206,"line":1372},[204,1606,1583],{},[204,1608,1609],{"class":206,"line":1378},[204,1610,1375],{},[204,1612,1613],{"class":206,"line":1383},[204,1614,779],{"emptyLinePlaceholder":778},[204,1616,1617],{"class":206,"line":1388},[204,1618,1619],{},"    throw new Exception(\"Max retries exceeded\");\n",[204,1621,1622],{"class":206,"line":1393},[204,1623,283],{},[1625,1626],"hr",{},[189,1628,1630],{"id":1629},"common-errors","Common Errors",[523,1632,1634],{"id":1633},"authentication-400-401-403","Authentication (400, 401, 403)",[380,1636,1637,1650],{},[383,1638,1639],{},[386,1640,1641,1644,1647],{},[389,1642,1643],{},"Error",[389,1645,1646],{},"Cause",[389,1648,1649],{},"Solution",[402,1651,1652,1672,1689,1702,1715],{},[386,1653,1654,1659,1669],{},[407,1655,1656],{},[201,1657,1658],{},"Multiple authentication methods provided",[407,1660,1661,1662,1664,1665,1668],{},"Both ",[201,1663,1468],{}," and ",[201,1666,1667],{},"X-API-Key"," headers sent",[407,1670,1671],{},"Use only one authentication header",[386,1673,1674,1679,1682],{},[407,1675,1676],{},[201,1677,1678],{},"API key is required",[407,1680,1681],{},"No API key provided",[407,1683,1684,1685,1688],{},"Add ",[201,1686,1687],{},"Authorization: ApiKey YOUR_KEY"," header",[386,1690,1691,1696,1699],{},[407,1692,1693],{},[201,1694,1695],{},"Invalid API key",[407,1697,1698],{},"API key is incorrect or revoked",[407,1700,1701],{},"Check the key value",[386,1703,1704,1709,1712],{},[407,1705,1706],{},[201,1707,1708],{},"Agency is suspended",[407,1710,1711],{},"Agency account is suspended",[407,1713,1714],{},"Contact support",[386,1716,1717,1722,1725],{},[407,1718,1719],{},[201,1720,1721],{},"CRM is not enabled for this agency",[407,1723,1724],{},"CRM access not enabled",[407,1726,1727],{},"Contact support to enable CRM",[523,1729,1731],{"id":1730},"listings-400","Listings (400)",[380,1733,1734,1744],{},[383,1735,1736],{},[386,1737,1738,1740,1742],{},[389,1739,1643],{},[389,1741,1646],{},[389,1743,1649],{},[402,1745,1746,1759,1778,1791,1804],{},[386,1747,1748,1753,1756],{},[407,1749,1750],{},[201,1751,1752],{},"Cannot provide both id and externalId",[407,1754,1755],{},"Both identifiers were passed",[407,1757,1758],{},"Use only one",[386,1760,1761,1766,1769],{},[407,1762,1763],{},[201,1764,1765],{},"Must provide id or externalId",[407,1767,1768],{},"No identifier provided for update",[407,1770,1684,1771,1774,1775],{},[201,1772,1773],{},"id"," or ",[201,1776,1777],{},"externalId",[386,1779,1780,1785,1788],{},[407,1781,1782],{},[201,1783,1784],{},"External ID already linked",[407,1786,1787],{},"External ID is used by another listing",[407,1789,1790],{},"Use a unique ID",[386,1792,1793,1798,1801],{},[407,1794,1795],{},[201,1796,1797],{},"Minimum 3 photos required",[407,1799,1800],{},"Photos needed for publishing",[407,1802,1803],{},"Upload at least 3 photos",[386,1805,1806,1811,1814],{},[407,1807,1808],{},[201,1809,1810],{},"Description too short",[407,1812,1813],{},"Description is less than 40 characters",[407,1815,1816],{},"Add more text",[523,1818,1820],{"id":1819},"media-400","Media (400)",[380,1822,1823,1833],{},[383,1824,1825],{},[386,1826,1827,1829,1831],{},[389,1828,1643],{},[389,1830,1646],{},[389,1832,1649],{},[402,1834,1835,1847,1860,1873],{},[386,1836,1837,1842,1845],{},[407,1838,1839],{},[201,1840,1841],{},"Duplicate external ID",[407,1843,1844],{},"External ID is already in use",[407,1846,1790],{},[386,1848,1849,1854,1857],{},[407,1850,1851],{},[201,1852,1853],{},"File not found",[407,1855,1856],{},"File doesn't exist",[407,1858,1859],{},"Check fileId or externalFileId",[386,1861,1862,1867,1870],{},[407,1863,1864],{},[201,1865,1866],{},"Invalid file type",[407,1868,1869],{},"Unsupported format",[407,1871,1872],{},"Use JPEG, PNG, WebP, or HEIC",[386,1874,1875,1880,1883],{},[407,1876,1877],{},[201,1878,1879],{},"Upload URL expired",[407,1881,1882],{},"Signed URL expired (30 minutes)",[407,1884,1885],{},"Request a new URL",[523,1887,1889],{"id":1888},"field-validation","Field Validation",[380,1891,1892,1900],{},[383,1893,1894],{},[386,1895,1896,1898],{},[389,1897,391],{},[389,1899,397],{},[402,1901,1902,1912,1922,1932,1942,1952],{},[386,1903,1904,1909],{},[407,1905,1906],{},[201,1907,1908],{},"STRING_TOO_SHORT",[407,1910,1911],{},"String is shorter than minimum",[386,1913,1914,1919],{},[407,1915,1916],{},[201,1917,1918],{},"STRING_TOO_LONG",[407,1920,1921],{},"String is longer than maximum",[386,1923,1924,1929],{},[407,1925,1926],{},[201,1927,1928],{},"NUMBER_TOO_SMALL",[407,1930,1931],{},"Number is less than minimum",[386,1933,1934,1939],{},[407,1935,1936],{},[201,1937,1938],{},"NUMBER_TOO_LARGE",[407,1940,1941],{},"Number is greater than maximum",[386,1943,1944,1949],{},[407,1945,1946],{},[201,1947,1948],{},"INVALID_ENUM_VALUE",[407,1950,1951],{},"Value is not in allowed list",[386,1953,1954,1959],{},[407,1955,1956],{},[201,1957,1958],{},"REQUIRED_FIELD",[407,1960,1961],{},"Required field is empty",[1625,1963],{},[189,1965,1967],{"id":1966},"example-handle-all-cases","Example: Handle All Cases",[194,1969,1971],{"className":704,"code":1970,"filename":706,"language":707,"meta":199,"style":199},"async function apiRequest(endpoint, data) {\n  const url = `https://crm.rentix.md/api/v1${endpoint}`;\n  const options = {\n    method: 'PUT',\n    headers: {\n      'Authorization': 'ApiKey YOUR_API_KEY',\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify(data)\n  };\n\n  for (let attempt = 0; attempt \u003C 3; attempt++) {\n    const response = await fetch(url, options);\n\n    // Success\n    if (response.ok) {\n      return response.json();\n    }\n\n    // Rate limit — wait and retry\n    if (response.status === 429) {\n      const resetTime = response.headers.get('X-RateLimit-Reset');\n      const waitMs = (parseInt(resetTime) * 1000) - Date.now();\n      await new Promise(r => setTimeout(r, Math.max(waitMs, 1000)));\n      continue;\n    }\n\n    // Server error — retry with backoff\n    if (response.status >= 500) {\n      await new Promise(r => setTimeout(r, 1000 * Math.pow(2, attempt)));\n      continue;\n    }\n\n    // Client error — don't retry\n    const error = await response.json();\n    throw new Error(`API Error: ${JSON.stringify(error.message)}`);\n  }\n\n  throw new Error('Max retries exceeded');\n}\n",[201,1972,1973,1996,2019,2029,2043,2051,2070,2087,2092,2112,2117,2121,2153,2177,2181,2186,2204,2218,2222,2226,2231,2251,2281,2317,2357,2364,2368,2372,2377,2397,2441,2448,2453,2458,2464,2485,2525,2530,2535,2558],{"__ignoreMap":199},[204,1974,1975,1977,1979,1982,1984,1987,1989,1992,1994],{"class":206,"line":207},[204,1976,714],{"class":220},[204,1978,717],{"class":220},[204,1980,1981],{"class":720}," apiRequest",[204,1983,724],{"class":210},[204,1985,1986],{"class":727},"endpoint",[204,1988,731],{"class":210},[204,1990,1991],{"class":727}," data",[204,1993,737],{"class":210},[204,1995,740],{"class":210},[204,1997,1998,2000,2003,2005,2008,2011,2013,2015,2017],{"class":206,"line":214},[204,1999,745],{"class":220},[204,2001,2002],{"class":748}," url",[204,2004,752],{"class":210},[204,2006,2007],{"class":210}," `",[204,2009,2010],{"class":252},"https://crm.rentix.md/api/v1",[204,2012,1215],{"class":210},[204,2014,1986],{"class":748},[204,2016,1224],{"class":210},[204,2018,773],{"class":210},[204,2020,2021,2023,2025,2027],{"class":206,"line":237},[204,2022,745],{"class":220},[204,2024,734],{"class":748},[204,2026,752],{"class":210},[204,2028,740],{"class":210},[204,2030,2031,2033,2035,2037,2039,2041],{"class":206,"line":260},[204,2032,1440],{"class":762},[204,2034,227],{"class":210},[204,2036,1445],{"class":210},[204,2038,1448],{"class":252},[204,2040,833],{"class":210},[204,2042,234],{"class":210},[204,2044,2045,2047,2049],{"class":206,"line":280},[204,2046,1458],{"class":762},[204,2048,227],{"class":210},[204,2050,740],{"class":210},[204,2052,2053,2056,2058,2060,2062,2064,2066,2068],{"class":206,"line":349},[204,2054,2055],{"class":210},"      '",[204,2057,1468],{"class":762},[204,2059,833],{"class":210},[204,2061,227],{"class":210},[204,2063,1445],{"class":210},[204,2065,1477],{"class":252},[204,2067,833],{"class":210},[204,2069,234],{"class":210},[204,2071,2072,2074,2076,2078,2080,2082,2084],{"class":206,"line":355},[204,2073,2055],{"class":210},[204,2075,526],{"class":762},[204,2077,833],{"class":210},[204,2079,227],{"class":210},[204,2081,1445],{"class":210},[204,2083,476],{"class":252},[204,2085,2086],{"class":210},"'\n",[204,2088,2089],{"class":206,"line":372},[204,2090,2091],{"class":210},"    },\n",[204,2093,2094,2096,2098,2100,2102,2104,2106,2109],{"class":206,"line":964},[204,2095,1488],{"class":762},[204,2097,227],{"class":210},[204,2099,1493],{"class":748},[204,2101,793],{"class":210},[204,2103,1498],{"class":720},[204,2105,724],{"class":762},[204,2107,2108],{"class":748},"data",[204,2110,2111],{"class":762},")\n",[204,2113,2114],{"class":206,"line":970},[204,2115,2116],{"class":210},"  };\n",[204,2118,2119],{"class":206,"line":975},[204,2120,779],{"emptyLinePlaceholder":778},[204,2122,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151],{"class":206,"line":985},[204,2124,1097],{"class":755},[204,2126,787],{"class":762},[204,2128,1102],{"class":220},[204,2130,1105],{"class":748},[204,2132,752],{"class":210},[204,2134,1110],{"class":230},[204,2136,957],{"class":210},[204,2138,1105],{"class":748},[204,2140,1117],{"class":210},[204,2142,1088],{"class":230},[204,2144,957],{"class":210},[204,2146,1105],{"class":748},[204,2148,1126],{"class":210},[204,2150,804],{"class":762},[204,2152,211],{"class":210},[204,2154,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175],{"class":206,"line":1265},[204,2156,811],{"class":220},[204,2158,749],{"class":748},[204,2160,752],{"class":210},[204,2162,756],{"class":755},[204,2164,759],{"class":720},[204,2166,724],{"class":762},[204,2168,728],{"class":748},[204,2170,731],{"class":210},[204,2172,734],{"class":748},[204,2174,737],{"class":762},[204,2176,773],{"class":210},[204,2178,2179],{"class":206,"line":1295},[204,2180,779],{"emptyLinePlaceholder":778},[204,2182,2183],{"class":206,"line":1300},[204,2184,2185],{"class":960},"    // Success\n",[204,2187,2188,2191,2193,2195,2197,2200,2202],{"class":206,"line":1306},[204,2189,2190],{"class":755},"    if",[204,2192,787],{"class":762},[204,2194,790],{"class":748},[204,2196,793],{"class":210},[204,2198,2199],{"class":748},"ok",[204,2201,804],{"class":762},[204,2203,211],{"class":210},[204,2205,2206,2208,2210,2212,2214,2216],{"class":206,"line":1341},[204,2207,1242],{"class":755},[204,2209,749],{"class":748},[204,2211,793],{"class":210},[204,2213,198],{"class":720},[204,2215,884],{"class":762},[204,2217,773],{"class":210},[204,2219,2220],{"class":206,"line":1372},[204,2221,1375],{"class":210},[204,2223,2224],{"class":206,"line":1378},[204,2225,779],{"emptyLinePlaceholder":778},[204,2227,2228],{"class":206,"line":1383},[204,2229,2230],{"class":960},"    // Rate limit — wait and retry\n",[204,2232,2233,2235,2237,2239,2241,2243,2245,2247,2249],{"class":206,"line":1388},[204,2234,2190],{"class":755},[204,2236,787],{"class":762},[204,2238,790],{"class":748},[204,2240,793],{"class":210},[204,2242,796],{"class":748},[204,2244,799],{"class":210},[204,2246,673],{"class":230},[204,2248,804],{"class":762},[204,2250,211],{"class":210},[204,2252,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279],{"class":206,"line":1393},[204,2254,1142],{"class":220},[204,2256,814],{"class":748},[204,2258,752],{"class":210},[204,2260,749],{"class":748},[204,2262,793],{"class":210},[204,2264,823],{"class":748},[204,2266,793],{"class":210},[204,2268,828],{"class":720},[204,2270,724],{"class":762},[204,2272,833],{"class":210},[204,2274,641],{"class":252},[204,2276,833],{"class":210},[204,2278,737],{"class":762},[204,2280,773],{"class":210},[204,2282,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315],{"class":206,"line":1399},[204,2284,1142],{"class":220},[204,2286,848],{"class":748},[204,2288,752],{"class":210},[204,2290,787],{"class":762},[204,2292,855],{"class":720},[204,2294,724],{"class":762},[204,2296,860],{"class":748},[204,2298,804],{"class":762},[204,2300,865],{"class":210},[204,2302,868],{"class":230},[204,2304,804],{"class":762},[204,2306,873],{"class":210},[204,2308,876],{"class":748},[204,2310,793],{"class":210},[204,2312,881],{"class":720},[204,2314,884],{"class":762},[204,2316,773],{"class":210},[204,2318,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355],{"class":206,"line":1418},[204,2320,1344],{"class":755},[204,2322,894],{"class":210},[204,2324,898],{"class":897},[204,2326,724],{"class":762},[204,2328,903],{"class":727},[204,2330,906],{"class":220},[204,2332,909],{"class":720},[204,2334,724],{"class":762},[204,2336,903],{"class":748},[204,2338,731],{"class":210},[204,2340,918],{"class":748},[204,2342,793],{"class":210},[204,2344,923],{"class":720},[204,2346,724],{"class":762},[204,2348,928],{"class":748},[204,2350,731],{"class":210},[204,2352,868],{"class":230},[204,2354,935],{"class":762},[204,2356,773],{"class":210},[204,2358,2359,2362],{"class":206,"line":1431},[204,2360,2361],{"class":755},"      continue",[204,2363,773],{"class":210},[204,2365,2366],{"class":206,"line":1437},[204,2367,1375],{"class":210},[204,2369,2370],{"class":206,"line":1455},[204,2371,779],{"emptyLinePlaceholder":778},[204,2373,2374],{"class":206,"line":1485},[204,2375,2376],{"class":960},"    // Server error — retry with backoff\n",[204,2378,2379,2381,2383,2385,2387,2389,2391,2393,2395],{"class":206,"line":1504},[204,2380,2190],{"class":755},[204,2382,787],{"class":762},[204,2384,790],{"class":748},[204,2386,793],{"class":210},[204,2388,796],{"class":748},[204,2390,1187],{"class":210},[204,2392,1190],{"class":230},[204,2394,804],{"class":762},[204,2396,211],{"class":210},[204,2398,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439],{"class":206,"line":1509},[204,2400,1344],{"class":755},[204,2402,894],{"class":210},[204,2404,898],{"class":897},[204,2406,724],{"class":762},[204,2408,903],{"class":727},[204,2410,906],{"class":220},[204,2412,909],{"class":720},[204,2414,724],{"class":762},[204,2416,903],{"class":748},[204,2418,731],{"class":210},[204,2420,868],{"class":230},[204,2422,1318],{"class":210},[204,2424,918],{"class":748},[204,2426,793],{"class":210},[204,2428,1325],{"class":720},[204,2430,724],{"class":762},[204,2432,1330],{"class":230},[204,2434,731],{"class":210},[204,2436,1105],{"class":748},[204,2438,935],{"class":762},[204,2440,773],{"class":210},[204,2442,2444,2446],{"class":206,"line":2443},31,[204,2445,2361],{"class":755},[204,2447,773],{"class":210},[204,2449,2451],{"class":206,"line":2450},32,[204,2452,1375],{"class":210},[204,2454,2456],{"class":206,"line":2455},33,[204,2457,779],{"emptyLinePlaceholder":778},[204,2459,2461],{"class":206,"line":2460},34,[204,2462,2463],{"class":960},"    // Client error — don't retry\n",[204,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483],{"class":206,"line":2466},35,[204,2468,811],{"class":220},[204,2470,1290],{"class":748},[204,2472,752],{"class":210},[204,2474,756],{"class":755},[204,2476,749],{"class":748},[204,2478,793],{"class":210},[204,2480,198],{"class":720},[204,2482,884],{"class":762},[204,2484,773],{"class":210},[204,2486,2488,2491,2493,2495,2497,2499,2502,2504,2507,2509,2511,2514,2516,2519,2521,2523],{"class":206,"line":2487},36,[204,2489,2490],{"class":755},"    throw",[204,2492,894],{"class":210},[204,2494,1204],{"class":720},[204,2496,724],{"class":762},[204,2498,1209],{"class":210},[204,2500,2501],{"class":252},"API Error: ",[204,2503,1215],{"class":210},[204,2505,2506],{"class":748},"JSON",[204,2508,793],{"class":210},[204,2510,1498],{"class":720},[204,2512,2513],{"class":748},"(error",[204,2515,793],{"class":210},[204,2517,2518],{"class":748},"message)",[204,2520,1224],{"class":210},[204,2522,737],{"class":762},[204,2524,773],{"class":210},[204,2526,2528],{"class":206,"line":2527},37,[204,2529,967],{"class":210},[204,2531,2533],{"class":206,"line":2532},38,[204,2534,779],{"emptyLinePlaceholder":778},[204,2536,2538,2541,2543,2545,2547,2549,2552,2554,2556],{"class":206,"line":2537},39,[204,2539,2540],{"class":755},"  throw",[204,2542,894],{"class":210},[204,2544,1204],{"class":720},[204,2546,724],{"class":762},[204,2548,833],{"class":210},[204,2550,2551],{"class":252},"Max retries exceeded",[204,2553,833],{"class":210},[204,2555,737],{"class":762},[204,2557,773],{"class":210},[204,2559,2561],{"class":206,"line":2560},40,[204,2562,283],{"class":210},[189,2564,2566],{"id":2565},"recommendations","Recommendations",[2568,2569,2570,2583,2589,2595],"ol",{},[2571,2572,2573,2576,2577,2579,2580,2582],"li",{},[546,2574,2575],{},"Log errors"," — save ",[201,2578,221],{},", ",[201,2581,242],{},", and timestamp for diagnostics",[2571,2584,2585,2588],{},[546,2586,2587],{},"Don't ignore 4xx"," — these are errors in your data, fix them",[2571,2590,2591,2594],{},[546,2592,2593],{},"Respect rate limits"," — on 429, always wait the specified time",[2571,2596,2597,2600],{},[546,2598,2599],{},"Use exponential backoff"," — on 5xx, don't hammer the server immediately",[2602,2603,2604],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":199,"searchDepth":214,"depth":214,"links":2606},[2607,2608,2609,2613,2617,2621,2627,2628],{"id":191,"depth":214,"text":192},{"id":377,"depth":214,"text":378},{"id":520,"depth":214,"text":521,"children":2610},[2611,2612],{"id":525,"depth":237,"text":526},{"id":540,"depth":237,"text":541},{"id":555,"depth":214,"text":556,"children":2614},[2615,2616],{"id":592,"depth":237,"text":593},{"id":647,"depth":237,"text":648},{"id":990,"depth":214,"text":991,"children":2618},[2619,2620],{"id":994,"depth":237,"text":995},{"id":1049,"depth":237,"text":1050},{"id":1629,"depth":214,"text":1630,"children":2622},[2623,2624,2625,2626],{"id":1633,"depth":237,"text":1634},{"id":1730,"depth":237,"text":1731},{"id":1819,"depth":237,"text":1820},{"id":1888,"depth":237,"text":1889},{"id":1966,"depth":214,"text":1967},{"id":2565,"depth":214,"text":2566},"HTTP status codes, rate limiting, retry strategies, and common errors","md",null,{},{"icon":153},{"title":150,"description":2629},"SZY2Ne1_xnQN_pwTQzyfCjiEyeujEH-yTmlCJixNWRI",[2637,2639],{"title":139,"path":140,"stem":141,"description":2638,"icon":142,"children":-1},"Current exchange rates for price calculation",{"title":155,"path":156,"stem":157,"description":2640,"icon":160,"children":-1},"CRM API Changelog",1773784455230]