Eclipse Foundation Organization Contacts API

Definitions related to Eclipse Foundation organization contacts

Operations 7

GET /organizations/{organizationID}/contacts Organization #
GET /organizations/{organizationID}/contacts/{contactID} Organization #
DELETE /organizations/{organizationID}/contacts/{contactID} Request Organization contact removal #
GET /organizations/{organizationID}/contacts/{contactID}/{relation} Organization #
POST /organizations/{organizationID}/contacts/{contactID}/{relation} Organization #
DELETE /organizations/{organizationID}/contacts/{contactID}/{relation} Organization #
GET /organizations/{organizationID}/representatives Organization #

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-organization-contacts-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-organization-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Membership portal Organization Contacts API
  description: API used for reading and updating information about member organizations and it's associated metadata.
  contact:
    name: Software Development Team
    url: https://gitlab.eclipse.org/eclipsefdn/software-dev
    email: software-dev@eclipse-foundation.org
  license:
    name: Eclipse Public License - 2.0
    url: https://www.eclipse.org/legal/epl-2.0/
servers:
- url: https://membership.eclipse.org/api
  description: Production endpoint for the membership portal data
tags:
- name: Organization Contacts
  description: Definitions related to Eclipse Foundation organization contacts
paths:
  /organizations/{organizationID}/contacts:
    parameters:
    - name: organizationID
      in: path
      description: The organization ID for the organization to retrieve
      required: true
      schema:
        type: number
    get:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Returns a list of contacts for the given organization with additional data such as name and email
      operationId: getOrganizationContacts
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnhancedPersons'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '500':
          description: Error while retrieving data
  /organizations/{organizationID}/contacts/{contactID}:
    parameters:
    - name: organizationID
      in: path
      description: The organization ID for the organization to retrieve
      required: true
      schema:
        type: number
    - name: contactID
      in: path
      description: The contact ID/username of the contact to retrieve
      required: true
      schema:
        type: string
    get:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Returns a list of contact relations for the given user in the passed organization
      operationId: getOrganizationContactRelations
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationContacts'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '500':
          description: Error while retrieving data
    delete:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Request Organization contact removal
      description: Fires a request for a organization contact to be removed.
      operationId: requestOrganizationContactRemoval
      requestBody:
        description: The working group to be updated or inserted into the data set.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactRemovalRequest'
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '500':
          description: Error while sending request
  /organizations/{organizationID}/contacts/{contactID}/{relation}:
    parameters:
    - name: organizationID
      in: path
      description: The organization ID for the organization to retrieve
      required: true
      schema:
        type: number
    - name: contactID
      in: path
      description: The contact ID/username of the contact to retrieve
      required: true
      schema:
        type: string
    - name: relation
      in: path
      description: The relation code of the relation type to retrieve/check for/update.
      required: true
      schema:
        type: string
    get:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Returns a contact relations for the given user and relation/position in the passed organization if it exists
      operationId: getOrganizationContactRelation
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationContact'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '500':
          description: Error while retrieving data
    post:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Updates an organization contact and returns the updated entity
      operationId: updateOrganizationContactRelation
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationContact'
        '400':
          description: Bad Request - Invalid relation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Error while retrieving data
    delete:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Removes a single organization contact relation. Works for all relations except EMPLY and CR, which must be done manually through the membership team.
      operationId: removeOrganizationContactRelation
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request - Invalid relation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Error while retrieving data
  /organizations/{organizationID}/representatives:
    parameters:
    - name: organizationID
      in: path
      description: The organization ID for the organization to retrieve
      required: true
      schema:
        type: number
    get:
      security:
      - openId: []
      tags:
      - Organization Contacts
      summary: Organization
      description: Returns a list of contacts with elevated roles for the given organization with their name.
      operationId: getOrganizationRepresentatives
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnhancedPersonData'
        '404':
          description: Not found
        '500':
          description: Error while retrieving data
components:
  schemas:
    OrganizationContact:
      type: object
      properties:
        organization_id:
          type: integer
          description: the target organization id
        person_id:
          $ref: '#/components/schemas/ObjectID'
        relation:
          type: string
          description: the relation of the contact to the organization
        comments:
          type: string
          description: System comments about the entry
        title:
          type:
          - string
          - 'null'
          description: Placeholder
    OrganizationContacts:
      type: array
      items:
        $ref: '#/components/schemas/OrganizationContact'
    ContactRemovalRequest:
      type: object
      properties:
        organization_id:
          type: integer
          description: the target organization to remove user from
        username:
          type: string
          description: the user that should be removed from the organization
        reason:
          type: string
          description: the reason the user should be removed from the organization
    EnhancedPersons:
      type: array
      items:
        $ref: '#/components/schemas/EnhancedPersonData'
    Error:
      type: object
      properties:
        status_code:
          type: integer
          description: HTTP response code
        message:
          type: string
          description: Message containing error information
        url:
          type:
          - string
          - 'null'
          description: The URL
    EnhancedPersonData:
      type: object
      required:
      - id
      - first_name
      - last_name
      - relations
      properties:
        id:
          type: string
          description: Description of the stored URL/product
        first_name:
          type: string
          description: First name of the user
        last_name:
          type: string
          description: Last name of the user
        email:
          oneOf:
          - type: string
          - type: 'null'
          description: Email of the user. Only included if the current user has elevated permissions for the current organization.
        relations:
          type: array
          description: list of relation codes that are active for the current user
          items:
            type: string
    ObjectID:
      description: Unique identifier for an addressable object in the API. Can be null when posting or updating objects in the API if part of the root element or is a new entity. Should always be set in responses.
      type:
      - string
      - 'null'
      minimum: 1
  securitySchemes:
    openId:
      type: openIdConnect
      openIdConnectUrl: https://auth.eclipse.org/auth/realms/foundation/.well-known/openid-configuration