canonical: https://jentic.com/apis/runsignup.com/runsignup

# RunSignup API

The RunSignup API provides programmatic access to RunSignup's race management platform. It covers race information, participant registration, results management, club memberships, donations, volunteers, ticket events, team management, and more. Rate limit: no more than 2 concurrent API calls at a time. The API exposes 88 endpoints secured with apiKey, oauth2 authentication.

## For AI agents

Programmatically get race information, list upcoming races. Covers 88 operations with apiKey, oauth2 authentication.

## Scope

Does not handle payments, crm, or developer tools - use for communications only.

## Capabilities

- Get race information
- List upcoming races
- Set race syncing settings
- Query and filter RunSignup API records by parameters
- Monitor RunSignup API operational status and events

## Use cases

### Communications Operations

Use the RunSignup API to perform communications operations programmatically. The API provides 88 endpoints covering core functionality including get race information, list upcoming races, set race syncing settings.

Example prompt: Call GET `/API/race/{race_id}` to get race information

### Automated Announcer Management

Automate announcer operations by combining multiple RunSignup API endpoints. Agents can list upcoming races and then set race syncing settings in a single workflow.

Example prompt: Call GET `/API/races` to list upcoming races, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call RunSignup API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey, oauth2 tokens manually.

Example prompt: Search Jentic for 'get race information', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/API/race/{race_id}` | Get race information |
| GET | `/API/races` | List upcoming races |
| POST | `/API/race/{race_id}/sync-settings` | Set race syncing settings |
| POST | `/API/race/{race_id}/race-urls` | Set race and event URLs |
| POST | `/API/race/{race_id}/race-description` | Set race description |
| GET | `/API/countries` | Get list of countries and states |
| GET | `/API/v2/auth-info/entity-info.json` | Get entity information for a v2 API key |
| POST | `/API/race/{race_id}/participants` | Add or edit race participants |

## Key resources

- **Announcer** — Operations related to Announcer
- **Basic Info** — Operations related to Basic Info
- **Clubs** — Operations related to Clubs
- **Corrals** — Operations related to Corrals
- **Coupons** — Operations related to Coupons

## Why Jentic

- **Setup:** Wiring RunSignup by hand means handling its api_key query parameter or OAuth2 flow yourself, threading the key onto every call against runsignup.com, and managing your own retries. Through Jentic you install once, import the RunSignup API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** RunSignup puts the race id in the URL path (`/API/race/{race_id}/...`), so a rule can pin your agent to one race: it can read that race and update its settings, URLs, and description and nothing else. You choose the operations it may call, so adding participants is not included unless you add it.
- **Credential handling:** Your RunSignup key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get race information' or 'add participants to a race', and Jentic returns the matching RunSignup operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio** — Alternative communications API
- **Sendgrid** — Alternative communications API
- **Pusher** — Complementary communications API

## FAQ

### What authentication does the RunSignup API use?

The RunSignup API uses apiKey, oauth2 authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I get race information with the RunSignup API?

Yes. Use the GET `/API/race/{race_id}` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the RunSignup API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I get race information through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'get race information'. Jentic returns the matching RunSignup API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the RunSignup API have?

The RunSignup API exposes 88 endpoints covering announcer, basic info, clubs operations.

### Can I limit what my agent is allowed to do with the RunSignup API?

Yes. Jentic One is self-hosted by you, so your own rules decide which RunSignup operations and credentials your agent can use. Because RunSignup puts the race id in the URL path (`/API/race/{race_id}/...`), you can pin the agent to a single race and let it read that race and update its sync settings, URLs, and description while calling nothing else. Since you choose the operations it may call, adding or editing participants via POST `/API/race/{race_id}/participants` stays out of reach unless you explicitly allow it.
