Eclipse Foundation Interest Groups API

Eclipse Interest Groups (IGs) facilitated by the Eclipse Foundation.

Operations 2

GET /api/interest-groups Fetch Interest Groups #
GET /api/interest-groups/{nid} Retrieve an Interest Group #

Documentation

📖
Documentation
https://webdev.eclipse.org/docs/api/marketplace-rest-api
📖
Authentication
https://artifacts.apis.io/eclipse/authentication/eclipse-authentication.yml
📖
Documentation
https://webdev.eclipse.org/docs/api/
📖
APIReference
https://webdev.eclipse.org/docs/api/additional-api-docs
📖
Documentation
https://www.eclipse.org/projects/handbook/
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipse-projects-api
📖
Documentation
https://github.com/eclipse/openvsx/wiki/Publishing-Extensions
📖
APIReference
https://open-vsx.org/swagger-ui/index.html
📖
APIReference
https://webdev.eclipse.org/docs/api/newsroom-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-downloads-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-downloads-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-geoip-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-geoip-api
📖
APIReference
https://webdev.eclipse.org/docs/api/git-eca-rest-api
📖
Documentation
https://webdev.eclipse.org/docs/api/git-eca-rest-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-info-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-info-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-committer-paperwork-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-committer-paperwork-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-hellosign-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-hellosign-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-membership-portal-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-membership-portal-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipsefdn-membership-application-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipsefdn-membership-application-api
📖
APIReference
https://webdev.eclipse.org/docs/api/eclipse-openvsx-api
📖
Documentation
https://webdev.eclipse.org/docs/api/eclipse-openvsx-api

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eclipse:eclipse-interest-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eclipse-interest-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eclipse Project Management Infrastructure (PMI) RESTful…
  description: 'This describes the resources that make up the Eclipse Project Management Infrastructure (PMI) REST API.

    You can contribute to this document via our git repository.

    If you have any problems or requests please submit an issue.


    ### Rate Limit

    This API currently limits users to 1000 authenticated requests and 1000 anonymous requests an hour.

    ### Pagination

    Information about pagination is provided in the Link header of an API call. For example, let''s make a curl request to the eclipse_profile API, to find out how many org_eclipse_oomph records exist for the user:

    ```

    curl -I \"https://projects.eclipse.org/api/projects?page=1&pagesize=20\"

    ```

    The -I parameter indicates that we only care about the headers, not the content. In examining the result, you''ll notice some information in the Link header that looks like this:

    ```

    ; rel="next",

    ; rel="last",

    ; rel="first",

    ; rel="self"

    ```

    Let''s break that down. rel=\"next\" says that the next page is page=2. This makes sense, since by default, all paginated queries start at page 1. rel=\"last\" provides some more information, stating that the last page of results is on page 27.

    Keep in mind that you should always rely on these link relations provided to you. Don''t try to guess or construct your own URL.


    ### Error States

    The common HTTP Response Status Codes are used.'
  contact: {}
  version: '1.0'
servers:
- url: https://projects.eclipse.org
  description: The production API server
tags:
- name: Interest Groups
  description: Eclipse Interest Groups (IGs) facilitated by the Eclipse Foundation.
