Eclipse Foundation File Decision API

The file-decision-api API from Eclipse Foundation — 4 operation(s) for file-decision-api.

Operations 5

POST /admin/scans/files/decisions Create or update file decisions #
DELETE /admin/scans/files/decisions Remove file decisions #
GET /admin/scans/files Get files with admin decisions #
GET /admin/scans/files/{fileId} Get specific file decision #
GET /admin/scans/files/counts Get file decision counts #

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-file-decision-api-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-file-decision-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  termsOfService: https://www.eclipse.org/legal/termsofuse.php
  license:
    name: Eclipse Public License 2.0
    url: https://www.eclipse.org/legal/epl-2.0/
  version: '0.1'
  title: Eclipse File Decision API
servers:
- url: https://open-vsx.org
  description: Generated server url
tags:
- name: file-decision-api
paths:
  /admin/scans/files/decisions:
    post:
      tags:
      - file-decision-api
      summary: Create or update file decisions
      operationId: makeFileDecisions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileDecisionRequest'
        required: true
      responses:
        '200':
          description: Decisions processed successfully
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileDecisionResponse'
        '400':
          description: Invalid request
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '403':
          description: Administration role is required
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '429':
          description: A client has sent too many requests in a given amount of time
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            Retry-After:
              description: Number of seconds to wait after receiving a 429 response
              schema:
                format: int32
            X-RateLimit-Reset:
              description: Number of seconds until the rate limit tokens will be fully filled to its maximum
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
    delete:
      tags:
      - file-decision-api
      summary: Remove file decisions
      operationId: deleteFileDecisions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileDecisionDeleteRequest'
        required: true
      responses:
        '200':
          description: Deletions processed successfully
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileDecisionDeleteResponse'
        '400':
          description: Invalid request
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '403':
          description: Administration role is required
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '429':
          description: A client has sent too many requests in a given amount of time
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            Retry-After:
              description: Number of seconds to wait after receiving a 429 response
              schema:
                format: int32
            X-RateLimit-Reset:
              description: Number of seconds until the rate limit tokens will be fully filled to its maximum
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
  /admin/scans/files:
    get:
      tags:
      - file-decision-api
      summary: Get files with admin decisions
      operationId: getFiles
      parameters:
      - name: decision
        in: query
        description: Filter by admin decision type
        required: false
        schema:
          type: string
          enum:
          - allowed
          - blocked
      - name: publisher
        in: query
        description: Filter by publisher name
        required: false
        schema:
          type: string
      - name: namespace
        in: query
        description: Filter by namespace
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Filter by display name, extension name, or file name
        required: false
        schema:
          type: string
      - name: size
        in: query
        description: Maximum number of entries to return
        required: false
        schema:
          type: integer
          default: 18
          maximum: 100
          minimum: 0
      - name: offset
        in: query
        description: Number of entries to skip
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: sortBy
        in: query
        description: Field to sort by
        required: false
        schema:
          type: string
          default: dateDecided
          enum:
          - dateDecided
          - fileName
          - publisher
          - namespace
      - name: sortOrder
        in: query
        description: Sort order
        required: false
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      - name: dateDecidedFrom
        in: query
        description: Filter files decided on or after this date (ISO 8601 format)
        required: false
        schema:
          type: string
      - name: dateDecidedTo
        in: query
        description: Filter files decided on or before this date (ISO 8601 format)
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List of file decisions
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesResponse'
        '403':
          description: Administration role is required
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '429':
          description: A client has sent too many requests in a given amount of time
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            Retry-After:
              description: Number of seconds to wait after receiving a 429 response
              schema:
                format: int32
            X-RateLimit-Reset:
              description: Number of seconds until the rate limit tokens will be fully filled to its maximum
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
  /admin/scans/files/{fileId}:
    get:
      tags:
      - file-decision-api
      summary: Get specific file decision
      operationId: getFileDecision
      parameters:
      - name: fileId
        in: path
        description: File decision ID
        required: true
        schema:
          type: integer
          format: int64
        example: 123
      responses:
        '200':
          description: File decision details
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileDecision'
        '404':
          description: File decision not found
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '403':
          description: Administration role is required
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '429':
          description: A client has sent too many requests in a given amount of time
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            Retry-After:
              description: Number of seconds to wait after receiving a 429 response
              schema:
                format: int32
            X-RateLimit-Reset:
              description: Number of seconds until the rate limit tokens will be fully filled to its maximum
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
  /admin/scans/files/counts:
    get:
      tags:
      - file-decision-api
      summary: Get file decision counts
      operationId: getFileDecisionCounts
      parameters:
      - name: dateDecidedFrom
        in: query
        description: Filter files decided on or after this date (ISO 8601 format)
        required: false
        schema:
          type: string
      - name: dateDecidedTo
        in: query
        description: Filter files decided on or before this date (ISO 8601 format)
        required: false
        schema:
          type: string
      responses:
        '200':
          description: File decision counts
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileDecisionCounts'
        '403':
          description: Administration role is required
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
        '429':
          description: A client has sent too many requests in a given amount of time
          headers:
            X-RateLimit-Limit:
              description: Number of requests that can be made in a given amount of time
              schema:
                format: int32
            Retry-After:
              description: Number of seconds to wait after receiving a 429 response
              schema:
                format: int32
            X-RateLimit-Reset:
              description: Number of seconds until the rate limit tokens will be fully filled to its maximum
              schema:
                format: int32
            X-RateLimit-Remaining:
              description: Remaining number of requests left in the current time window
              schema:
                format: int32
