Armazena as configurações de rastreamento OTLP em nível de projeto. O segredo de autenticação é referenciado apenas (headers_secret_ref); o valor bruto nunca é aceito ou armazenado. Aumenta o contador de geração e marca a configuração pendente para entrega downstream. O escopo do projeto é realizado pelo parâmetro route id path e a organização é derivada desse projeto.
corpo, corpo
Obrigatório
Configuração JSON digitada
-
ContentMode seleciona abranger a supressão de conteúdo . Vazio significa metadata_only.
Os valores são
metadata_onlyoufull. -
EgressMode seleciona onde os spans são entregues. Vazio significa platform_only.
Os valores são
platform_only,platform_and_customer_mirroroucustomer_only. -
Habilitado está um ponteiro para que o manipulador possa distinguir um campo omitido (nil, rejeitado) de um falso explícito (uma solicitação válida de "desabilitar exportação" válida).
-
Endpoint é o endpoint OTLP/HTTP do cliente. Necessário quando ativado. Deve ser https e não deve ponto para um endereço interno/loopback (consulte Validar).
O comprimento máximo é
2048. -
Cabeçalhos contém cabeçalhos de exportação NÃO SECRETS que uma predefinição exige (por exemplo, um ID de espaço de trabalho). Os valores secretos nunca devem ser colocados aqui — use HeadersSecretRef.
-
HeadersSecretRef é um ponteiro para o único segredo de autenticação armazenado (normalmente uma chave de API). É uma referência - nunca o valor secreto. Deve ter como escopo o projeto do chamador (consulte Validar).
O comprimento máximo é
512. -
O InsecureSkipVerify desabilita a verificação TLS do endpoint do cliente . Um ponteiro tão nulo (verificar, o padrão) é distinto de um opt-out explícito; a interface do usuário permite isso como uma redução deliberada da segurança.
-
Protocol é o protocolo OTLP de saída. v1 suporta apenas http/protobuf.
O valor é
http/protobuf. -
ResourceAttributes são atributos extras de recursos OTLP carimbos em cada extensão enviada ao endpoint do cliente (por exemplo, um identificador de modelo / projeto de destino necessário). As chaves que um determinado destino exige vêm de sua predefinição (consulte pkg/traceexportconfig/presets); Os valores são sempre fornecidos pelo cliente, pois normalmente nomeiam um projeto no próprio lado do destino que essa plataforma não tem como procurar.
-
A SamplerPolicy seleciona o amostrador principal aplicado antes da exportação.
-
SecretHeaderName é o nome do cabeçalho como o valor do segredo referenciado é enviado (por exemplo, "api_key"), retirado de secret_header_keys da predefinição ou inserido pelo usuário para um destino personalizado. A plataforma compõe a saída ": " linha de cabeçalho, para que o segredo armazenado seja sempre o valor nu (nunca uma linha de cabeçalho pré-formatada). Necessário quando HeadersSecretRef está definido (consulte Validar).
O comprimento máximo é
128.
Respostas
-
Versão de API não permitida ou malformada, uma operação indisponível no contrato publicado selecionado ou uma representação inaceitável (incluindo parâmetros de tipo de mídia não suportados ou SSE excluído). Falhas existentes de autenticação, autorização e limite de taxa têm precedência.
-
OK
-
Invalid config
-
Credenciais ausentes ou inválidas
-
O chamador não tem permissão do proprietário do projeto
-
A configuração excede 16 KB
curl \
--request PUT 'https://agentengine.mongodb.com/api/v1/projects/{id}/trace-export/config' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"content_mode": "metadata_only",
"egress_mode": "platform_only",
"enabled": true,
"endpoint": "string",
"headers": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"headers_secret_ref": "string",
"insecure_skip_verify": true,
"protocol": "http/protobuf",
"resource_attributes": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"sampling_policy": {
"ratio": 42.0,
"type": "always_on"
},
"secret_header_name": "string"
}'
{
"content_mode": "metadata_only",
"egress_mode": "platform_only",
"enabled": true,
"endpoint": "string",
"headers": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"headers_secret_ref": "string",
"insecure_skip_verify": true,
"protocol": "http/protobuf",
"resource_attributes": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"sampling_policy": {
"ratio": 42.0,
"type": "always_on"
},
"secret_header_name": "string"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"generation": 42,
"updated_at": "string"
}
{
"generation": 42,
"updated_at": "string"
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}