openapi: 3.2.0 info: version: 1.0.0 title: Eclipse Foundation Downloads Releases API license: name: Eclipse Public License - 2.0 url: https://www.eclipse.org/legal/epl-2.0/ description: Definitions in relation to retrieval of mailing lists servers: - url: https://api.eclipse.org/download description: Production endpoint for the download information tags: - name: Releases description: Definitions in relation to retrieval of mailing lists paths: /release/{releaseType}: parameters: - name: releaseType in: path description: The type of release to retrieve required: true schema: type: string - name: release_name in: query description: The name of the release to retrieve required: true schema: type: string - name: release_version in: query description: The version of the release to retrieve schema: type: string get: tags: - Releases summary: Releases by release type description: Returns a list of releases, or a single release, applicable to the query parameters responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Release' '400': description: Bad Request - Invalid release type content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Error while retrieving data operationId: getReleaseByReleaseType x-operation-id-source: derived /releases/active: get: tags: - Releases summary: Active releases description: Returns a list of active releases responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Releases' '500': description: Error while retrieving data operationId: getReleasesActive x-operation-id-source: derived /releases/{releaseType}/{releaseName}: parameters: - name: releaseType in: path description: The type of release to retrieve required: true schema: type: string - name: releaseName in: path description: The name of the release to retrieve required: true schema: type: string get: tags: - Releases summary: Release Versions description: Returns a list of versions available for the given release responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Releases' '400': description: Bad Request - Invalid release type content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found - Release name not found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Error while retrieving data '503': description: Service unavailable content: application/json: schema: $ref: '#/components/schemas/Error' operationId: getReleasesByReleaseTypeByReleaseName x-operation-id-source: derived /releases/{releaseType}/{releaseName}/{releaseVersion}: parameters: - name: releaseType in: path description: The type of release to retrieve required: true schema: type: string - name: releaseName in: path description: The name of the release to retrieve required: true schema: type: string - name: releaseVersion in: path description: The version of the release to retrieve required: true schema: type: string get: tags: - Releases summary: Release Version description: Returns a given version for the named release responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Release' '400': description: Bad Request - Invalid release type content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found - Release name/version not found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Error while retrieving data '503': description: Service unavailable content: application/json: schema: $ref: '#/components/schemas/Error' operationId: getReleasesByReleaseTypeByReleaseNameByReleaseVersion x-operation-id-source: derived components: schemas: ReleaseFile: type: object additionalProperties: false required: - url - size - file_url - checksum properties: url: type: string description: The publicly available URL for the package size: type: string description: the size of the file in bytes file_id: $ref: '#/components/schemas/NullableString' description: The internal ID of the file file_url: type: string description: the public facing URL for the file (no mirror) download_count: type: - string - 'null' description: The number of times this file has been downloaded checksum: type: object additionalProperties: false properties: sha1: $ref: '#/components/schemas/NullableString' description: the sha1 checksum for the release file md5: $ref: '#/components/schemas/NullableString' description: the md5 checksum for the release file sha512: $ref: '#/components/schemas/NullableString' description: the sha512 checksum for the release file NullableString: description: A nullable String type value oneOf: - type: 'null' - type: string ReleaseFiles: type: object properties: '32': oneOf: - $ref: '#/components/schemas/ReleaseFile' - type: 'null' '64': oneOf: - $ref: '#/components/schemas/ReleaseFile' - type: 'null' Error: type: object additionalProperties: false required: - status_code - message properties: status_code: type: integer description: HTTP response code message: type: string description: Message containing error information url: type: - string - 'null' description: The URL friendly_message: type: - string - 'null' description: The optional client-friendly message for the error Releases: type: array items: $ref: '#/components/schemas/Release' ReleasePackage: type: object additionalProperties: false required: - name - package_bugzilla_id - download_count - website_url - incubating - class - body - features - files properties: name: type: string description: The name of the release package package_bugzilla_id: type: string description: Placeholder download_count: type: string description: Number of times this package has been downloaded website_url: type: string description: The public URL for the package that includes more information about the release. incubating: type: boolean description: placeholder class: type: string description: placeholder body: type: string description: Description of the release package features: type: array items: type: string files: type: - object - 'null' additionalProperties: false required: - mac - windows - linux properties: mac: anyOf: - type: 'null' - $ref: '#/components/schemas/ReleaseFiles' windows: anyOf: - type: 'null' - $ref: '#/components/schemas/ReleaseFiles' linux: anyOf: - type: 'null' - $ref: '#/components/schemas/ReleaseFiles' Release: type: object additionalProperties: false required: - release_name - release_version - packages properties: release_name: type: string description: The name of the release for the packages release_version: type: string description: The version of the release for the packages packages: type: object additionalProperties: $ref: '#/components/schemas/ReleasePackage'