components:
  schemas:
    FileDecisionDeleteResult:
      type: object
      description: Individual result for a file decision delete operation
      properties:
        fileId:
          type: integer
          format: int64
          description: The file ID that was processed
        success:
          type: boolean
          description: Whether the deletion was successful
        error:
          type: string
          description: Error message if the deletion failed
    FileDecisionDeleteRequest:
      type: object
      description: Request body for deleting file decisions
      properties:
        fileIds:
          type: array
          description: List of file IDs to delete
          items:
            type: integer
            format: int64
    FilesResponse:
      type: object
      description: Paginated list of file decisions
      properties:
        success:
          type: string
          description: Indicates success of the operation (omitted if a more specific result type is returned)
        warning:
          type: string
          description: Indicates a warning; when this is present, other properties can still be used
        error:
          type: string
          description: Indicates an error; when this is present, all other properties should be ignored
        offset:
          type: integer
          format: int32
          description: Number of skipped entries
          minimum: 0
        totalSize:
          type: integer
          format: int32
          description: Total number of files matching the query
          minimum: 0
        files:
          type: array
          description: List of file decisions
          items:
            $ref: '#/components/schemas/FileDecision'
      required:
      - files
      - offset
      - totalSize
    FileDecisionRequest:
      type: object
      description: Request body for creating/updating file decisions
      properties:
        fileHashes:
          type: array
          description: List of file hashes to apply the decision to
          items:
            type: string
        decision:
          type: string
          description: 'Decision to apply: ''allowed'' or ''blocked'''
    FileDecisionResult:
      type: object
      description: Individual result for a file decision create/update operation
      properties:
        fileHash:
          type: string
          description: The file hash that was processed
          example: a3f5c8e9d2b1f4a6
        success:
          type: boolean
          description: Whether the operation was successful
          example: true
        error:
          type: string
          description: Error message if the operation failed
          example: File hash not found
    FileDecision:
      type: object
      description: File allow/block list decision
      properties:
        success:
          type: string
          description: Indicates success of the operation (omitted if a more specific result type is returned)
        warning:
          type: string
          description: Indicates a warning; when this is present, other properties can still be used
        error:
          type: string
          description: Indicates an error; when this is present, all other properties should be ignored
        id:
          type: string
          description: Unique identifier for the file decision
        scanId:
          type: string
          description: ID of the scan that originally flagged this file
        fileName:
          type: string
          description: Path to the file within the extension
        fileHash:
          type: string
          description: SHA256 hash of the file
        fileType:
          type: string
          description: File extension/type
        decision:
          type: string
          description: The admin decision for this file
        decidedBy:
          type: string
          description: Email of the admin who made the decision
        dateDecided:
          type: string
          description: When the decision was made (UTC)
        displayName:
          type: string
          description: Human-readable name of the extension containing this file
        namespace:
          type: string
          description: Extension namespace
        extensionName:
          type: string
          description: Technical name of the extension
        publisher:
          type: string
          description: Publisher name
        version:
          type: string
          description: Extension version when decision was made
    FileDecisionCounts:
      type: object
      description: Counts of allowed and blocked files
      properties:
        success:
          type: string
          description: Indicates success of the operation (omitted if a more specific result type is returned)
        warning:
          type: string
          description: Indicates a warning; when this is present, other properties can still be used
        error:
          type: string
          description: Indicates an error; when this is present, all other properties should be ignored
        allowed:
          type: integer
          format: int32
          description: Total count of allowed files
        blocked:
          type: integer
          format: int32
          description: Total count of blocked files
        total:
          type: integer
          format: int32
          description: Total count of all files
    FileDecisionDeleteResponse:
      type: object
      description: Response for file decision delete operations
      properties:
        success:
          type: string
          description: Indicates success of the operation (omitted if a more specific result type is returned)
        warning:
          type: string
          description: Indicates a warning; when this is present, other properties can still be used
        error:
          type: string
          description: Indicates an error; when this is present, all other properties should be ignored
        processed:
          type: integer
          format: int32
          description: Total number of file IDs processed
        successful:
          type: integer
          format: int32
          description: Number of deletions completed successfully
        failed:
          type: integer
          format: int32
          description: Number of deletions that failed
        results:
          type: array
          description: Detailed results for each file ID
          items:
            $ref: '#/components/schemas/FileDecisionDeleteResult'
    FileDecisionResponse:
      type: object
      description: Response for file decision create/update operations
      properties:
        success:
          type: string
          description: Indicates success of the operation (omitted if a more specific result type is returned)
        warning:
          type: string
          description: Indicates a warning; when this is present, other properties can still be used
        error:
          type: string
          description: Indicates an error; when this is present, all other properties should be ignored
        processed:
          type: integer
          format: int32
          description: Total number of file hashes processed
          example: 5
        successful:
          type: integer
          format: int32
          description: Number of decisions applied successfully
          example: 4
        failed:
          type: integer
          format: int32
          description: Number of decisions that failed
          example: 1
        results:
          type: array
          description: Detailed results for each file hash
          items:
            $ref: '#/components/schemas/FileDecisionResult'