bymundi API

Quickstart

From a new API key to your first undone change in five calls.

You need a key with Trips: read and write (Integrations → API & MCP). Put it in your shell:

export BYMUNDI_KEY=bym_live_...

Each block below starts with the status it should answer. Replace nothing else: the variables are set as you go.

1. Check the key

# expect 200
curl https://api.bymundi.com/v1/me \
  -H "Authorization: Bearer $BYMUNDI_KEY"

The answer names you, your agency and the key's permissions.

2. Create a trip

# expect 201, save TRIP_ID from .id
curl -X POST https://api.bymundi.com/v1/trips \
  -H "Authorization: Bearer $BYMUNDI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"title":"My first API trip","startDate":"2027-05-01","endDate":"2027-05-04"}'

Copy the id from the answer: export TRIP_ID=<id>. The Idempotency-Key makes the call safe to retry.

3. Add a note to its itinerary

# expect 200, save CHANGE_ID from header Bymundi-Change-Id
curl -i -X POST https://api.bymundi.com/v1/trips/$TRIP_ID/itinerary/ops \
  -H "Authorization: Bearer $BYMUNDI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ops":[{"op":"add","type":"texto","parentId":null,"position":"end","clientId":"hello"}]}'

-i prints the headers: copy Bymundi-Change-Id into export CHANGE_ID=<id>. Open the trip in bymundi: the note is there. How the itinerary tree works: Itineraries.

4. Undo it

# expect 200
curl -X POST https://api.bymundi.com/v1/changes/$CHANGE_ID/revert \
  -H "Authorization: Bearer $BYMUNDI_KEY"

The note is gone. The same change also appears in the app under Integrations → API & MCP → Activity, with its own Undo.

5. Archive the trip

# expect 200
curl -X DELETE https://api.bymundi.com/v1/trips/$TRIP_ID \
  -H "Authorization: Bearer $BYMUNDI_KEY"

Archiving is undoable too (POST /v1/trips/{tripId}/restore).

Next