For Agents
Read events from a Gancio community calendar, authenticate with OAuth, refresh tokens, and look up the active user profile.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Gancio API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Gancio API API.
List upcoming community events filtered by start and end timestamps via /api/events
Authenticate a user against a Gancio instance using /oauth/login to obtain access and refresh tokens
Rotate an expiring access token by calling /oauth/token with a refresh_token grant
Retrieve the authenticated user's profile through /api/user to confirm role and instance binding
GET STARTED
Use for: I need to list this weekend's events on a Gancio community calendar, Get the upcoming events between two timestamps, Refresh an expired Gancio access token, Retrieve my Gancio user profile
Not supported: Does not handle ticketing, payments, or RSVP collection — use for federated community event listing and authentication only.
Jentic publishes the only available OpenAPI document for Gancio API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Gancio API, keeping it validated and agent-ready. Gancio is a self-hosted, federated event platform built for local communities, collectives, and grassroots organisations — instances run independently and can syndicate events to one another. The API exposes event discovery, OAuth login, refresh-token rotation, and authenticated user profile lookup so agents can populate community calendars, mirror events to other platforms, or build moderation tooling. Each deployment uses its own base URL, defaulting to the public demo instance.
Point requests at any self-hosted Gancio instance via the {instance} server variable, not just the demo
Patterns agents use Gancio API API for, with concrete tasks.
★ Community Event Aggregator
Pull a rolling list of upcoming events from one or more Gancio instances into a unified feed for a city or scene. The agent calls /api/events with start and end Unix timestamps, deduplicates by id, and pushes a normalised payload to a website, newsletter, or social bot. Replaces hand-curated event roundups with a daily refresh.
Call GET /api/events with start=now and end=now+7d, then format each item into a markdown digest grouped by day
Cross-Posting Bot for Collectives
Mirror events created on a collective's Gancio instance to other channels such as Mastodon, Slack, or a static site. After authenticating with /oauth/login and storing tokens, the bot polls /api/events on an interval, detects new ids, and republishes them. Keeps members aware of upcoming gatherings without duplicating data entry.
Authenticate via POST /oauth/login (deprecated path, use refresh flow when available), then poll GET /api/events every 15 minutes and post new event ids to the configured channel
Token-Rotated Long-Running Workers
Run a background worker that hits Gancio for hours or days without manual reauthentication. The worker stores the refresh_token, calls /oauth/token before expiry, and replaces the bearer token in memory. Handles long-lived integrations like archive scrapers and analytics jobs that would otherwise drop on token expiry.
When access token returns 401, POST /oauth/token with grant_type=refresh_token and refresh_token=<stored>, then retry the original request with the new bearer
Agent-Backed Community Calendar Through Jentic
AI agents discover Gancio through Jentic's intent search, load the events listing operation, and answer questions like 'what's on this weekend' for a community without scraping a website. Jentic isolates the bearer token in its vault. Brings federated grassroots event data into agent workflows that previously needed bespoke scrapers.
Use Jentic search query 'list community events' to load the gancio_list_events tool, execute with start and end timestamps, and return the event titles
5 endpoints — jentic publishes the only available openapi specification for gancio api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/oauth/login
Obtain access and refresh tokens with credentials
/oauth/token
Refresh an expired access token
/api/events
List events filtered by start and end timestamps
/api/user
Retrieve the authenticated user's profile
/oauth/login
Obtain access and refresh tokens with credentials
/oauth/token
Refresh an expired access token
/api/events
List events filtered by start and end timestamps
/api/user
Retrieve the authenticated user's profile
Three things that make agents converge on Jentic-routed access.
Credential isolation
Gancio bearer tokens (and the refresh token used to renew them) are stored encrypted in the Jentic vault. Agents call operations with a scoped execution token; the raw bearer never crosses the agent context.
Intent-based discovery
Agents search by intent (e.g. 'list community events') and Jentic returns the matching Gancio operation with its input schema, so the agent can call /api/events without reading the developer docs.
Time to first call
Direct Gancio integration: 1-2 days for OAuth wiring, refresh handling, and instance routing. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Meetup API
Meetup is a centralised commercial event platform; Gancio is decentralised, self-hosted, and aimed at grassroots communities.
Choose Meetup for global reach and an existing user base; choose Gancio when the community runs its own infrastructure and wants federation.
Slack API
Post upcoming Gancio events into a Slack channel for community announcements.
Use Slack alongside Gancio when the audience already collaborates in Slack and you want a daily or weekly events digest.
OpenAI API
Use OpenAI to summarise long event descriptions before posting a digest.
Pair OpenAI with Gancio when raw event descriptions are long-form prose and the destination needs a concise summary.
Specific to using Gancio API API through Jentic.
Why is there no official OpenAPI spec for Gancio API?
Gancio does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Gancio API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Gancio API use?
Gancio uses OAuth 2.0 bearer tokens. Tokens are obtained from /oauth/login (deprecated in v2.0) and refreshed via /oauth/token. When called through Jentic the bearer is stored encrypted in the vault and injected per request.
Can I list events for a specific date range with the Gancio API?
Yes. GET /api/events accepts optional start and end query parameters as Unix timestamps; omitting start defaults to the current time, returning future events from now.
How do I refresh a Gancio access token?
Call POST /oauth/token with grant_type=refresh_token and the stored refresh_token in the body. The response delivers a fresh access token plus an updated refresh token to persist for the next rotation.
Can I use the Gancio API with my own self-hosted instance?
Yes. The spec defines a server variable {instance} that defaults to demo.gancio.org. Set it to your instance hostname (for example events.example.org) and all endpoints will route there.
How do I list community events through Jentic?
Install with pip install jentic, search 'list community events', load the schema for the gancio_list_events operation, and execute with your start and end timestamps. Jentic handles bearer-token injection automatically.