Skip to main content

Create a new draft Agentic Platform configuration in NetApp Console local deployment

POST /configs

Creates a configuration record in DRAFT state. No AgentGateway resources are created. Use PATCH /configs/{id} to apply the configuration and trigger a hot reload.

Only the first model in the models array is used. Multi-model load balancing is currently not supported. Provider-specific credentials should be provided using the corresponding provider object.

Note You must provide one of the following values in the request body depending on the provider you are using: openai, anthropic, commonOpenAI.

Parameters

Name Type In Required Description

x-organization-id

string

header

False

Organization identifier for multi-tenant isolation. When provided, configurations are scoped to this organization. When x-organization-id is set, the AgentGateway HTTPRoute includes a header match on this value. Requests without the matching header bypass this configuration. The list endpoint filters by organization.

Request Body

Indicates the required values for the configuration that is to be created.

Name Type Required Description

adminAddr

string

False

Admin address for the AgentGateway

anthropic

provider_credentials_anthropic_config

False

Anthropic Claude provider-specific configuration

commonOpenAI

provider_credentials_commonOpenAI_config

False

Generic OpenAI-compatible API configuration (for custom/self-hosted LLM proxies). Duplicate models with equivalent dot/dash notation are merged; the first occurrence is returned. commonOpenAI is an alias for the OpenAI provider with a custom baseUrl. Both map to the same AgentGateway backend type.

extraHeaders

extraHeaders

False

Additional HTTP headers to send with requests

extraParams

extraParams

False

Additional parameters.

  • user - Username for custom LLM proxies. When this special key is set, the value is injected into every LLM request as the user identifier for tracking and abuse detection. For Anthropic providers, it is sent as "metadata.user_id".

metadata

type_bxp_metadata

False

Metadata associated with the resource.

models

array[string]

True

List of models to configure. Multiple models enable load balancing.

Defined values are:

  • Minimum items: 1

  • Each model must be a valid model identifier for the selected provider

openai

provider_credentials_openai_config

False

OpenAI provider-specific configuration

organizationId

string

False

Organization identifier for multi-tenant isolation. Typically set from the x-organization-id request header.

port

integer

False

Gateway port

requestsPerMinute

integer

False

The rate limit - maximum requests per minute (0 = unlimited).

sslVerify

boolean

False

Indicates whether to verify SSL certificates.

tokensPerMinute

integer

False

The rate limit - maximum tokens per minute (0 = unlimited).

type

string

True

Media type of the resource. Defined values are:

  • "application/vnd.netapp.bxp.config"

version

string

True

Version of the configuration format. Defined values are:

  • "1.0"

Example request
{
  "anthropic": {
    "apiKey": "sk-ant-your-key",
    "baseUrl": "https://api.anthropic.com"
  },
  "models": [
    "claude-3-5-sonnet-20241022"
  ],
  "type": "application/vnd.netapp.bxp.config",
  "version": "1.0"
}

Response

Status: 201, Returns the newly created configuration in the JSON response body.
Name Type Required Description

configVersion

string

False

Version of the applied configuration

id

string

True

Unique identifier of the created configuration

message

string

True

Success message

metadata

type_bxp_metadata

False

Metadata associated with the resource.

type

string

True

Media type of the resource. Defined values are:

  • "application/vnd.netapp.bxp.config"

version

string

True

Version of the configuration format. Defined values are:

  • "1.0"

Example response
{
  "configVersion": "1.0",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "message": "Configuration created successfully. AgentGateway will automatically apply changes.",
  "metadata": {
    "creationTimestamp": "2025-01-16T10:30:00Z"
  },
  "type": "application/vnd.netapp.bxp.config",
  "version": "1.0"
}

Error

Status: 400, Bad request
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

Example error response
{
  "detail": "The supplied query parameters are invalid.",
  "status": "400",
  "title": "Invalid query parameters",
  "type": "https://bluexp.netapp.io/problems/1"
}

Error

Status: 401, Unauthorized
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

Example error response
{
  "detail": "The request is missing the required bearer token.",
  "status": "401",
  "title": "Missing bearer token",
  "type": "https://bluexp.netapp.io/problems/1"
}

Error

Status: 403, Forbidden
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

Example error response
{
  "detail": "The requested operation isn't permitted.",
  "status": "403",
  "title": "Operation not permitted",
  "type": "https://bluexp.netapp.io/problems/11"
}

Error

Status: 409, Conflict
Name Type Required Description

correlationId

string

False

Internal UUID representing the request or trace ID related.

detail

string

False

Details about the problem.

invalidParams

array[invalidParams]

False

List of invalid parameters.

status

string

True

HTTP error code related to the problem.

title

string

True

Title description of the problem.

type

string

True

Content-type of the object.

Example error response
{
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409",
  "title": "JSON resource conflict",
  "type": "https://bluexp.netapp.io/problems/10"
}

Definitions

See Definitions

provider_credentials_anthropic_config

Anthropic Claude provider-specific configuration

Name Type Required Description

anthropicVersion

string

False

Anthropic API version header. If not specified, defaults to 2023-06-01.

apiKey

string

True

Anthropic API key

baseUrl

string

False

Base URL for Anthropic API (optional)

extraHeaders

Additional headers to include in requests

Hash mapping strings to string

extraParams

Additional parameters to include in requests

Hash mapping strings to string

provider_credentials_commonOpenAI_config

Generic OpenAI-compatible API configuration (for custom/self-hosted LLM proxies). Duplicate models with equivalent dot/dash notation are merged; the first occurrence is returned. commonOpenAI is an alias for the OpenAI provider with a custom baseUrl. Both map to the same AgentGateway backend type.

Name Type Required Description

apiKey

string

False

API key for the OpenAI-compatible service

baseUrl

string

True

Base URL for the OpenAI-compatible API

extraHeaders

extraHeaders

False

Additional headers to include in requests

extraParams

extraParams

False

Additional parameters to include in requests

extraHeaders

Additional HTTP headers to send with requests

Hash mapping strings to string

extraParams

Additional parameters.

  • user - Username for custom LLM proxies. When this special key is set, the value is injected into every LLM request as the user identifier for tracking and abuse detection. For Anthropic providers, it is sent as "metadata.user_id".

Hash mapping strings to string

type_bxp_label

Name/value pair.

Name Type Required Description

name

string

True

Name of the label.

value

string

True

Value of the label.

type_bxp_metadata

Metadata associated with the resource.

Name Type Required Description

createdBy

string

False

UUID of the user who created the resource.

creationTimestamp

string

False

Resource creation date.

labels

array[type_bxp_label]

False

Array of name/value pairs representing additional information for the resource.

modificationTimestamp

string

False

Resource modification date.

modifiedBy

string

False

UUID of the user who modified the resource.

provider_credentials_openai_config

OpenAI provider-specific configuration

Name Type Required Description

apiKey

string

True

OpenAI API key

baseUrl

string

False

Base URL for OpenAI API (optional, defaults to https://api.openai.com)

organizationId

string

False

OpenAI organization ID (optional)

invalidParams

Name Type Required Description

name

string

True

Name of the invalid parameter.

reason

string

True

Reason why the parameter is invalid.