[{"data":1,"prerenderedAt":1453},["ShallowReactive",2],{"navigation_docs_en":3,"-en-concepts-upsert-pattern":183,"-en-concepts-upsert-pattern-surround":1448},[4,36,57,92,111,131,147,158,166],{"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,87],{"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,"path":89,"stem":90,"icon":91},"Smart Create","/en/listings/smart-create","en/3.listings/6.smart-create","i-lucide-sparkles",{"title":93,"icon":94,"path":95,"stem":96,"children":97,"page":35},"Users","i-lucide-users","/en/users","en/4.users",[98,103,107],{"title":99,"path":100,"stem":101,"icon":102},"Users Overview","/en/users/overview","en/4.users/1.overview","i-lucide-user",{"title":69,"path":104,"stem":105,"icon":106},"/en/users/update","en/4.users/2.update","i-lucide-user-pen",{"title":108,"path":109,"stem":110,"icon":77},"Retrieve Users","/en/users/retrieve","en/4.users/3.retrieve",{"title":112,"icon":113,"path":114,"stem":115,"children":116,"page":35},"Media","i-lucide-image","/en/media","en/5.media",[117,121,126],{"title":118,"path":119,"stem":120,"icon":113},"Media Overview","/en/media/overview","en/5.media/1.overview",{"title":122,"path":123,"stem":124,"icon":125},"Upload Files","/en/media/upload","en/5.media/2.upload","i-lucide-upload",{"title":127,"path":128,"stem":129,"icon":130},"Manage Files","/en/media/manage","en/5.media/3.manage","i-lucide-folder",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":35},"Reference","i-lucide-book-open","/en/reference","en/6.reference",[137,142],{"title":138,"path":139,"stem":140,"icon":141},"Field Schema","/en/reference/schema","en/6.reference/1.schema","i-lucide-file-json",{"title":143,"path":144,"stem":145,"icon":146},"Currencies and Rates","/en/reference/currencies","en/6.reference/2.currencies","i-lucide-wallet",{"title":148,"icon":149,"path":150,"stem":151,"children":152,"page":35},"Errors","i-lucide-alert-triangle","/en/errors","en/7.errors",[153],{"title":154,"path":155,"stem":156,"icon":157},"Error Handling","/en/errors/error-handling","en/7.errors/1.error-handling","i-lucide-shield-alert",{"title":159,"path":160,"stem":161,"children":162,"icon":165},"Changelog","/en/changelog","en/8.changelog/1.index",[163],{"title":159,"path":160,"stem":161,"icon":164},"i-lucide-scroll-text","i-lucide-history",{"title":167,"path":168,"stem":169,"children":170,"page":35},"Guides","/en/guides","en/9.guides",[171,175,179],{"title":172,"path":173,"stem":174,"icon":133},"Integration Guides","/en/guides/overview","en/9.guides/1.overview",{"title":176,"path":177,"stem":178,"icon":125},"Initial Sync","/en/guides/first-sync","en/9.guides/2.first-sync",{"title":180,"path":181,"stem":182,"icon":51},"Continuous Sync","/en/guides/continuous-sync","en/9.guides/3.continuous-sync",{"id":184,"title":48,"body":185,"description":1441,"extension":1442,"links":1443,"meta":1444,"navigation":1445,"path":49,"seo":1446,"stem":50,"__hash__":1447},"docs_en/en/2.concepts/2.upsert-pattern.md",{"type":186,"value":187,"toc":1425},"minimark",[188,197,202,205,215,218,224,228,264,275,279,286,405,509,516,520,526,590,679,686,690,693,855,860,866,910,916,920,924,927,931,934,938,941,945,952,1034,1375,1379,1389,1421],[189,190,191,192,196],"p",{},"The API uses the upsert pattern: a single ",[193,194,195],"code",{},"PUT"," request creates a new object or updates an existing one. You don't need to check if the object exists — the API handles it automatically.",[198,199,201],"h2",{"id":200},"why-this-matters","Why This Matters",[189,203,204],{},"In a classic REST API, syncing data requires:",[206,207,212],"pre",{"className":208,"code":210,"language":211},[209],"language-text","1. GET /listings/external/APT-001     # Check existence\n2. If 404 → POST /listings            # Create\n   If 200 → PUT /listings/42          # Update\n","text",[193,213,210],{"__ignoreMap":214},"",[189,216,217],{},"With the upsert pattern, it's simpler:",[206,219,222],{"className":220,"code":221,"language":211},[209],"1. PUT /listings { externalId: \"APT-001\", ... }\n   # API creates or updates automatically\n",[193,223,221],{"__ignoreMap":214},[198,225,227],{"id":226},"how-it-works","How It Works",[229,230,231,244],"table",{},[232,233,234],"thead",{},[235,236,237,241],"tr",{},[238,239,240],"th",{},"Situation",[238,242,243],{},"What Happens",[245,246,247,256],"tbody",{},[235,248,249,253],{},[250,251,252],"td",{},"Object not found",[250,254,255],{},"A new one is created",[235,257,258,261],{},[250,259,260],{},"Object found",[250,262,263],{},"The existing one is updated",[189,265,266,267,270,271,274],{},"Lookup happens by ",[193,268,269],{},"id"," or ",[193,272,273],{},"externalId"," — whichever you passed in the request.",[198,276,278],{"id":277},"example-creation","Example: Creation",[189,280,281,282,285],{},"The first request with ",[193,283,284],{},"externalId: \"APT-001\""," creates a listing:",[206,287,291],{"className":288,"code":289,"language":290,"meta":214,"style":214},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X PUT https://crm.rentix.md/api/v1/listings \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"externalId\": \"APT-001\",\n    \"announcementType\": \"rent\",\n    \"propertyType\": \"residential\",\n    \"propertySecondaryType\": \"apartment\",\n    \"announcementValue\": 500,\n    \"announcementCurrency\": \"EUR\"\n  }'\n","bash",[193,292,293,316,334,348,360,366,372,378,384,390,396],{"__ignoreMap":214},[294,295,298,302,306,309,312],"span",{"class":296,"line":297},"line",1,[294,299,301],{"class":300},"sBMFI","curl",[294,303,305],{"class":304},"sfazB"," -X",[294,307,308],{"class":304}," PUT",[294,310,311],{"class":304}," https://crm.rentix.md/api/v1/listings",[294,313,315],{"class":314},"sTEyZ"," \\\n",[294,317,319,322,326,329,332],{"class":296,"line":318},2,[294,320,321],{"class":304},"  -H",[294,323,325],{"class":324},"sMK4o"," \"",[294,327,328],{"class":304},"Authorization: ApiKey YOUR_API_KEY",[294,330,331],{"class":324},"\"",[294,333,315],{"class":314},[294,335,337,339,341,344,346],{"class":296,"line":336},3,[294,338,321],{"class":304},[294,340,325],{"class":324},[294,342,343],{"class":304},"Content-Type: application/json",[294,345,331],{"class":324},[294,347,315],{"class":314},[294,349,351,354,357],{"class":296,"line":350},4,[294,352,353],{"class":304},"  -d",[294,355,356],{"class":324}," '",[294,358,359],{"class":304},"{\n",[294,361,363],{"class":296,"line":362},5,[294,364,365],{"class":304},"    \"externalId\": \"APT-001\",\n",[294,367,369],{"class":296,"line":368},6,[294,370,371],{"class":304},"    \"announcementType\": \"rent\",\n",[294,373,375],{"class":296,"line":374},7,[294,376,377],{"class":304},"    \"propertyType\": \"residential\",\n",[294,379,381],{"class":296,"line":380},8,[294,382,383],{"class":304},"    \"propertySecondaryType\": \"apartment\",\n",[294,385,387],{"class":296,"line":386},9,[294,388,389],{"class":304},"    \"announcementValue\": 500,\n",[294,391,393],{"class":296,"line":392},10,[294,394,395],{"class":304},"    \"announcementCurrency\": \"EUR\"\n",[294,397,399,402],{"class":296,"line":398},11,[294,400,401],{"class":304},"  }",[294,403,404],{"class":324},"'\n",[206,406,411],{"className":407,"code":408,"filename":409,"language":410,"meta":214,"style":214},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": 42,\n  \"externalId\": \"APT-001\",\n  \"status\": \"draft\",\n  \"created\": true,\n  \"updated\": false\n}\n","Response","json",[193,412,413,417,437,456,476,490,504],{"__ignoreMap":214},[294,414,415],{"class":296,"line":297},[294,416,359],{"class":324},[294,418,419,422,425,427,430,434],{"class":296,"line":318},[294,420,421],{"class":324},"  \"",[294,423,269],{"class":424},"spNyl",[294,426,331],{"class":324},[294,428,429],{"class":324},":",[294,431,433],{"class":432},"sbssI"," 42",[294,435,436],{"class":324},",\n",[294,438,439,441,443,445,447,449,452,454],{"class":296,"line":336},[294,440,421],{"class":324},[294,442,273],{"class":424},[294,444,331],{"class":324},[294,446,429],{"class":324},[294,448,325],{"class":324},[294,450,451],{"class":304},"APT-001",[294,453,331],{"class":324},[294,455,436],{"class":324},[294,457,458,460,463,465,467,469,472,474],{"class":296,"line":350},[294,459,421],{"class":324},[294,461,462],{"class":424},"status",[294,464,331],{"class":324},[294,466,429],{"class":324},[294,468,325],{"class":324},[294,470,471],{"class":304},"draft",[294,473,331],{"class":324},[294,475,436],{"class":324},[294,477,478,480,483,485,487],{"class":296,"line":362},[294,479,421],{"class":324},[294,481,482],{"class":424},"created",[294,484,331],{"class":324},[294,486,429],{"class":324},[294,488,489],{"class":324}," true,\n",[294,491,492,494,497,499,501],{"class":296,"line":368},[294,493,421],{"class":324},[294,495,496],{"class":424},"updated",[294,498,331],{"class":324},[294,500,429],{"class":324},[294,502,503],{"class":324}," false\n",[294,505,506],{"class":296,"line":374},[294,507,508],{"class":324},"}\n",[189,510,511,512,515],{},"Note: ",[193,513,514],{},"created: true"," — the object was created.",[198,517,519],{"id":518},"example-update","Example: Update",[189,521,522,523,525],{},"A repeat request with the same ",[193,524,273],{}," updates the listing:",[206,527,529],{"className":288,"code":528,"language":290,"meta":214,"style":214},"curl -X PUT https://crm.rentix.md/api/v1/listings \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"externalId\": \"APT-001\",\n    \"announcementValue\": 600\n  }'\n",[193,530,531,543,555,567,575,579,584],{"__ignoreMap":214},[294,532,533,535,537,539,541],{"class":296,"line":297},[294,534,301],{"class":300},[294,536,305],{"class":304},[294,538,308],{"class":304},[294,540,311],{"class":304},[294,542,315],{"class":314},[294,544,545,547,549,551,553],{"class":296,"line":318},[294,546,321],{"class":304},[294,548,325],{"class":324},[294,550,328],{"class":304},[294,552,331],{"class":324},[294,554,315],{"class":314},[294,556,557,559,561,563,565],{"class":296,"line":336},[294,558,321],{"class":304},[294,560,325],{"class":324},[294,562,343],{"class":304},[294,564,331],{"class":324},[294,566,315],{"class":314},[294,568,569,571,573],{"class":296,"line":350},[294,570,353],{"class":304},[294,572,356],{"class":324},[294,574,359],{"class":304},[294,576,577],{"class":296,"line":362},[294,578,365],{"class":304},[294,580,581],{"class":296,"line":368},[294,582,583],{"class":304},"    \"announcementValue\": 600\n",[294,585,586,588],{"class":296,"line":374},[294,587,401],{"class":304},[294,589,404],{"class":324},[206,591,593],{"className":407,"code":592,"filename":409,"language":410,"meta":214,"style":214},"{\n  \"id\": 42,\n  \"externalId\": \"APT-001\",\n  \"status\": \"draft\",\n  \"created\": false,\n  \"updated\": true\n}\n",[193,594,595,599,613,631,649,662,675],{"__ignoreMap":214},[294,596,597],{"class":296,"line":297},[294,598,359],{"class":324},[294,600,601,603,605,607,609,611],{"class":296,"line":318},[294,602,421],{"class":324},[294,604,269],{"class":424},[294,606,331],{"class":324},[294,608,429],{"class":324},[294,610,433],{"class":432},[294,612,436],{"class":324},[294,614,615,617,619,621,623,625,627,629],{"class":296,"line":336},[294,616,421],{"class":324},[294,618,273],{"class":424},[294,620,331],{"class":324},[294,622,429],{"class":324},[294,624,325],{"class":324},[294,626,451],{"class":304},[294,628,331],{"class":324},[294,630,436],{"class":324},[294,632,633,635,637,639,641,643,645,647],{"class":296,"line":350},[294,634,421],{"class":324},[294,636,462],{"class":424},[294,638,331],{"class":324},[294,640,429],{"class":324},[294,642,325],{"class":324},[294,644,471],{"class":304},[294,646,331],{"class":324},[294,648,436],{"class":324},[294,650,651,653,655,657,659],{"class":296,"line":362},[294,652,421],{"class":324},[294,654,482],{"class":424},[294,656,331],{"class":324},[294,658,429],{"class":324},[294,660,661],{"class":324}," false,\n",[294,663,664,666,668,670,672],{"class":296,"line":368},[294,665,421],{"class":324},[294,667,496],{"class":424},[294,669,331],{"class":324},[294,671,429],{"class":324},[294,673,674],{"class":324}," true\n",[294,676,677],{"class":296,"line":374},[294,678,508],{"class":324},[189,680,681,682,685],{},"Now ",[193,683,684],{},"updated: true"," — the object was updated.",[198,687,689],{"id":688},"partial-updates","Partial Updates",[189,691,692],{},"When updating, pass only the changed fields. Others keep their values:",[206,694,696],{"className":407,"code":695,"language":410,"meta":214,"style":214},"// First request — full creation\n{\n  \"externalId\": \"APT-001\",\n  \"announcementType\": \"rent\",\n  \"announcementValue\": 500,\n  \"propertyArea\": 65,\n  \"propertyFloorNumber\": 3\n}\n\n// Second request — change only the price\n{\n  \"externalId\": \"APT-001\",\n  \"announcementValue\": 600\n}\n// propertyArea and propertyFloorNumber stay the same\n",[193,697,698,704,708,726,746,762,778,792,796,802,807,811,830,844,849],{"__ignoreMap":214},[294,699,700],{"class":296,"line":297},[294,701,703],{"class":702},"sHwdD","// First request — full creation\n",[294,705,706],{"class":296,"line":318},[294,707,359],{"class":324},[294,709,710,712,714,716,718,720,722,724],{"class":296,"line":336},[294,711,421],{"class":324},[294,713,273],{"class":424},[294,715,331],{"class":324},[294,717,429],{"class":324},[294,719,325],{"class":324},[294,721,451],{"class":304},[294,723,331],{"class":324},[294,725,436],{"class":324},[294,727,728,730,733,735,737,739,742,744],{"class":296,"line":350},[294,729,421],{"class":324},[294,731,732],{"class":424},"announcementType",[294,734,331],{"class":324},[294,736,429],{"class":324},[294,738,325],{"class":324},[294,740,741],{"class":304},"rent",[294,743,331],{"class":324},[294,745,436],{"class":324},[294,747,748,750,753,755,757,760],{"class":296,"line":362},[294,749,421],{"class":324},[294,751,752],{"class":424},"announcementValue",[294,754,331],{"class":324},[294,756,429],{"class":324},[294,758,759],{"class":432}," 500",[294,761,436],{"class":324},[294,763,764,766,769,771,773,776],{"class":296,"line":368},[294,765,421],{"class":324},[294,767,768],{"class":424},"propertyArea",[294,770,331],{"class":324},[294,772,429],{"class":324},[294,774,775],{"class":432}," 65",[294,777,436],{"class":324},[294,779,780,782,785,787,789],{"class":296,"line":374},[294,781,421],{"class":324},[294,783,784],{"class":424},"propertyFloorNumber",[294,786,331],{"class":324},[294,788,429],{"class":324},[294,790,791],{"class":432}," 3\n",[294,793,794],{"class":296,"line":380},[294,795,508],{"class":324},[294,797,798],{"class":296,"line":386},[294,799,801],{"emptyLinePlaceholder":800},true,"\n",[294,803,804],{"class":296,"line":392},[294,805,806],{"class":702},"// Second request — change only the price\n",[294,808,809],{"class":296,"line":398},[294,810,359],{"class":324},[294,812,814,816,818,820,822,824,826,828],{"class":296,"line":813},12,[294,815,421],{"class":324},[294,817,273],{"class":424},[294,819,331],{"class":324},[294,821,429],{"class":324},[294,823,325],{"class":324},[294,825,451],{"class":304},[294,827,331],{"class":324},[294,829,436],{"class":324},[294,831,833,835,837,839,841],{"class":296,"line":832},13,[294,834,421],{"class":324},[294,836,752],{"class":424},[294,838,331],{"class":324},[294,840,429],{"class":324},[294,842,843],{"class":432}," 600\n",[294,845,847],{"class":296,"line":846},14,[294,848,508],{"class":324},[294,850,852],{"class":296,"line":851},15,[294,853,854],{"class":702},"// propertyArea and propertyFloorNumber stay the same\n",[856,857,859],"h3",{"id":858},"clearing-fields","Clearing Fields",[189,861,862,863,429],{},"To clear a field (remove its value), send ",[193,864,865],{},"null",[206,867,869],{"className":407,"code":868,"language":410,"meta":214,"style":214},"{\n  \"externalId\": \"APT-001\",\n  \"propertyFloorNumber\": null\n}\n",[193,870,871,875,893,906],{"__ignoreMap":214},[294,872,873],{"class":296,"line":297},[294,874,359],{"class":324},[294,876,877,879,881,883,885,887,889,891],{"class":296,"line":318},[294,878,421],{"class":324},[294,880,273],{"class":424},[294,882,331],{"class":324},[294,884,429],{"class":324},[294,886,325],{"class":324},[294,888,451],{"class":304},[294,890,331],{"class":324},[294,892,436],{"class":324},[294,894,895,897,899,901,903],{"class":296,"line":336},[294,896,421],{"class":324},[294,898,784],{"class":424},[294,900,331],{"class":324},[294,902,429],{"class":324},[294,904,905],{"class":324}," null\n",[294,907,908],{"class":296,"line":350},[294,909,508],{"class":324},[189,911,912,913,915],{},"After this request, ",[193,914,784],{}," will be empty.",[198,917,919],{"id":918},"benefits","Benefits",[856,921,923],{"id":922},"simple-integration","Simple Integration",[189,925,926],{},"One endpoint for all cases. No need to write existence-check logic.",[856,928,930],{"id":929},"idempotency","Idempotency",[189,932,933],{},"A repeat request with the same data won't create a duplicate — it just updates the existing object. This is important for network failures: you can safely retry requests.",[856,935,937],{"id":936},"atomicity","Atomicity",[189,939,940],{},"Creation or update happens in a single transaction. There's no race condition like \"checked — wasn't there, created — duplicate\".",[198,942,944],{"id":943},"bulk-upsert","Bulk Upsert",[189,946,947,948,951],{},"The same principle works for bulk operations. Up to 100 objects per request. Each operation must include an ",[193,949,950],{},"op"," field:",[206,953,955],{"className":288,"code":954,"language":290,"meta":214,"style":214},"curl -X POST https://crm.rentix.md/api/v1/listings/bulk \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"operations\": [\n      { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"announcementValue\": 500 },\n      { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"announcementValue\": 700 },\n      { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"announcementValue\": 450 }\n    ]\n  }'\n",[193,956,957,971,983,995,1003,1008,1013,1018,1023,1028],{"__ignoreMap":214},[294,958,959,961,963,966,969],{"class":296,"line":297},[294,960,301],{"class":300},[294,962,305],{"class":304},[294,964,965],{"class":304}," POST",[294,967,968],{"class":304}," https://crm.rentix.md/api/v1/listings/bulk",[294,970,315],{"class":314},[294,972,973,975,977,979,981],{"class":296,"line":318},[294,974,321],{"class":304},[294,976,325],{"class":324},[294,978,328],{"class":304},[294,980,331],{"class":324},[294,982,315],{"class":314},[294,984,985,987,989,991,993],{"class":296,"line":336},[294,986,321],{"class":304},[294,988,325],{"class":324},[294,990,343],{"class":304},[294,992,331],{"class":324},[294,994,315],{"class":314},[294,996,997,999,1001],{"class":296,"line":350},[294,998,353],{"class":304},[294,1000,356],{"class":324},[294,1002,359],{"class":304},[294,1004,1005],{"class":296,"line":362},[294,1006,1007],{"class":304},"    \"operations\": [\n",[294,1009,1010],{"class":296,"line":368},[294,1011,1012],{"class":304},"      { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"announcementValue\": 500 },\n",[294,1014,1015],{"class":296,"line":374},[294,1016,1017],{"class":304},"      { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"announcementValue\": 700 },\n",[294,1019,1020],{"class":296,"line":380},[294,1021,1022],{"class":304},"      { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"announcementValue\": 450 }\n",[294,1024,1025],{"class":296,"line":386},[294,1026,1027],{"class":304},"    ]\n",[294,1029,1030,1032],{"class":296,"line":392},[294,1031,401],{"class":304},[294,1033,404],{"class":324},[206,1035,1037],{"className":407,"code":1036,"filename":409,"language":410,"meta":214,"style":214},"{\n  \"results\": [\n    { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"id\": 42, \"success\": true, \"created\": false, \"updated\": true },\n    { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"id\": 43, \"success\": true, \"created\": true, \"updated\": false },\n    { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"id\": 44, \"success\": true, \"created\": true, \"updated\": false }\n  ],\n  \"summary\": { \"total\": 3, \"succeeded\": 3, \"failed\": 0 }\n}\n",[193,1038,1039,1043,1057,1145,1228,1311,1316,1371],{"__ignoreMap":214},[294,1040,1041],{"class":296,"line":297},[294,1042,359],{"class":324},[294,1044,1045,1047,1050,1052,1054],{"class":296,"line":318},[294,1046,421],{"class":324},[294,1048,1049],{"class":424},"results",[294,1051,331],{"class":324},[294,1053,429],{"class":324},[294,1055,1056],{"class":324}," [\n",[294,1058,1059,1062,1064,1066,1068,1070,1072,1075,1077,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1113,1115,1117,1120,1122,1124,1126,1128,1131,1133,1135,1137,1139,1142],{"class":296,"line":336},[294,1060,1061],{"class":324},"    {",[294,1063,325],{"class":324},[294,1065,950],{"class":300},[294,1067,331],{"class":324},[294,1069,429],{"class":324},[294,1071,325],{"class":324},[294,1073,1074],{"class":304},"upsert",[294,1076,331],{"class":324},[294,1078,1079],{"class":324},",",[294,1081,325],{"class":324},[294,1083,273],{"class":300},[294,1085,331],{"class":324},[294,1087,429],{"class":324},[294,1089,325],{"class":324},[294,1091,451],{"class":304},[294,1093,331],{"class":324},[294,1095,1079],{"class":324},[294,1097,325],{"class":324},[294,1099,269],{"class":300},[294,1101,331],{"class":324},[294,1103,429],{"class":324},[294,1105,433],{"class":432},[294,1107,1079],{"class":324},[294,1109,325],{"class":324},[294,1111,1112],{"class":300},"success",[294,1114,331],{"class":324},[294,1116,429],{"class":324},[294,1118,1119],{"class":324}," true,",[294,1121,325],{"class":324},[294,1123,482],{"class":300},[294,1125,331],{"class":324},[294,1127,429],{"class":324},[294,1129,1130],{"class":324}," false,",[294,1132,325],{"class":324},[294,1134,496],{"class":300},[294,1136,331],{"class":324},[294,1138,429],{"class":324},[294,1140,1141],{"class":324}," true",[294,1143,1144],{"class":324}," },\n",[294,1146,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1178,1180,1182,1184,1186,1188,1190,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1226],{"class":296,"line":350},[294,1148,1061],{"class":324},[294,1150,325],{"class":324},[294,1152,950],{"class":300},[294,1154,331],{"class":324},[294,1156,429],{"class":324},[294,1158,325],{"class":324},[294,1160,1074],{"class":304},[294,1162,331],{"class":324},[294,1164,1079],{"class":324},[294,1166,325],{"class":324},[294,1168,273],{"class":300},[294,1170,331],{"class":324},[294,1172,429],{"class":324},[294,1174,325],{"class":324},[294,1176,1177],{"class":304},"APT-002",[294,1179,331],{"class":324},[294,1181,1079],{"class":324},[294,1183,325],{"class":324},[294,1185,269],{"class":300},[294,1187,331],{"class":324},[294,1189,429],{"class":324},[294,1191,1192],{"class":432}," 43",[294,1194,1079],{"class":324},[294,1196,325],{"class":324},[294,1198,1112],{"class":300},[294,1200,331],{"class":324},[294,1202,429],{"class":324},[294,1204,1119],{"class":324},[294,1206,325],{"class":324},[294,1208,482],{"class":300},[294,1210,331],{"class":324},[294,1212,429],{"class":324},[294,1214,1119],{"class":324},[294,1216,325],{"class":324},[294,1218,496],{"class":300},[294,1220,331],{"class":324},[294,1222,429],{"class":324},[294,1224,1225],{"class":324}," false",[294,1227,1144],{"class":324},[294,1229,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1261,1263,1265,1267,1269,1271,1273,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308],{"class":296,"line":362},[294,1231,1061],{"class":324},[294,1233,325],{"class":324},[294,1235,950],{"class":300},[294,1237,331],{"class":324},[294,1239,429],{"class":324},[294,1241,325],{"class":324},[294,1243,1074],{"class":304},[294,1245,331],{"class":324},[294,1247,1079],{"class":324},[294,1249,325],{"class":324},[294,1251,273],{"class":300},[294,1253,331],{"class":324},[294,1255,429],{"class":324},[294,1257,325],{"class":324},[294,1259,1260],{"class":304},"APT-003",[294,1262,331],{"class":324},[294,1264,1079],{"class":324},[294,1266,325],{"class":324},[294,1268,269],{"class":300},[294,1270,331],{"class":324},[294,1272,429],{"class":324},[294,1274,1275],{"class":432}," 44",[294,1277,1079],{"class":324},[294,1279,325],{"class":324},[294,1281,1112],{"class":300},[294,1283,331],{"class":324},[294,1285,429],{"class":324},[294,1287,1119],{"class":324},[294,1289,325],{"class":324},[294,1291,482],{"class":300},[294,1293,331],{"class":324},[294,1295,429],{"class":324},[294,1297,1119],{"class":324},[294,1299,325],{"class":324},[294,1301,496],{"class":300},[294,1303,331],{"class":324},[294,1305,429],{"class":324},[294,1307,1225],{"class":324},[294,1309,1310],{"class":324}," }\n",[294,1312,1313],{"class":296,"line":368},[294,1314,1315],{"class":324},"  ],\n",[294,1317,1318,1320,1323,1325,1327,1330,1332,1335,1337,1339,1342,1344,1346,1349,1351,1353,1355,1357,1359,1362,1364,1366,1369],{"class":296,"line":374},[294,1319,421],{"class":324},[294,1321,1322],{"class":424},"summary",[294,1324,331],{"class":324},[294,1326,429],{"class":324},[294,1328,1329],{"class":324}," {",[294,1331,325],{"class":324},[294,1333,1334],{"class":300},"total",[294,1336,331],{"class":324},[294,1338,429],{"class":324},[294,1340,1341],{"class":432}," 3",[294,1343,1079],{"class":324},[294,1345,325],{"class":324},[294,1347,1348],{"class":300},"succeeded",[294,1350,331],{"class":324},[294,1352,429],{"class":324},[294,1354,1341],{"class":432},[294,1356,1079],{"class":324},[294,1358,325],{"class":324},[294,1360,1361],{"class":300},"failed",[294,1363,331],{"class":324},[294,1365,429],{"class":324},[294,1367,1368],{"class":432}," 0",[294,1370,1310],{"class":324},[294,1372,1373],{"class":296,"line":380},[294,1374,508],{"class":324},[198,1376,1378],{"id":1377},"limitations","Limitations",[1380,1381,1382,1383,1385,1386,1388],"warning",{},"You cannot pass both ",[193,1384,269],{}," and ",[193,1387,273],{}," at the same time — this will cause an error. Choose one identification method.",[229,1390,1391,1401],{},[232,1392,1393],{},[235,1394,1395,1398],{},[238,1396,1397],{},"Resource",[238,1399,1400],{},"Endpoint",[245,1402,1403,1412],{},[235,1404,1405,1407],{},[250,1406,58],{},[250,1408,1409],{},[193,1410,1411],{},"PUT /listings",[235,1413,1414,1416],{},[250,1415,93],{},[250,1417,1418],{},[193,1419,1420],{},"PUT /users",[1422,1423,1424],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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":214,"searchDepth":318,"depth":318,"links":1426},[1427,1428,1429,1430,1431,1434,1439,1440],{"id":200,"depth":318,"text":201},{"id":226,"depth":318,"text":227},{"id":277,"depth":318,"text":278},{"id":518,"depth":318,"text":519},{"id":688,"depth":318,"text":689,"children":1432},[1433],{"id":858,"depth":336,"text":859},{"id":918,"depth":318,"text":919,"children":1435},[1436,1437,1438],{"id":922,"depth":336,"text":923},{"id":929,"depth":336,"text":930},{"id":936,"depth":336,"text":937},{"id":943,"depth":318,"text":944},{"id":1377,"depth":318,"text":1378},"One endpoint to create and update — no existence check needed","md",null,{},{"icon":51},{"title":48,"description":1441},"UIOIFBLVHNsl-TpzyY-bz1KdOYmKWHZt1DhhEYXHDcQ",[1449,1451],{"title":43,"path":44,"stem":45,"description":1450,"icon":46,"children":-1},"Use your CRM IDs instead of Rentix internal IDs",{"title":53,"path":54,"stem":55,"description":1452,"icon":56,"children":-1},"How to track long-running operations via Job API",1776111291436]