Sonatype Nexus Repository Blob store API

The Blob store API from Sonatype Nexus Repository — 15 operation(s) for blob store.

Operations 20

DELETE /v1/blobstores/{name} Delete a blob store by name #
GET /v1/blobstores List the blob stores #
GET /v1/blobstores/{name}/quota-status Get quota status for a given blob store #
POST /v1/blobstores/file Create a file blob store #
GET /v1/blobstores/file/{name} Get a file blob store configuration by name #
PUT /v1/blobstores/file/{name} Update a file blob store configuration by name #
POST /v1/blobstores/s3 Create an S3 blob store #
GET /v1/blobstores/s3/{name} Get a S3 blob store configuration by name #
PUT /v1/blobstores/s3/{name} Update an S3 blob store configuration by name #
POST /v1/blobstores/azure Create an Azure blob store #
GET /v1/blobstores/azure/{name} Get an Azure blob store configuration by name #
PUT /v1/blobstores/azure/{name} Update an Azure blob store configuration by name #
POST /v1/blobstores/google Create a Google Cloud blob store #
GET /v1/blobstores/google/{name} Get the configuration for a Google Cloud blob store #
PUT /v1/blobstores/google/{name} Update a Google Cloud blob store #
GET /v1/blobstores/google/regions/{projectId} Get the project regions by project's id #
POST /v1/blobstores/group/convert/{name}/{newNameForOriginal} Convert a blob store to a group blob store #
POST /v1/blobstores/group Create a group blob store #
GET /v1/blobstores/group/{name} Get a group blob store configuration by name #
PUT /v1/blobstores/group/{name} Update a group blob store configuration by name #

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/nexus:nexus-blob-store-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

nexus-blob-store-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nexus Repository Manager REST Blob store API
  version: 3.97.2-02
