Renomear ou trocar o tipo de um material
const url = 'https://developers.nexo.winningsales.com.br/v1/knowledge/materials/example';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","category":"policy"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://developers.nexo.winningsales.com.br/v1/knowledge/materials/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "category": "policy" }'O arquivo não muda; para trocá-lo, suba uma versão nova. Só administradores, como a Base de conhecimento na tela Calibração; o papel é relido a cada chamada, e para mudar o token precisa do escopo calibration:write.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Path Parameters
Seção intitulada “Path Parameters”Id do material
Request Bodyrequired
Seção intitulada “Request Bodyrequired”object
Novo nome do material
Tipo do material: policy (política), playbook, pricing (preços), product (produto), case, presentation (apresentação) ou other (outro)
Responses
Seção intitulada “Responses”Material alterado
object
Id do material
Nome do material na base
Tipo do material: policy (política), playbook, pricing (preços), product (produto), case, presentation (apresentação) ou other (outro)
Nome do arquivo da versão atual, usado no download
Formato da versão atual
Tamanho da versão atual em bytes. Antes da confirmação, o tamanho informado no pedido
Número da versão atual, começando em 1
Awaiting_upload: o arquivo ainda não foi confirmado; stored: guardado; rejected: recusado na confirmação
Quando a versão atual foi guardada, ou pedida quando ainda não chegou
Quem subiu a versão atual. Null quando a pessoa não está mais na empresa
object
Id de quem subiu
Nome de quem subiu
Example
{ "category": "policy", "format": "pdf", "status": "awaiting_upload"}Payload inválido (detalhes do zod em meta.errors)
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "requestId": "example", "meta": { "additionalProperty": "example" }}Token ausente, inválido, expirado ou revogado
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example
{ "type": "public_api.invalid_credential", "title": "InvalidCredentialError", "status": 401, "detail": "Token de acesso inválido, expirado ou revogado. Crie um novo token de acesso no Nexo.", "requestId": "019fcae7-3e54-755a-8458-bdb605b324bb"}Papel, escopo do token ou plano não permitem a operação
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example
{ "type": "public_api.insufficient_scope", "title": "InsufficientScopeError", "status": 403, "detail": "Este token não tem o escopo conversations:read, exigido por esta operação. Gere um token com esse escopo.", "requestId": "019fcae7-3e54-755a-8458-bdb605b324bb", "meta": { "operation": "conversations.reading", "scope": "conversations:read" }}Material inexistente ou removido
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example
{ "type": "knowledge.material_not_found", "title": "MaterialNotFoundError", "status": 404, "detail": "Material não encontrado na base de conhecimento.", "requestId": "019fcae7-3e54-755a-8458-bdb605b324bb", "meta": { "materialId": "019fcae7-3e54-755a-8458-bdb605b324aa" }}Limite de chamadas da empresa ou do token atingido
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example
{ "type": "public_api.rate_limited", "title": "PublicRateLimitedError", "status": 429, "detail": "Muitas chamadas em pouco tempo. Tente de novo em 12 segundos.", "requestId": "019fcae7-3e54-755a-8458-bdb605b324bb", "meta": { "class": "content", "limitedBy": "company", "limit": 120, "windowSeconds": 60, "retryAfterSeconds": 12 }}