Eclipse Foundation Contributions API

Definitions in relation to contributions tracked through ECA validation

Operations 1

GET /eca/contributions/{username}/latest-contribution Latest known contribution for a user #

Documentation

📖
Documentation
https://webdev.eclipse.org/docs/api/marketplace-rest-api
📖
Authentication
https://raw.githubusercontent.com/api-evangelist/eclipse/refs/heads/main/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-contributions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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-contributions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.0
  title: Eclipse Foundation Git ECA Contributions API
  description: Collection of API endpoints used in the validation and management of external Git services, such as Gitlab and Github.
  contact:
    name: IT support
    url: https://gitlab.eclipse.org/eclipsefdn/it/api/git-eca-rest-api/-/issues
  license:
    name: Eclipse Public License - 2.0
    url: https://www.eclipse.org/legal/epl-2.0/
servers:
- url: https://api.eclipse.org/git
  description: Production endpoint for the Git ECA validation API
tags:
- name: Contributions
  description: Definitions in relation to contributions tracked through ECA validation
paths:
  /eca/contributions/{username}/latest-contribution:
    parameters:
    - name: username
      in: path
      description: The Eclipse Foundation account username to retrieve the latest contribution for
      required: true
      schema:
        type: string
    get:
      operationId: getLatestContributionForUser
      tags:
      - Contributions
      summary: Latest known contribution for a user
      description: Returns the most recent contribution validated by the ECA for the given user, as determined by the validation creation date.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitValidationStatus'
        '404':
          description: Not Found - no user exists for the given username, the user is blocked, or the user has no tracked contributions
        '500':
          description: Error while retrieving data
components:
  schemas:
    NullableString:
      description: A nullable String type value
      type:
      - 'null'
      - string
    CommitValidationMessage:
      type: object
      additionalProperties: false
      required:
      - id
      - status_code
      - author_email
      properties:
        id:
          type: integer
          description: internal ID of the commit message for tracking
        status_code:
          type: integer
          description: error code associated with the commit
        eclipse_id:
          $ref: '#/components/schemas/NullableString'
          description: the Eclipse Foundation ID of the user
        author_email:
          type: string
          description: Email address of the author of the commit for additional information
        committer_email:
          type: string
          description: Email address of the committer of the commit for additional information
        provider_id:
          $ref: '#/components/schemas/NullableString'
          description: the outward facing URL of the repo the commit belongs to.
    DateTime:
      type: string
      format: date-time
      description: 'Date string in the RFC 3339 format. Example, `1990-12-31T15:59:60-08:00`.


        More on this standard can be read at https://tools.ietf.org/html/rfc3339.

        '
    CommitValidationStatus:
      type: object
      additionalProperties: false
      required:
      - id
      - commit_hash
      - project
      - repo_url
      - provider
      - creation_date
      - last_modified
      - errors
      properties:
        id:
          type: integer
          description: internal ID of the commit for tracking
        commit_hash:
          type: string
          description: the SHA of the commit that was validated
        user_mail:
          type:
          - string
          - 'null'
          description: the email of the user associated with the status
        estimated_loc:
          type: integer
          description: the estimated number of lines of code changed by commit if available.
        project:
          type: string
          description: The short project ID of the project that was detected for the commit, if it exists.
        repo_url:
          type: string
          description: the outward facing URL of the repo the commit belongs to.
        provider:
          type: string
          description: The provider for which the commit is being validated for
          enum:
          - github
          - gitlab
          - gerrit
        creation_date:
          $ref: '#/components/schemas/DateTime'
          description: Time that the commit was first attempted to be validated
        last_modified:
          $ref: '#/components/schemas/DateTime'
          description: The latest tracked time of validation.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommitValidationMessage'