Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions schemas/v2.3.3/apicenterminimalpermissionsplugin.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Dev Proxy ApiCenterMinimalPermissionsPlugin config schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "The JSON schema reference for validation."
},
"resourceGroupName": {
"type": "string",
"description": "Name of the resource group where the Azure API Center is located."
},
"serviceName": {
"type": "string",
"description": "Name of the Azure API Center instance that Dev Proxy should use to check if the APIs used in the app are registered."
},
"subscriptionId": {
"type": "string",
"description": "ID of the Azure subscription where the Azure API Center instance is located."
},
"workspace": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'.",
"default": "default"
},
Comment on lines +22 to +26
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This schema defines workspace, but the plugin configuration property is WorkspaceName (so JSON should be workspaceName). With the current schema, users will configure workspace and Dev Proxy will ignore it and use the default workspace. Rename the property to workspaceName (and keep the existing default of "default").

Copilot uses AI. Check for mistakes.
"schemeName": {
"type": "string",
"description": "The name of the security scheme definition. Used to determine minimal permissions required for API calls."
}
},
"required": [
"resourceGroupName",
"serviceName",
"subscriptionId"
],
"additionalProperties": false
}
37 changes: 37 additions & 0 deletions schemas/v2.3.3/apicenteronboardingplugin.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Dev Proxy ApiCenterOnboardingPlugin config schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "The JSON schema reference for validation."
},
"createApicEntryForNewApis": {
"type": "boolean",
"description": "Set to true to have Dev Proxy create new API entries for APIs detected but not yet registered in API Center. When false, Dev Proxy only lists unregistered APIs. Default is true."
},
"resourceGroupName": {
"type": "string",
"description": "Name of the resource group where the Azure API Center is located."
},
"serviceName": {
"type": "string",
"description": "Name of the Azure API Center instance that Dev Proxy should use to check if the APIs used in the app are registered."
},
"subscriptionId": {
"type": "string",
"description": "ID of the Azure subscription where the Azure API Center instance is located."
},
"workspace": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'."
Comment on lines +26 to +28
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The schema defines the API Center workspace setting as workspace, but the plugin configuration class uses WorkspaceName (bound from workspaceName). Using workspace will not bind and the plugin will silently use the default workspace instead. Rename this property to workspaceName (and consider setting the schema default to "default" to match the runtime default).

Suggested change
"workspace": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'."
"workspaceName": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'.",
"default": "default"

Copilot uses AI. Check for mistakes.
}
},
"required": [
"resourceGroupName",
"serviceName",
"subscriptionId"
],
"additionalProperties": false
}
33 changes: 33 additions & 0 deletions schemas/v2.3.3/apicenterproductionversionplugin.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Dev Proxy ApiCenterProductionVersionPlugin config schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "The JSON schema reference for validation."
},
"resourceGroupName": {
"type": "string",
"description": "Name of the resource group where the Azure API Center is located."
},
"serviceName": {
"type": "string",
"description": "Name of the Azure API Center instance that Dev Proxy should use to check if the APIs used in the app are registered."
},
"subscriptionId": {
"type": "string",
"description": "ID of the Azure subscription where the Azure API Center instance is located."
},
"workspace": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'."
Comment on lines +22 to +24
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The schema uses workspace, but the plugin binds configuration to WorkspaceName (expects workspaceName in JSON). As-is, configs validated against this schema will likely not take effect and the default workspace will be used. Update the property name to workspaceName (optionally with default "default").

Suggested change
"workspace": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'."
"workspaceName": {
"type": "string",
"description": "Name of the Azure API Center workspace to use. Default is 'default'.",
"default": "default"

Copilot uses AI. Check for mistakes.
}
},
"required": [
"resourceGroupName",
"serviceName",
"subscriptionId"
],
"additionalProperties": false
}
133 changes: 133 additions & 0 deletions schemas/v2.3.3/authplugin.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Dev Proxy AuthPlugin config schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "The JSON schema reference for validation."
},
"apiKey": {
"type": "object",
"description": "Configuration for API key authentication and authorization.",
"properties": {
"allowedKeys": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed API keys."
},
"parameters": {
"type": "array",
"description": "List of parameters that contain the API key.",
"items": {
"type": "object",
"properties": {
"in": {
"type": "string",
"enum": [
"header",
"query",
"cookie"
],
"description": "Where the parameter is expected to be found. Allowed values: header, query, cookie."
},
"name": {
"type": "string",
"description": "Name of the parameter."
}
},
"required": [
"in",
"name"
]
}
}
},
"required": [
"allowedKeys",
"parameters"
]
},
"oauth2": {
"type": "object",
"description": "Configuration for OAuth2 authentication and authorization.",
"properties": {
"metadataUrl": {
"type": "string",
"description": "URL to the OpenID Connect metadata document."
},
"allowedApplications": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed application IDs. Leave empty to not validate the application (appid or azp claim) for which the token is issued."
},
"allowedAudiences": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed audiences. Leave empty to not validate the audience (aud claim) for which the token is issued."
},
"allowedPrincipals": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed principals. Leave empty to not validate the principal (oid claim) for which the token is issued."
},
"allowedTenants": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed tenants. Leave empty to not validate the tenant (tid claim) for which the token is issued."
},
"issuer": {
"type": "string",
"description": "Allowed token issuer. Leave empty to not validate the token issuer."
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed roles. Leave empty to not validate the roles (roles claim) on the token."
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed scopes. Leave empty to not validate the scopes (scp claim) on the token."
},
"validateLifetime": {
"type": "boolean",
"description": "Set to false to disable validating the token lifetime. Default is true."
},
"validateSigningKey": {
"type": "boolean",
"description": "Set to false to disable validating the token signature. Default is true."
}
},
"required": [
"metadataUrl"
]
},
"type": {
"type": "string",
"enum": [
"apiKey",
"oauth2"
],
"description": "Type of authentication and authorization that Dev Proxy should use. Allowed values: apiKey, oauth2."
}
},
"required": [
"type"
],
"additionalProperties": false
}
16 changes: 16 additions & 0 deletions schemas/v2.3.3/cachingguidanceplugin.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Dev Proxy CachingGuidancePlugin config schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "The JSON schema reference for validation."
},
"cacheThresholdSeconds": {
"type": "integer",
"description": "The number of seconds between the same request that triggers the guidance warning. Default is 5."
}
},
"additionalProperties": false
}
Loading
Loading