canonical: https://jentic.com/apis/modernloop.io/modernloop

# ModernLoop Platform API

The ModernLoop Platform API runs interview scheduling and interviewer training for recruiting teams, synced with candidates, applications, jobs, and job stages from your ATS. It creates and tracks scheduling tasks through states such as NEEDS_AVAILABILITY, READY_TO_SCHEDULE, SCHEDULED, and NEEDS_DEBRIEF, lists scheduled interview events by interviewer, candidate, job, and date, and returns the schedules behind them. Interview modules define who is trained to run each interview, with shadow and reverse-shadow requirements, weekly interview limits, and per-member training stats. Activity feeds, activity aggregation over windows of up to 92 days, and audit logs for API requests, agent tool calls, and privacy events cover reporting and compliance.

## For AI agents

Create and track interview scheduling tasks, list interview events, manage interview modules and interviewer training, and update hiring-team assignments on applications with ModernLoop. Authenticated with a Bearer token.

## Scope

Does not post job listings, source candidates, or replace your ATS as the system of record for applications. Use for interview scheduling tasks, interviewer training modules, and scheduling activity reporting only.

## Capabilities

- Create a scheduling task for an application and job stage, with urgency and an initial note
- Filter scheduling tasks by status such as READY_TO_SCHEDULE or NEEDS_DEBRIEF, assignee, queue, or tag
- List scheduled interview events by interviewer, candidate, job, and start date for BI exports
- Build interview modules with shadow and reverse-shadow requirements and a weekly_interview_limit
- Add interviewers to a module with a training_status of TRAINED, SHADOW, or REVERSE_SHADOW and read their stats
- Reassign the hiring manager, recruiter, coordinator, or sourcer on an application
- Count activities such as SCHEDULE_CREATED by type, actor, or week over a window of up to 92 days

## Use cases

### Agent Scheduling Coordinator Through Jentic

An AI agent acting as a recruiting coordinator watches for applications that reach an interview stage, opens a scheduling task for each, and follows its status until it is scheduled or needs a debrief. Through Jentic the agent finds the create-task and list-tasks operations by intent, sends application_id and job_stage_id with a stored token, and filters tasks by status without browsing the reference docs.

Example prompt: Create a scheduling task for application_id 'app_123' and job_stage_id 'stg_456' with is_urgent true and a note 'Candidate has a competing offer', then list tasks with statuses READY_TO_SCHEDULE

### Interviewer Training Pipelines

Talent teams define interview modules with the number of shadow and reverse-shadow sessions an interviewer must complete, add new interviewers as SHADOW members, and read per-member stats to see who is ready to graduate to TRAINED. Weekly limits per module and per member stop any one interviewer from being overloaded.

Example prompt: Add user 'usr_789' to interview module 'mod_321' with training_status SHADOW, then fetch that member's stats

### Recruiting Operations Reporting

Recruiting operations pull interview events filtered by status and date into a BI tool, and aggregate activities such as SCHEDULE_RESCHEDULED or CANDIDATE_RSVP_DECLINED by week to spot scheduling friction. Separate audit logs list API requests, agent tool calls, and privacy events for a time window.

Example prompt: Aggregate activities grouped by ACTIVITY_TYPE with time_bucket WEEK from 2026-08-01T00:00:00Z to 2026-10-31T23:59:59Z, limited to SCHEDULE_CREATED and SCHEDULE_RESCHEDULED

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/tasks` | Create a scheduling task |
| GET | `/v1/tasks` | List scheduling tasks |
| GET | `/v1/interview-events` | List interview events |
| GET | `/v1/applications` | List applications |
| POST | `/v1/interview-modules` | Create an interview module |
| POST | `/v1/interview-modules/{moduleId}/members` | Add a member to an interview module |
| POST | `/v1/activities/aggregate` | Aggregate activities |

## Key resources

- **Scheduling Tasks** — Per-application scheduling work items with status, assignee, queue, urgency, and tags
- **Interview Events** — Scheduled interviews by interviewer, candidate, job, and date
- **Interview Modules** — Interview types with training requirements, members, and stats
- **Applications and Candidates** — ATS-synced records with hiring-team assignments
- **Jobs and Job Stages** — Jobs and their interview stages with scheduling settings
- **Activities and Audit Logs** — Activity feeds, aggregate counts, and API, tool-call, and privacy audit logs

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 69 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 81 / 100
  - Developer Experience & Jentic Compatibility: 71 / 100
  - AI-Readiness & Agent Experience: 51 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 86 / 100
- **View full report:** https://jentic.com/apis/modernloop.io/modernloop/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring ModernLoop by hand means setting the Bearer token, handling cursor pagination across its list operations, and supplying an idempotency key on task creation. Through Jentic you install once, import ModernLoop from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ModernLoop puts the moduleId, taskId, and applicationId in the URL path, so a rule can pin your agent to one interview module or one task and the operations you pick. You choose the operations it may call, so destructive ones like deleting an interview module or updating organization settings are not included unless you add them.
- **Credential handling:** Your ModernLoop token 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 'create an interview scheduling task' or 'list scheduled interviews', and Jentic returns the matching ModernLoop operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Greenhouse Harvest** — ATS data for candidates, applications, jobs, and offers
- **Lever** — ATS and CRM for hiring pipelines
- **Ashby** — All-in-one recruiting platform with built-in scheduling
- **Calendly** — General-purpose meeting scheduling links

## FAQ

### What authentication does the ModernLoop Platform API use?

The ModernLoop Platform API authenticates with an API token passed as a Bearer token in the Authorization header per its OpenAPI spec, and every operation declares it. Through Jentic the token is stored once, encrypted, by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### Can I create interview scheduling tasks with the ModernLoop Platform API?

Yes. The create-task operation takes an application_id and a job_stage_id, plus optional is_urgent and note fields, and the spec says an idempotency key is required so retries return the original task. Tasks can then be reassigned, re-queued, tagged, or cancelled with an optional reason.

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

Yes. For example, write a rule that allows only the task list, task read, and interview-event list operations, so the agent can report on scheduling progress but cannot create or cancel tasks, edit users, or change organization settings, and every call it makes is logged.

### What are the rate limits for the ModernLoop Platform API?

The OpenAPI spec does not specify rate limits. Check the ModernLoop developer documentation at https://api.modernloop.io for current limits; list operations are cursor-paginated with a limit parameter.

### How do I list upcoming interviews with ModernLoop through Jentic?

Search Jentic for the intent 'list scheduled interviews', which returns the ModernLoop interview-events operation on `/v1/interview-events` with its input schema; the agent filters by start_at_gte, start_at_lte, interviewer_ids, and statuses such as SCHEDULED. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a ModernLoop MCP server?

You don't need an MCP server to give your agent the ModernLoop API. Jentic connects it directly from the API Directory: import it, store your token once, and your agent calls the task, interview, and module operations. Operations are discovered on demand, so no extra tool definitions are loaded into the agent's context.