paths:
  /api/interest-groups:
    get:
      tags:
      - Interest Groups
      summary: Fetch Interest Groups
      description: '### Overview


        Retrieve a paginated list of Eclipse Interest Groups.'
      operationId: FetchInterestGroups
      parameters:
      - name: project_id
        in: query
        description: Filter interest groups by their Foundation DB project ID (the `field_ig_foundationdb_id` field value).
        style: form
        explode: true
        schema:
          type: string
      - name: page
        in: query
        description: The index of the page to retrieve, defaults to 1.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 1
          minimum: 1
      - name: pagesize
        in: query
        description: The number of records to get per page, defaults to 20. Maximum value is 100.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 20
          minimum: 1
          maximum: 100
      - name: order_by
        in: query
        description: 'The order in which results are returned. Defaults to `ASC`. Accepted values: `ASC`, `DESC`.'
        style: form
        explode: true
        schema:
          type: string
          default: ASC
      responses:
        '200':
          description: Array of interest groups matching the query.
          headers:
            Link:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InterestGroup'
              example:
              - id: 1001
                title: Some Interest Group
                description:
                  summary: Short description.
                  full: <p>Full description.</p>
                logo: ''
                scope:
                  summary: ''
                  full: ''
                leads: []
                participants: []
                project_id: foundation-internal.ig.some-group
                short_project_id: some-group
                state: active
                gitlab:
                  project_group: eclipse-ig/some-group
                  ignored_sub_groups: []
                resources:
                  website: ''
                  members: ''
                mailing_list: ''
  /api/interest-groups/{nid}:
    get:
      tags:
      - Interest Groups
      summary: Retrieve an Interest Group
      description: '### Overview


        Retrieve a single Eclipse Interest Group by its Drupal node ID.'
      operationId: RetrieveAnInterestGroup
      parameters:
      - name: nid
        in: path
        description: The Drupal node ID of the interest group.
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The matching interest group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterestGroup'
              example:
                id: 1001
                title: Some Interest Group
                description:
                  summary: Short description.
                  full: <p>Full description.</p>
                logo: ''
                scope:
                  summary: ''
                  full: ''
                leads: []
                participants: []
                project_id: foundation-internal.ig.some-group
                short_project_id: some-group
                state: active
                gitlab:
                  project_group: eclipse-ig/some-group
                  ignored_sub_groups: []
                resources:
                  website: ''
                  members: ''
                mailing_list: ''
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    InterestGroupUser:
      title: InterestGroupUser
      type: object
      description: A user associated with an interest group.
      properties:
        username:
          type: string
        full_name:
          type: string
        url:
          type: string
          description: Absolute URL to the person's profile on api.eclipse.org.
        organization:
          type: object
          description: TODO - structure depends on FoundationDB organisation data; treat as opaque object.
      example:
        username: aigmember
        full_name: An IG Member
        url: https://api.eclipse.org/account/profile/aigmember
        organization: {}
    InterestGroupResources:
      title: InterestGroupResources
      type: object
      properties:
        website:
          type: string
          description: URL to the interest group's website, or empty string.
        members:
          type: string
          description: URL to the interest group's members page, or empty string.
      example:
        website: ''
        members: ''
    InterestGroupGitlabInfo:
      title: InterestGroupGitlabInfo
      type: object
      description: GitLab group information derived from the interest group's Foundation DB project ID.
      properties:
        project_group:
          type: string
          description: GitLab project group namespace (e.g. `eclipse-ig/some-group`).
        ignored_sub_groups:
          type: array
          items:
            type: string
          description: Currently always empty for interest groups.
      example:
        project_group: eclipse-ig/some-group
        ignored_sub_groups: []
    InterestGroup:
      title: InterestGroup
      type: object
      properties:
        id:
          type: integer
          description: Drupal node ID.
        title:
          type: string
          description: Interest group title.
        description:
          $ref: '#/components/schemas/TextContent'
        logo:
          type: string
          description: Absolute URL to the interest group logo image, or empty string.
        scope:
          $ref: '#/components/schemas/TextContent'
        leads:
          type: array
          items:
            $ref: '#/components/schemas/InterestGroupUser'
          description: Interest Group Leads (IGLs).
        participants:
          type: array
          items:
            $ref: '#/components/schemas/InterestGroupUser'
          description: Interest Group Participants (IGPs).
        project_id:
          type: string
          description: Foundation DB project ID for this interest group (e.g. `foundation-internal.ig.some-group`).
        short_project_id:
          type: string
          description: Last segment of the project ID with the `foundation-internal.ig.` prefix removed.
        state:
          type: string
          description: Interest group lifecycle state.
        gitlab:
          $ref: '#/components/schemas/InterestGroupGitlabInfo'
        resources:
          $ref: '#/components/schemas/InterestGroupResources'
        mailing_list:
          type: string
          description: Mailing list e-mail address from `field_ig_mailing_list`, or empty string.
      example:
        id: 1001
        title: Some Interest Group
        description:
          summary: Short description.
          full: <p>Full description.</p>
        logo: ''
        scope:
          summary: ''
          full: ''
        leads: []
        participants: []
        project_id: foundation-internal.ig.some-group
        short_project_id: some-group
        state: active
        gitlab:
          project_group: eclipse-ig/some-group
          ignored_sub_groups: []
        resources:
          website: ''
          members: ''
        mailing_list: ''
    TextContent:
      title: TextContent
      type: object
      description: A long-text field with a plain-text summary and an HTML-rendered full version.
      properties:
        summary:
          type: string
          description: Plain-text summary (may be empty).
        full:
          type: string
          description: Full content rendered as HTML.
      example:
        summary: Short summary.
        full: <p>Full HTML content.</p>
  responses:
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string