servers:
- url: /service/rest
tags:
- name: Blob store
paths:
  /v1/blobstores/{name}:
    delete:
      tags:
      - Blob store
      summary: Delete a blob store by name
      operationId: deleteBlobstores
      parameters:
      - name: name
        in: path
        description: The name of the blob store to delete
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json: {}
  /v1/blobstores:
    get:
      tags:
      - Blob store
      summary: List the blob stores
      operationId: listBlobstores
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GenericBlobStoreApiResponse'
  /v1/blobstores/{name}/quota-status:
    get:
      tags:
      - Blob store
      summary: Get quota status for a given blob store
      operationId: getBlobstoresQuotaStatus
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlobStoreQuotaResultXO'
  /v1/blobstores/file:
    post:
      tags:
      - Blob store
      summary: Create a file blob store
      operationId: createBlobstoresFile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileBlobStoreApiCreateRequest'
      responses:
        '204':
          description: Success
        '403':
          description: Insufficient permissions
  /v1/blobstores/file/{name}:
    get:
      tags:
      - Blob store
      summary: Get a file blob store configuration by name
      operationId: getBlobstoresFile
      parameters:
      - name: name
        in: path
        description: The name of the file blob store to read
        required: true
        schema:
          type: string
        example: default
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileBlobStoreApiModel'
        '403':
          description: Insufficient permissions
        '404':
          description: Blob store not found
    put:
      tags:
      - Blob store
      summary: Update a file blob store configuration by name
      operationId: updateBlobstoresFile
      parameters:
      - name: name
        in: path
        description: The name of the file blob store to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileBlobStoreApiUpdateRequest'
      responses:
        '204':
          description: Success
        '403':
          description: Insufficient permissions
        '404':
          description: Blob store not found
  /v1/blobstores/s3:
    post:
      tags:
      - Blob store
      summary: Create an S3 blob store
      operationId: createBlobstoresS3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3BlobStoreApiModel'
      responses:
        '201':
          description: S3 blob store created
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
  /v1/blobstores/s3/{name}:
    get:
      tags:
      - Blob store
      summary: Get a S3 blob store configuration by name
      operationId: getBlobstoresS3
      parameters:
      - name: name
        in: path
        description: Name of the blob store configuration to fetch
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3BlobStoreApiModel'
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Specified S3 blob store doesn't exist
    put:
      tags:
      - Blob store
      summary: Update an S3 blob store configuration by name
      operationId: updateBlobstoresS3
      parameters:
      - name: name
        in: path
        description: Name of the blob store to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3BlobStoreApiModel'
      responses:
        '204':
          description: S3 blob store updated
        '400':
          description: Specified S3 blob store doesn't exist
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
  /v1/blobstores/azure:
    post:
      tags:
      - Blob store
      summary: Create an Azure blob store
      operationId: createBlobstoresAzure
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureBlobStoreApiModel'
      responses:
        '201':
          description: Azure blob store created
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
  /v1/blobstores/azure/{name}:
    get:
      tags:
      - Blob store
      summary: Get an Azure blob store configuration by name
      operationId: getBlobstoresAzure
      parameters:
      - name: name
        in: path
        description: Name of the blob store configuration to fetch
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureBlobStoreApiModel'
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Specified Azure blob store doesn't exist
    put:
      tags:
      - Blob store
      summary: Update an Azure blob store configuration by name
      operationId: updateBlobstoresAzure
      parameters:
      - name: name
        in: path
        description: Name of the blob store to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureBlobStoreApiModel'
      responses:
        '204':
          description: Azure blob store updated
        '400':
          description: Specified Azure blob store doesn't exist
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
  /v1/blobstores/google:
    post:
      tags:
      - Blob store
      summary: Create a Google Cloud blob store
      operationId: createBlobstoresGoogle
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleCloudBlobstoreApiModel'
      responses:
        '201':
          description: Google Cloud blob store created
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
  /v1/blobstores/google/{name}:
    get:
      tags:
      - Blob store
      summary: Get the configuration for a Google Cloud blob store
      operationId: getBlobstoresGoogle
      parameters:
      - name: name
        in: path
        description: the name of the blob store
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Google Cloud blob store configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleCloudBlobstoreApiModel'
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Repository not found
    put:
      tags:
      - Blob store
      summary: Update a Google Cloud blob store
      operationId: updateBlobstoresGoogle
      parameters:
      - name: name
        in: path
        description: the name of the blobstore
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleCloudBlobstoreApiModel'
      responses:
        '204':
          description: Google Cloud blob store updated
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Repository not found
  /v1/blobstores/google/regions/{projectId}:
    get:
      tags:
      - Blob store
      summary: Get the project regions by project's id
      operationId: getBlobstoresGoogleRegions
      parameters:
      - name: projectId
        in: path
        description: projectId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of regions found
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Project not found
  /v1/blobstores/group/convert/{name}/{newNameForOriginal}:
    post:
      tags:
      - Blob store
      summary: Convert a blob store to a group blob store
      operationId: createBlobstoresGroupConvert
      parameters:
      - name: name
        in: path
        description: The name of the group blob store
        required: true
        schema:
          type: string
      - name: newNameForOriginal
        in: path
        description: A new name to the original blob store
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBlobStoreApiModel'
        '403':
          description: Insufficient permissions
        '404':
          description: Blob store not found
  /v1/blobstores/group:
    post:
      tags:
      - Blob store
      summary: Create a group blob store
      operationId: createBlobstoresGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupBlobStoreApiCreateRequest'
      responses:
        '204':
          description: Success
        '403':
          description: Insufficient permissions
  /v1/blobstores/group/{name}:
    get:
      tags:
      - Blob store
      summary: Get a group blob store configuration by name
      operationId: getBlobstoresGroup
      parameters:
      - name: name
        in: path
        description: The name of the group blob store
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBlobStoreApiModel'
        '403':
          description: Insufficient permissions
        '404':
          description: Blob store not found
    put:
      tags:
      - Blob store
      summary: Update a group blob store configuration by name
      operationId: updateBlobstoresGroup
      parameters:
      - name: name
        in: path
        description: The name of the blob store to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupBlobStoreApiUpdateRequest'
      responses:
        '204':
          description: Success
        '403':
          description: Insufficient permissions
        '404':
          description: Blob store not found
