Eclipse Foundation Ads API

The Ads API from Eclipse Foundation — 1 operation(s) for ads.

Operations 2

POST /api/ads Fetch random ads #
GET /api/ads List ads #

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-ads-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-ads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eclipse Newsroom REST Ads API
  version: '1.0'
  description: REST API for interacting with newsroom different endpoints.
servers:
- url: https://newsroom.eclipse.org
  description: The production API server
tags:
- name: Ads
paths:
  /api/ads:
    post:
      tags:
      - Ads
      summary: Fetch random ads
      description: Returns a list of randomly-selected ads based on requested formats and publish target, and records an impression for each returned ad (host, source, client IP).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdsRequest'
            example:
              host: www.eclipse.org
              source: /downloads/download.php
              publish_to: eclipse_org_downloads
              format:
                ads_square: 1
                ads_top_leaderboard: 1
                ads_leaderboard: 1
                ads_download: 1
      responses:
        '200':
          description: Successfully returned ads and recorded impressions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CreateAdsResponse'
              example:
              - id: '00001'
                campaign_name: '00001'
                url: https://newsroom.eclipse.org/ads/campaign
                image: https://newsroom.eclipse.org/images/ads/example-banner.jpg
                member_organization_id: ''
                type: internal
                format: ads_square
                weight: '100'
                groups: ''
                publish_to: eclipse_org_home
        '406':
          description: Invalid request or no ads could be retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAdsError'
              examples:
                missing_host:
                  summary: Missing host
                  value:
                    message: Invalid "host" value.
                    status: 406
                missing_source:
                  summary: Missing source
                  value:
                    message: Invalid "source" value.
                    status: 406
                missing_publish_to:
                  summary: Missing publish_to
                  value:
                    message: Invalid "publish_to" value.
                    status: 406
                missing_format:
                  summary: Missing format
                  value:
                    message: Invalid "format" value.
                    status: 406
                no_ads:
                  summary: No ads found
                  value:
                    message: Could not retrieve ads.
                    status: 406
      operationId: postApiAds
      x-operation-id-source: derived
    get:
      tags:
      - Ads
      summary: List ads
      description: Retrieve ads.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - name: p[publish_to]
        in: query
        description: Filter ads by publication channel.
        required: false
        schema:
          type: string
          enum:
          - eclipse_org_home
          - eclipse_org_downloads
        example: eclipse_org_home
      - name: p[format]
        in: query
        description: Filter ads by format.
        required: false
        schema:
          type: string
          enum:
          - ads_square
          - ads_top_leaderboard
          - ads_leaderboard
          - ads_download
        example: ads_top_leaderboard
      - name: p[campaign_name]
        in: query
        description: Filter ads by campaign name (nid).
        required: false
        schema:
          type: integer
          format: int32
        example: 1234
      - name: p[member_name]
        in: query
        description: Filter ads by member organization name.
        required: false
        schema:
          type: string
        example: IBM
      - name: p[type]
        in: query
        description: Filter ads by type.
        required: false
        schema:
          type: string
          enum:
          - strat_ad
          - paid
          - internal
          - newsletter
        example: internal
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                - ads
                - pager
                properties:
                  ads:
                    type: array
                    items:
                      $ref: '#/components/schemas/RetrieveAdsResponse'
                  pager:
                    $ref: '#/components/schemas/Pager'
              example:
                ads:
                - id: '1234'
                  campaign_name: Example Campaign
                  url: https://newsroom.eclipse.org/ads/campaign
                  image: https://newsroom.eclipse.org/images/ads/example-banner.jpg
                  member_organization_id: ''
                  type: internal
                  format: ads_top_leaderboard
                  weight: '100'
                  groups: ''
                  publish_to:
                  - eclipse_org_home
                pager:
                  current_page: 0
                  total_items: '29'
                  total_pages: 2
                  items_per_page: '20'
      operationId: getApiAds
      x-operation-id-source: derived
components:
  schemas:
    CreateAdsError:
      type: object
      properties:
        message:
          type: string
        status:
          type: integer
    RetrieveAdsResponse:
      type: object
      required:
      - campaign_name
      - url
      - image
      - format
      - type
      - weight
      properties:
        id:
          type: string
        campaign_name:
          type: string
        url:
          type: string
          format: uri
        image:
          type: string
          format: uri
        member_organization_id:
          type: string
        type:
          type: string
        format:
          type: string
        weight:
          type: string
        groups:
          type: string
        publish_to:
          type: array
          items:
            type: string
    CreateAdsResponse:
      type: object
      required:
      - id
      - campaign_name
      - url
      - image
      - format
      - type
      - weight
      - publish_to
      properties:
        id:
          type: string
        campaign_name:
          type: string
          description: In the current implementation this mirrors `id`.
        url:
          type: string
          format: uri
        image:
          type: string
          format: uri
        member_organization_id:
          type: string
        type:
          type: string
        format:
          type: string
        weight:
          type: string
        groups:
          type: string
        publish_to:
          type: string
    Pager:
      type: object
      required:
      - current_page
      - total_items
      - total_pages
      - items_per_page
      properties:
        current_page:
          type: integer
          format: int32
        total_items:
          type: string
        total_pages:
          type: integer
          format: int32
        items_per_page:
          type: string
    CreateAdsRequest:
      type: object
      additionalProperties: false
      required:
      - host
      - source
      - publish_to
      - format
      properties:
        host:
          type: string
        source:
          type: string
        publish_to:
          type: string
        format:
          type: object
          additionalProperties:
            type: integer
            minimum: 1
  parameters:
    PageSize:
      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
    Page:
      name: page
      in: query
      description: The number of the page.
      style: form
      explode: true
      schema:
        type: integer
        format: int32