Evenium MCP by usefulapi

Read Evenium events, guests, contacts and hotels; register guests and update contacts and statuses.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
86%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'evenium_get_guest_accommodations' name length outside 3-30 rangein evenium_get_guest_accommodations
  • LOWTool 'evenium_update_guest_post_status' name length outside 3-30 rangein evenium_update_guest_post_status
  • LOWTool 'evenium_list_event_part_registrations' name length outside 3-30 rangein evenium_list_event_part_registrations

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,033Tokens (tool definitions)
~3.1 KBTypical response size
Significant attention impact (6.28% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "evenium": {
      "url": "https://evenium.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://evenium.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (19)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢evenium_list_events(title, status, starts_after, starts_before, ends_after, ...)

List the events of the Evenium account, with id, title, dates, status and creation date. Filter by title (partial match), status and start/end/creation dates. Use an event id with the guest and session tools. GET /events.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "description": "Events whose title is like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "status": {
      "description": "FUTURE = open, DRAFT, CLOSED, ARCHIVED, CANCELED, DELETED, CLONEABLE = template.",
      "type": "string",
      "enum": [
        "FUTURE",
        "DRAFT",
        "CLOSED",
        "ARCHIVED",
        "CANCELED",
        "DELETED",
        "CLONEABLE"
      ]
    },
    "starts_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "starts_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "created_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "created_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "max_results": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "first_result": {
      "description": "Index of the first result, from 0 (default 0). Pass the previous reply's next_first_result.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_event(event_id)

One event by id: title, description, dates, status, site path and its fields (type, your external id, ...). GET /events/{eventId}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_list_guests(event_id, status, last_name, first_name, email, ...)

List the guests (invited contacts) of an event with name, email, company, registration status (e.g. CONFIRMED, DECLINED, UNANSWERED), category and fields. Filter by status, name, email, company or last update. GET /events/{eventId}/guests.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "status": {
      "description": "Only guests with exactly this registration status.",
      "type": "string",
      "enum": [
        "UNANSWERED",
        "PENDING",
        "CONFIRMED",
        "VALID",
        "RESERVED",
        "OVERBOOKED",
        "EXTRA",
        "DECLINED",
        "CANCELED",
        "DELETED",
        "REPLACED"
      ]
    },
    "last_name": {
      "description": "Last name like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "first_name": {
      "description": "First name like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "email": {
      "description": "Email equal to this.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "company": {
      "description": "Company like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "updated_since": {
      "description": "Only guests updated after this date (RFC 3339).",
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$"
    },
    "updated_until": {
      "description": "Only guests updated until this date (RFC 3339).",
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$"
    },
    "max_results": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "first_result": {
      "description": "Index of the first result, from 0 (default 0). Pass the previous reply's next_first_result.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_guest(event_id, contact_id, guest_code, include)

One guest of an event, by contact id or by guest code: name, email, status, category and fields (event-only fields flagged). Optionally include REGISTRATION (registrations to sessions), PRESENCE and SIGNATURE data. GET /events/{eventId}/guests/{contactId} or /guests/guestCode/{guestCode}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "description": "The guest's contact id. Give this or guest_code.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ]
    },
    "guest_code": {
      "description": "The guest's code at the event (e.g. D4571). Give this or contact_id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "include": {
      "description": "Extra data to return.",
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "REGISTRATION",
          "PRESENCE",
          "SIGNATURE"
        ]
      }
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_guest_status(event_id, contact_id)

The registration status of one guest at an event (e.g. CONFIRMED, DECLINED, CANCELED). GET /events/{eventId}/guests/{contactId}/status.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    }
  },
  "required": [
    "event_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_guest_post_status(event_id, contact_id)

The attendance (post) status of one guest after the event: UNKNOWN, NO_SHOW or PRESENT. GET /events/{eventId}/guests/{contactId}/postStatus.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    }
  },
  "required": [
    "event_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_guest_accommodations(event_id, contact_id)

The hotel room bookings of one guest at an event: room id, check-in and check-out dates, status. Not available on the evenium.net platform. GET /events/{eventId}/guests/{contactId}/accommodations.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    }
  },
  "required": [
    "event_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_list_hotels(event_id, include)

The hotels of an event with name, group, stars, contact details and, if asked, full location and rooms. Not available on the evenium.net platform. GET /events/{eventId}/hotels.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "include": {
      "description": "Extra hotel properties: location (full address), rooms (room list).",
      "maxItems": 2,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "location",
          "rooms"
        ]
      }
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡evenium_create_guest(event_id, contact_id, first_name, last_name, email, ...)