components:
  schemas:
    GoogleCloudBlobStoreApiBucket:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          description: The name of the GC Storage bucket
        projectId:
          type: string
          description: GCP Project ID
          example: project_123
        region:
          type: string
          description: The GCP region to create a new GC Storage bucket in or an existing GC Storage bucket's region. Should be the same as Nexus deployment region.
          example: us-central1
        prefix:
          type: string
          description: The GC Storage blob store (i.e GC Storage object) key prefix
      description: Details of the GC Storage bucket such as name and region
    S3BlobStoreApiFailoverBucket:
      required:
      - bucketName
      - region
      type: object
      properties:
        region:
          type: string
          description: The region containing the bucket
        bucketName:
          type: string
          description: The name of the bucket in the region
      description: A list of secondary buckets which have bidirectional replication enabled and should be used when Nexus is running in the region
    GoogleCloudBlobstoreApiModel:
      required:
      - bucketConfiguration
      - name
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: The name of the GC Storage blob store.
          example: gc_storage
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        bucketConfiguration:
          $ref: '#/components/schemas/GoogleCloudBlobStoreApiBucketConfiguration'
        type:
          type: string
          description: The blob store type.
          example: Google Cloud Storage
    AzureBlobStoreApiModel:
      required:
      - bucketConfiguration
      - name
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: The name of the Azure blob store.
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        bucketConfiguration:
          $ref: '#/components/schemas/AzureBlobStoreApiBucketConfiguration'
    S3BlobStoreApiAdvancedBucketConnection:
      type: object
      properties:
        endpoint:
          type: string
          description: A custom endpoint URL for third party object stores using the S3 API.
        signerType:
          type: string
          description: An API signature version which may be required for third party object stores using the S3 API.
        forcePathStyle:
          type: boolean
          description: Setting this flag will result in path-style access being used for all requests.
        maxConnectionPoolSize:
          type: integer
          description: Setting this value will override the default connection pool size of Nexus of the s3 client for this blobstore.
          format: int32
      description: A custom endpoint URL, signer type and whether path style access is enabled
    AzureBlobStoreApiAuthentication:
      required:
      - authenticationMethod
      type: object
      properties:
        method:
          type: string
          writeOnly: true
        accountKey:
          type: string
          description: The account key.
        authenticationMethod:
          type: string
          description: The type of Azure authentication to use.
          enum:
          - ACCOUNTKEY
          - MANAGEDIDENTITY
          - ENVIRONMENTVARIABLE
      description: The Azure specific authentication details.
    FileBlobStoreApiCreateRequest:
      required:
      - name
      - path
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        path:
          minLength: 1
          type: string
          description: An absolute path or a path relative to <data-directory>/blobs
        name:
          minLength: 1
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    S3BlobStoreApiBucketConfiguration:
      required:
      - bucket
      type: object
      properties:
        bucket:
          $ref: '#/components/schemas/S3BlobStoreApiBucket'
        security:
          $ref: '#/components/schemas/S3BlobStoreApiBucketSecurity'
        encryption:
          $ref: '#/components/schemas/S3BlobStoreApiEncryption'
        advancedConnection:
          $ref: '#/components/schemas/S3BlobStoreApiAdvancedBucketConnection'
        failoverBuckets:
          type: array
          description: A list of secondary buckets which have bidirectional replication enabled and should be used when Nexus is running in the region
          items:
            $ref: '#/components/schemas/S3BlobStoreApiFailoverBucket'
        activeRegion:
          type: string
          description: The active region based on bucket configuration, failover buckets, and EC2 region Nexus is running.
          readOnly: true
        preSignedUrlEnabled:
          type: boolean
          description: Enables redirecting downloads to S3 pre-signed URLs. (Pro feature)
          example: true
        bucketSecurity:
          $ref: '#/components/schemas/S3BlobStoreApiBucketSecurity'
        advancedBucketConnection:
          $ref: '#/components/schemas/S3BlobStoreApiAdvancedBucketConnection'
      description: The S3 specific configuration details for the S3 object that'll contain the blob store.
    S3BlobStoreApiEncryption:
      type: object
      properties:
        encryptionType:
          type: string
          description: The type of S3 server side encryption to use.
        encryptionKey:
          type: string
          description: The encryption key.
      description: The type of encryption to use if any
    GroupBlobStoreApiModel:
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        members:
          type: array
          description: List of the names of blob stores that are members of this group
          items:
            type: string
            description: List of the names of blob stores that are members of this group
        fillPolicy:
          type: string
          enum:
          - roundRobin
          - writeToFirst
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    GenericBlobStoreApiResponse:
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        name:
          type: string
        type:
          type: string
        unavailable:
          type: boolean
        blobCount:
          type: integer
          format: int64
        totalSizeInBytes:
          type: integer
          format: int64
        availableSpaceInBytes:
          type: integer
          format: int64
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    GroupBlobStoreApiUpdateRequest:
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        members:
          type: array
          description: List of the names of blob stores that are members of this group
          items:
            type: string
            description: List of the names of blob stores that are members of this group
        fillPolicy:
          type: string
          enum:
          - roundRobin
          - writeToFirst
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    GroupBlobStoreApiCreateRequest:
      required:
      - name
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        members:
          type: array
          description: List of the names of blob stores that are members of this group
          items:
            type: string
            description: List of the names of blob stores that are members of this group
        fillPolicy:
          type: string
          enum:
          - roundRobin
          - writeToFirst
        name:
          minLength: 1
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    BlobStoreApiSoftQuota:
      required:
      - type
      type: object
      properties:
        type:
          minLength: 1
          type: string
          description: The type to use such as spaceRemainingQuota, or spaceUsedQuotaspaceUsedQuota
        limit:
          minimum: 0
          type: integer
          description: The limit in MB.
          format: int64
      description: Settings to control the soft quota
    AzureBlobStoreApiBucketConfiguration:
      required:
      - accountName
      - authentication
      - containerName
      type: object
      properties:
        accountName:
          type: string
          description: Account name found under Access keys for the storage account.
        containerName:
          pattern: ^[a-z0-9][a-z0-9-]{2,62}$
          type: string
          description: The name of an existing container to be used for storage.
        authentication:
          $ref: '#/components/schemas/AzureBlobStoreApiAuthentication'
        preSignedUrlEnabled:
          type: boolean
          description: Whether direct download via SAS URLs is enabled.
      description: The Azure specific configuration details for the Azure object that'll contain the blob store.
    GoogleCloudBlobStoreApiEncryption:
      type: object
      properties:
        encryptionType:
          type: string
          description: The type of GCP server side encryption to use.
          enum:
          - default
          - kmsManagedEncryption
        encryptionKey:
          type: string
          description: CryptoKey ID for KMS encryption.
      description: The type of encryption to use
    S3BlobStoreApiBucketSecurity:
      type: object
      properties:
        accessKeyId:
          type: string
          description: An IAM access key ID for granting access to the S3 bucket
        secretAccessKey:
          type: string
          description: The secret access key associated with the specified IAM access key ID
        role:
          type: string
          description: An IAM role to assume in order to access the S3 bucket
        sessionToken:
          type: string
          description: An AWS STS session token associated with temporary security credentials which grant access to the S3 bucket
      description: Security details for granting access the S3 API
    FileBlobStoreApiModel:
      required:
      - path
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        path:
          minLength: 1
          type: string
          description: An absolute path or a path relative to <data-directory>/blobs
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    FileBlobStoreApiUpdateRequest:
      required:
      - path
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        path:
          minLength: 1
          type: string
          description: An absolute path or a path relative to <data-directory>/blobs
        softQuotaAttributes:
          $ref: '#/components/schemas/BlobStoreConfiguration'
    S3BlobStoreApiBucket:
      required:
      - name
      - region
      type: object
      properties:
        region:
          type: string
          description: The AWS region to create a new S3 bucket in or an existing S3 bucket's region
          example: DEFAULT
        name:
          type: string
          description: The name of the S3 bucket
        prefix:
          type: string
          description: The S3 blob store (i.e S3 object) key prefix
      description: Details of the S3 bucket such as name and region
    S3BlobStoreApiModel:
      required:
      - bucketConfiguration
      - name
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: The name of the S3 blob store.
          example: s3
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        bucketConfiguration:
          $ref: '#/components/schemas/S3BlobStoreApiBucketConfiguration'
        type:
          type: string
          description: The blob store type.
          example: S3
    BlobStoreConfiguration:
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
        name:
          type: string
        type:
          type: string
        writable:
          type: boolean
    GoogleCloudBlobStoreApiBucketConfiguration:
      required:
      - bucket
      type: object
      properties:
        bucket:
          $ref: '#/components/schemas/GoogleCloudBlobStoreApiBucket'
        security:
          $ref: '#/components/schemas/GoogleCloudBlobStoreApiBucketAuthentication'
        encryption:
          $ref: '#/components/schemas/GoogleCloudBlobStoreApiEncryption'
        bucketSecurity:
          $ref: '#/components/schemas/GoogleCloudBlobStoreApiBucketAuthentication'
      description: The GC Storage specific configuration details for the GC Storage object that'll contain the blob store.
    GoogleCloudBlobStoreApiBucketAuthentication:
      required:
      - authenticationMethod
      type: object
      properties:
        method:
          type: string
          writeOnly: true
        accountKey:
          type: string
          description: The credentials JSON file.
        authenticationMethod:
          type: string
          description: The type of Google Cloud authentication to use.
          enum:
          - applicationDefault
          - accountKey
      description: Security details for granting access the GC Storage API
    BlobStoreQuotaResultXO:
      required:
      - blobStoreName
      - message
      type: object
      properties:
        isViolation:
          type: boolean
        message:
          minLength: 1
          type: string
        blobStoreName:
          minLength: 1
          type: string