NugetProxyApiRepository

Artifact ManagementDevOpsDockerMavennpmPackage ManagementRepository ManagerSoftware Supply ChainRepositoryDeveloper ToolsArtifact RepositoryHelmNuGetOCIPyPISonatype

Properties

Name Type Description
name string A unique identifier for this repository
url string URL to the repository
online boolean Whether this repository accepts incoming requests
storage object
cleanup object
proxy object
negativeCache object
httpClient object
routingRuleName string The name of the routing rule assigned to this repository
nugetProxy object
replication object
format string Component format held in this repository
type string Controls if deployments of and updates to artifacts are allowed
firewall object
View JSON Schema on GitHub

JSON Schema

nexus-nuget-proxy-api-repository-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/nexus/json-schema/nexus-nuget-proxy-api-repository-schema.json",
  "title": "NugetProxyApiRepository",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nexus-repository-management-api-openapi.yml#/components/schemas/NugetProxyApiRepository",
  "required": [
    "format",
    "httpClient",
    "name",
    "negativeCache",
    "nugetProxy",
    "online",
    "proxy",
    "storage",
    "type"
  ],
  "type": "object",
  "properties": {
    "name": {
      "minLength": 1,
      "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$",
      "type": "string",
      "description": "A unique identifier for this repository"
    },
    "url": {
      "type": "string",
      "description": "URL to the repository"
    },
    "online": {
      "type": "boolean",
      "description": "Whether this repository accepts incoming requests"
    },
    "storage": {
      "$ref": "#/$defs/StorageAttributes"
    },
    "cleanup": {
      "$ref": "#/$defs/CleanupPolicyAttributes"
    },
    "proxy": {
      "$ref": "#/$defs/ProxyAttributes"
    },
    "negativeCache": {
      "$ref": "#/$defs/NegativeCacheAttributes"
    },
    "httpClient": {
      "$ref": "#/$defs/HttpClientAttributes"
    },
    "routingRuleName": {
      "type": "string",
      "description": "The name of the routing rule assigned to this repository"
    },
    "nugetProxy": {
      "$ref": "#/$defs/NugetAttributes"
    },
    "replication": {
      "$ref": "#/$defs/ReplicationAttributes"
    },
    "format": {
      "minLength": 1,
      "type": "string",
      "description": "Component format held in this repository"
    },
    "type": {
      "minLength": 1,
      "type": "string",
      "description": "Controls if deployments of and updates to artifacts are allowed"
    },
    "firewall": {
      "$ref": "#/$defs/FirewallAttributes"
    }
  },
  "$defs": {
    "CleanupPolicyAttributes": {
      "type": "object",
      "properties": {
        "policyNames": {
          "type": "array",
          "description": "Components that match any of the applied policies will be deleted",
          "items": {
            "type": "string",
            "description": "Components that match any of the applied policies will be deleted"
          }
        }
      }
    },
    "FirewallAttributes": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Firewall mode (DISABLED, AUDIT, QUARANTINE, or PCCS)",
          "enum": [
            "DISABLED",
            "AUDIT",
            "QUARANTINE",
            "PCCS"
          ]
        }
      }
    },
    "HttpClientAttributes": {
      "type": "object",
      "properties": {
        "blocked": {
          "type": "boolean",
          "description": "Whether to block outbound connections on the repository"
        },
        "autoBlock": {
          "type": "boolean",
          "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
        },
        "connection": {
          "$ref": "#/$defs/HttpClientConnectionAttributes"
        },
        "authentication": {
          "$ref": "#/$defs/HttpClientConnectionAuthenticationAttributes"
        }
      }
    },
    "HttpClientConnectionAttributes": {
      "type": "object",
      "properties": {
        "retries": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer",
          "description": "Total retries if the initial connection attempt suffers a timeout",
          "format": "int32"
        },
        "userAgentSuffix": {
          "type": "string",
          "description": "Custom fragment to append to User-Agent header in HTTP requests"
        },
        "timeout": {
          "maximum": 3600,
          "minimum": 1,
          "type": "integer",
          "description": "Seconds to wait for activity before stopping and retrying the connection",
          "format": "int32"
        },
        "enableCircularRedirects": {
          "type": "boolean",
          "description": "Whether to enable redirects to the same location (may be required by some servers)"
        },
        "enableCookies": {
          "type": "boolean",
          "description": "Whether to allow cookies to be stored and used"
        },
        "useTrustStore": {
          "type": "boolean",
          "description": "Use certificates stored in the Nexus Repository Manager truststore to connect to external systems"
        }
      }
    },
    "HttpClientConnectionAuthenticationAttributes": {
      "required": [
        "type"
      ],
      "type": "object",
      "properties": {
        "type": {
          "minLength": 1,
          "type": "string",
          "description": "Authentication type"
        },
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string",
          "writeOnly": true
        },
        "ntlmHost": {
          "type": "string"
        },
        "ntlmDomain": {
          "type": "string"
        },
        "bearerToken": {
          "type": "string",
          "writeOnly": true
        }
      }
    },
    "NegativeCacheAttributes": {
      "required": [
        "enabled",
        "timeToLive"
      ],
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether to cache responses for content not present in the proxied repository"
        },
        "timeToLive": {
          "type": "integer",
          "description": "How long to cache the fact that a file was not found in the repository (in minutes)",
          "format": "int32"
        }
      }
    },
    "NugetAttributes": {
      "type": "object",
      "properties": {
        "queryCacheItemMaxAge": {
          "type": "integer",
          "description": "How long to cache query results from the proxied repository (in seconds)",
          "format": "int32"
        },
        "nugetVersion": {
          "type": "string",
          "description": "Nuget protocol version",
          "enum": [
            "V2",
            "V3"
          ]
        },
        "symbolServerUrl": {
          "maxLength": 2048,
          "minLength": 0,
          "type": "string",
          "description": "Optional upstream symbol server URL for proxy repositories"
        },
        "allowAnonymousSymbolAccess": {
          "type": "boolean",
          "description": "Allow unauthenticated access to the symbol server (required for debugger integration)"
        }
      }
    },
    "ProxyAttributes": {
      "required": [
        "contentMaxAge",
        "metadataMaxAge",
        "remoteUrl"
      ],
      "type": "object",
      "properties": {
        "remoteUrl": {
          "minLength": 1,
          "type": "string",
          "description": "Location of the remote repository being proxied"
        },
        "contentMaxAge": {
          "type": "integer",
          "description": "How long to cache artifacts before rechecking the remote repository (in minutes)",
          "format": "int32"
        },
        "metadataMaxAge": {
          "type": "integer",
          "description": "How long to cache metadata before rechecking the remote repository (in minutes)",
          "format": "int32"
        },
        "preserveEncodedCharacters": {
          "type": "boolean",
          "description": "When true, preserves encoded characters like %2B (plus), %23 (hash), and %20 (space) in their encoded form when proxying to the remote repository. Enable this when proxying to AWS S3, Cloudflare CDN, or Azure Blob Storage, which require encoded characters to remain encoded. When false (default), uses standard encoding that preserves literal + characters (works for crates.io and most remotes). SECURITY NOTE: Only enable this for trusted remote repositories. Path traversal sequences (..) in redirects are automatically normalized."
        }
      }
    },
    "ReplicationAttributes": {
      "required": [
        "preemptivePullEnabled"
      ],
      "type": "object",
      "properties": {
        "preemptivePullEnabled": {
          "type": "boolean",
          "description": "Whether pre-emptive pull is enabled"
        },
        "assetPathRegex": {
          "type": "string",
          "description": "Regular Expression of Asset Paths to pull pre-emptively pull"
        }
      }
    },
    "StorageAttributes": {
      "required": [
        "blobStoreName",
        "strictContentTypeValidation"
      ],
      "type": "object",
      "properties": {
        "blobStoreName": {
          "type": "string",
          "description": "Blob store used to store repository contents"
        },
        "strictContentTypeValidation": {
          "type": "boolean",
          "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/nexus-nuget-proxy-api-repository"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.