canonical: https://jentic.com/apis/24pullrequests.com/24pullrequests

# 24 Pull Requests API

Jentic publishes the only available OpenAPI specification for 24 Pull Requests API, keeping it validated and agent-ready. 24 Pull Requests is a community programme that runs each December to encourage developers to contribute 24 open source pull requests. The public read-only API exposes suggested projects, contribution history, participating users, and partnered organisations behind the campaign. Agents can use it to surface beginner-friendly open source projects, track community contribution leaderboards, and pull aggregate metadata about the year's pull request activity.

## For AI agents

Read-only access to suggested open source projects, pull request contributions, contributors, and partner organisations from the 24 Pull Requests campaign. Useful for agents recommending OSS projects to contribute to or summarising community activity.

## Scope

Does not create pull requests, manage GitHub repositories, or authenticate users - use for reading the 24 Pull Requests campaign's public projects, contributions, users, and organisations only.

## Capabilities

- List suggested open source projects with main language and GitHub repository link
- Retrieve all submitted pull request contributions ordered by recency
- Look up a participant's profile and contribution history by GitHub nickname
- Fetch aggregate pull request metadata such as total contribution count and pagination size
- Browse partner organisations and the contributors associated with each
- Surface beginner-friendly projects to recommend during the December campaign

## Use cases

### Recommend Open Source Projects to Contribute To

Help developers find beginner-friendly open source projects to contribute to during the December 24 Pull Requests campaign. The /projects.json endpoint returns curated project suggestions with their primary language and GitHub URL, so an agent can filter by language or topic and surface a shortlist a developer can act on the same day.

Example prompt: Call /projects.json, filter the result for projects where main_language is Python, and return the top 5 with their GitHub URLs

### Track Community Contribution Activity

Build a dashboard or weekly digest of pull request activity across the 24 Pull Requests community. The /pull_requests.json feed returns contributions newest first, while /pull_requests/meta.json provides totals and pagination info, making it straightforward to compute weekly trend lines or highlight top contributors.

Example prompt: Fetch /pull_requests/meta.json to get the total contribution count, then page through /pull_requests.json to compile a weekly summary of new pull requests

### Look Up a Contributor's Profile

Surface a participant's GitHub nickname, gravatar, contribution count, and the organisations they belong to in the 24 Pull Requests programme. The /users/{nickname}.json endpoint returns a single profile with their pull request history, useful for community shout-outs or for an agent answering questions about a specific contributor.

Example prompt: Call /users/octocat.json and return the user's contributions_count along with the titles of their five most recent pull requests

### Discover Partner Organisations

Browse organisations partnered with 24 Pull Requests and the participants associated with each. Use /organisations.json for the full list and /organisations/{name}.json for the members, useful for sponsorship reporting or to recommend organisations a developer's company is affiliated with.

Example prompt: Fetch /organisations.json, pick a named organisation, then call /organisations/{name}.json to list its participating users

### AI Agent Open Source Recommendation Workflow

Wire the 24 Pull Requests API into an AI agent that helps users contribute to open source. Through Jentic, an agent can search for the relevant operation by intent, load its schema, and execute the call without writing custom HTTP code. This pairs well with the GitHub API to follow up by opening issues or pull requests on the suggested projects.

Example prompt: Use Jentic to search for 'list suggested open source projects', load listProjects, execute it, then hand the top result to the GitHub API to open a draft pull request

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /projects.json | List suggested open source projects |
| GET | /pull_requests.json | List submitted pull request contributions |
| GET | /pull_requests/meta.json | Get total contribution count and pagination |
| GET | /users.json | List users sorted by contribution count |
| GET | /users/{nickname}.json | Get a user profile by GitHub nickname |
| GET | /organisations.json | List partner organisations |
| GET | /organisations/{name}.json | Get an organisation by name |

## Key resources