WRITE: invite a person to an event. Either invite an existing contact (contact_id) or create a guest from scratch (first_name, last_name, email, ...), which may also create a new contact. The optional status sets the registration status (the invitation emails of the event may follow Evenium's own rules). POST /events/{eventId}/guests.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "description": "Evenium contact id of an existing contact to invite. If set, the name fields are ignored.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "gender": {
      "type": "string",
      "enum": [
        "MALE",
        "FEMALE"
      ]
    },
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "status": {
      "description": "Registration status to give the guest (default chosen by Evenium).",
      "type": "string",
      "enum": [
        "UNANSWERED",
        "PENDING",
        "CONFIRMED",
        "VALID",
        "RESERVED",
        "OVERBOOKED",
        "EXTRA",
        "DECLINED",
        "CANCELED"
      ]
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴evenium_update_guest_status(event_id, contact_id, status)

WRITE: set the registration status of a guest at an event (e.g. CONFIRMED, DECLINED, CANCELED). Can trigger Evenium's own workflows for that status. Read the current value first with evenium_get_guest_status. PUT /events/{eventId}/guests/{contactId}/status.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    },
    "status": {
      "type": "string",
      "enum": [
        "UNANSWERED",
        "PENDING",
        "CONFIRMED",
        "VALID",
        "RESERVED",
        "OVERBOOKED",
        "EXTRA",
        "DECLINED",
        "CANCELED"
      ]
    }
  },
  "required": [
    "event_id",
    "contact_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴evenium_update_guest_post_status(event_id, contact_id, post_status)

WRITE: set the attendance (post) status of a guest: PRESENT, NO_SHOW or UNKNOWN (for example after check-in). PUT /events/{eventId}/guests/{contactId}/postStatus.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    },
    "post_status": {
      "type": "string",
      "enum": [
        "UNKNOWN",
        "NO_SHOW",
        "PRESENT"
      ]
    }
  },
  "required": [
    "event_id",
    "contact_id",
    "post_status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_list_contacts(last_name, first_name, email, company, updated_since, ...)

List the contacts of the address book (id, your custom id, name, email, company and fields). Filter by name, email, company or last update. GET /contacts.

Input Schema

{
  "type": "object",
  "properties": {
    "last_name": {
      "description": "Last name like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "first_name": {
      "description": "First name like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "email": {
      "description": "Email equal to this.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "company": {
      "description": "Company like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "updated_since": {
      "description": "Only contacts updated after this date (RFC 3339).",
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$"
    },
    "max_results": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "first_result": {
      "description": "Index of the first result, from 0 (default 0). Pass the previous reply's next_first_result.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_contact(contact_id)

One contact by Evenium id or `ext:<customId>`: name, gender, email, company and fields. GET /contacts/{contactId}.

Input Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_contact_events(contact_id, starts_after, starts_before, ends_after, ends_before, ...)

The events a contact is invited to, with the contact's registration (status, post status, category) in each. Filter by event start, end or creation date. GET /contacts/{contactId}/events.

Input Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    },
    "starts_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "starts_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "created_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "created_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡evenium_create_contact(first_name, last_name, email, gender, company, ...)

WRITE: add a contact to the address book (name, email, company, optional custom id and fields). Does not invite them to an event (use evenium_create_guest). May create a duplicate of an existing person: search with evenium_list_contacts first. POST /contacts.

Input Schema

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "gender": {
      "type": "string",
      "enum": [
        "MALE",
        "FEMALE"
      ]
    },
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "custom_id": {
      "description": "Your own id for this contact (later usable as `ext:<id>`).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fields": {
      "description": "Extra contact fields as {name, value} pairs.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Field name, e.g. FUNCTION, MOBILE_PHONE_NUMBER, ADDR_CITY, or a numeric custom-field code."
          },
          "value": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "name",
          "value"
        ]
      }
    }
  },
  "required": [
    "last_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴evenium_update_contact(contact_id, email, company, fields)

WRITE: change a contact's email, company or fields (only what you pass is sent). The change applies to the contact everywhere, including its guest records. PUT /contacts/{contactId}.

Input Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium contact id (e.g. 1102365; the guest's contactId), or `ext:<your own customId>`."
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "fields": {
      "description": "Extra contact fields as {name, value} pairs.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Field name, e.g. FUNCTION, MOBILE_PHONE_NUMBER, ADDR_CITY, or a numeric custom-field code."
          },
          "value": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "name",
          "value"
        ]
      }
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_list_event_parts(event_id, title, starts_after, starts_before, ends_after, ...)

List the event parts (sessions, workshops, activities) of an event with title, dates, nature, code and location. Filter by title and start/end/update dates. GET /events/{eventId}/eventParts.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "title": {
      "description": "Sessions whose title is like this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "starts_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "starts_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "ends_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "updated_after": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "updated_before": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$",
      "description": "RFC 3339 date or date-time, UTC preferred, e.g. 2026-10-01Z or 2026-10-01T09:00:00Z (without a timezone Evenium uses Central European Time)."
    },
    "max_results": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "first_result": {
      "description": "Index of the first result, from 0 (default 0). Pass the previous reply's next_first_result.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_get_event_part(event_id, event_part_id)

One event part (session) by id: title, dates, nature, code, location and fields. GET /events/{eventId}/eventParts/{eventPartId}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "event_part_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{1,20}$"
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Event part (session) id, from evenium_list_event_parts."
    }
  },
  "required": [
    "event_id",
    "event_part_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢evenium_list_event_part_registrations(event_id, event_part_id, updated_since, include_deleted, max_results, ...)

The registrations to one session: contact id, status, attendance, category and dates. With include_deleted, deleted registrations are returned too (status DELETED). GET /events/{eventId}/eventParts/{eventPartId}/registrations.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Evenium event id (e.g. 12458), or `ext:<your own event id>` (the EXT_EVENT_ID field)."
    },
    "event_part_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{1,20}$"
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Event part (session) id, from evenium_list_event_parts."
    },
    "updated_since": {
      "description": "Only registrations updated after this date (RFC 3339).",
      "type": "string",
      "maxLength": 40,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?)?(?:Z|[+-]\\d{2}:\\d{2})?$"
    },
    "include_deleted": {
      "description": "Also return deleted registrations (queryMode=SYNCHRONIZE).",
      "type": "boolean"
    },
    "max_results": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "first_result": {
      "description": "Index of the first result, from 0 (default 0). Pass the previous reply's next_first_result.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "event_id",
    "event_part_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded19 tools