# Set up library sync

## How it works

Your external system pushes data into GUIBO libraries via the [Content API](https://claude.ai/developers/content-api/). Once synced, the libraries work exactly like manually managed ones — they can be imported into guidebooks or referenced in on-demand releases.

## 1. Create libraries in GUIBO

Set up your library structure. We recommend to organize libraries by type (routes, POI, textpages) and data source. For example:&#x20;

* **Routes GUIBO** — routes maintained in GUIBO
* **Routes MY GEO CMS** — four routes synched from GEO CMS
* **POI MY GEO CMS**— sights, restaurants, services
* **Accommodations MY BOOKING SYSTEM** — hotels, guesthouses
* **Text pages GUIBO** — info pages, FAQs, arrival instructions managed in GUIBO

## 2. Use custom IDs consistently

Every asset in GUIBO can carry a custom ID (`customId` in the API). Assign the same ID that your source system already uses. This is what allows the sync to identify and update assets in GUIBO directly.

## 3. Implement the sync

Your developer or system provider sets up a sync job (typically nightly) that pushes data into the libraries.

**The sync should follow an update-first approach** for each asset in the source system:

1. Try to **update** the asset in GUIBO with your custom ID
2. If not found → **create** it as a new asset

This ensures that every sync run both **updates all existing assets** and **adds new ones** — GUIBO always reflects the current state of the source system.

The Content API provides separate endpoints for creating and updating each content type. For example, POIs:

<table><thead><tr><th width="141.23046875">Operation</th><th width="110.953125">Method</th><th>Endpoint</th></tr></thead><tbody><tr><td>Create</td><td><code>POST</code></td><td><code>/content/geodata/poi</code></td></tr><tr><td>Update</td><td><code>PUT</code></td><td><code>/content/geodata/poi/{account}/{libraryId}/{id}</code></td></tr></tbody></table>

See the [Content API](https://claude.ai/developers/content-api/) for all endpoints.