- **Projects** — Suggested open source projects with main language and GitHub URL
- **PullRequests** — Contributions submitted to the campaign plus aggregate metadata
- **Users** — Participant profiles indexed by GitHub nickname with contribution history
- **Organisations** — Partner organisations and their associated participants

## Why Jentic

- **Setup:** Wiring the 24 Pull Requests API by hand means building your own HTTP client and handling retries against its public JSON endpoints, since it ships no auth. Through Jentic you install once, import the 24 Pull Requests API from the API Directory, and your agent calls it with no credential to manage.
- **Permission scoping:** This API is read-only and selects users and organisations by a name in the URL path (/users/{nickname}.json), so a rule can pin your agent to reading one user or organisation. You choose the operations it may call, so the agent only runs the read calls you pick.
- **Credential handling:** The 24 Pull Requests API needs no credential, so there is nothing to store, and your own Jentic One instance still keeps request handling out of the agent's prompt, logs, and context.
- **Discovery method:** Agents search Jentic by intent such as 'list suggested open source projects' or 'get a contributor's pull requests', and Jentic returns the matching 24 Pull Requests operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **GitHub REST API** — GitHub's REST API for actually opening pull requests on the projects 24 Pull Requests recommends.
- **GitLab API** — GitLab's API for managing merge requests on projects hosted outside GitHub.
- **GitHub Enterprise Cloud API** — Enterprise-flavoured GitHub API with audit log and SAML features for org-wide contribution tracking.

## FAQ

### Why is there no official OpenAPI spec for 24 Pull Requests API?

24 Pull Requests does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call 24 Pull Requests API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the 24 Pull Requests API use?

The 24 Pull Requests API is an open, read-only public API and the OpenAPI spec defines no security schemes - calls to endpoints like /projects.json and /pull_requests.json work without an API key or token. When you call it through Jentic, the request is brokered by Jentic's your Jentic One instance so your agent never needs to handle credentials directly even if the upstream service later adds auth.

### Can I list suggested open source projects with the 24 Pull Requests API?

Yes. The GET /projects.json endpoint returns a paginated array of suggested projects, each with a name, description, github_url, and main_language. Use the page query parameter to walk through subsequent pages. This is the primary endpoint for agents that recommend beginner-friendly OSS projects to contribute to.

### How do I retrieve a specific contributor's pull request history?

Call GET /users/{nickname}.json with the contributor's GitHub nickname in the path. The response includes their gravatar_id, contributions_count, the organisations they belong to, and an array of their pull_requests with titles, repo names, and timestamps. To list participants ranked by contributions first, call GET /users.json.

### What are the rate limits for the 24 Pull Requests API?

The OpenAPI spec does not declare rate limits, and 24 Pull Requests does not publish a formal limit policy. Treat it as a small community service: cache responses, paginate with the page parameter rather than hammering endpoints in tight loops, and back off on any 429 or 5xx response. Through Jentic, you get the same execution surface plus retry handling on transient errors.

### How do I get pull request contributions through Jentic?

Install the SDK with pip install jentic, then search for the operation with the natural-language query 'list 24 pull requests contributions'. Jentic returns the listPullRequests operation, you load its schema, and execute it - no manual HTTP wiring against /pull_requests.json. Run it through Jentic One, the self-hosted execution layer to get an ak_ API key.

### Is the 24 Pull Requests API free?

Yes. 24 Pull Requests is a community-run programme and the public API is free to use. There are no published paid tiers. Be courteous with request volume since it is a volunteer project.

### Can I limit what my agent is allowed to do with the 24 Pull Requests API?

Yes. Because you run Jentic One yourself, your own rules decide which of the seven read-only operations the agent may call, so you can allow it to list suggested projects with /projects.json while blocking everything else. Since the API selects a person or organisation by a name in the URL path, such as /users/{nickname}.json or /organisations/{name}.json, you can pin the agent to reading a single contributor or organisation. This API creates nothing and needs no credential, so scoping is about which read calls and which path targets you permit.
