Maven Search API

The Search API from Maven — 1 operation(s) for search.

OpenAPI Specification

maven-search-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Sonatype Central Portal Publishing Deployment Search API
  summary: Publish artifacts to Maven Central via the Sonatype Central Portal.
  description: REST API for uploading, validating, publishing, and dropping deployment bundles on the Sonatype Central Portal. Replaces the legacy OSSRH staging workflow for releasing open source libraries to Maven Central.
  version: '1.0'
  contact:
    name: Sonatype Central
    url: https://central.sonatype.org/publish/publish-portal-api/
  license:
    name: Documentation Terms
    url: https://central.sonatype.org/publish/terms/
servers:
- url: https://central.sonatype.com/api/v1/publisher
  description: Sonatype Central Portal publisher API
security:
- BearerAuth: []
tags:
- name: Search
paths:
  /select:
    get:
      summary: Search Maven Central
      description: Execute a Solr query against Maven Central. Use the `q` parameter with Solr field syntax to filter by groupId (`g:`), artifactId (`a:`), version (`v:`), classname (`c:`), fully-qualified classname (`fc:`), SHA-1 checksum (`1:`), or tags (`tags:`).
      operationId: searchArtifacts
      tags:
      - Search
      parameters:
      - name: q
        in: query
        required: true
        description: Solr query string.
        schema:
          type: string
        example: g:com.google.inject+AND+a:guice
      - name: rows
        in: query
        required: false
        description: Maximum number of results to return.
        schema:
          type: integer
          default: 20
      - name: start
        in: query
        required: false
        description: Result offset for pagination.
        schema:
          type: integer
          default: 0
      - name: wt
        in: query
        required: false
        description: Response format.
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - name: core
        in: query
        required: false
        description: Specific Solr core to search (for example, `gav` to list versions).
        schema:
          type: string
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
components:
  schemas:
    ArtifactDoc:
      type: object
      properties:
        id:
          type: string
        g:
          type: string
          description: groupId
        a:
          type: string
          description: artifactId
        v:
          type: string
          description: version
        latestVersion:
          type: string
        repositoryId:
          type: string
        p:
          type: string
          description: packaging
        timestamp:
          type: integer
          format: int64
        versionCount:
          type: integer
        ec:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
    SearchResponse:
      type: object
      properties:
        responseHeader:
          type: object
          properties:
            status:
              type: integer
            QTime:
              type: integer
            params:
              type: object
              additionalProperties:
                type: string
        response:
          type: object
          properties:
            numFound:
              type: integer
            start:
              type: integer
            docs:
              type: array
              items:
                $ref: '#/components/schemas/ArtifactDoc'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Authorization header `Bearer <base64(username:password)>` using a user token generated from the Central Portal account settings.