Research e briefings com citações
Cancelar a análise de sentimento das fontes
Cancelar o sentimento para a geração exata da execução; saídas canceladas ou tardias não podem ser confirmadas. Exige agent:research.
POST /research-api/sentiment/cancelContrato revisado: · sha256:ab393e91e9b7f18a
Visão geral
Cancelar o sentimento para a geração exata da execução; saídas canceladas ou tardias não podem ser confirmadas. Exige agent:research.
Uma resposta HTTP bem-sucedida pode significar que uma requisição foi aceita, não concluída. Para trabalho em segundo plano, salve o ID retornado e consulte a mesma operação até terminar. Um post agendado ou aceito só está publicado quando a plataforma confirma; um timeout do cliente não comprova o resultado.
Autenticação e permissões
Um token só pode usar os direitos do seu proprietário. Cada requisição verifica participação no workspace, propriedade de recursos, workspaces selecionados e capacidades concedidas. Os perfis core e full mudam as ferramentas exibidas; não concedem acesso.
Campos da requisição
Obrigatório significa obrigatório dentro do objeto pai e da ramificação selecionada. Um filho obrigatório não torna obrigatório um pai opcional. As regras e nomes de campos abaixo são copiados do contrato.
| Campo / ramificação | Tipo / obrigatório | Restrições |
|---|---|---|
$ | objectObrigatório no objeto pai |
|
workspace_id | stringObrigatório no objeto pai |
|
mutation_id | stringObrigatório no objeto pai |
|
conversation_id | stringObrigatório no objeto pai |
|
run_id | stringObrigatório no objeto pai |
|
expected_generation | integerObrigatório no objeto pai |
|
JSON Schema completo
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"mutation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"conversation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"run_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"expected_generation": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"workspace_id",
"mutation_id",
"conversation_id",
"run_id",
"expected_generation"
],
"additionalProperties": false
}Resposta e conclusão
Códigos HTTP de sucesso: 200. Quando a operação estiver concluída: committed generation cancellation fence.
Uma resposta HTTP bem-sucedida pode significar que uma requisição foi aceita, não concluída. Para trabalho em segundo plano, salve o ID retornado e consulte a mesma operação até terminar. Um post agendado ou aceito só está publicado quando a plataforma confirma; um timeout do cliente não comprova o resultado.
Obrigatório significa obrigatório dentro do objeto pai e da ramificação selecionada. Um filho obrigatório não torna obrigatório um pai opcional. As regras e nomes de campos abaixo são copiados do contrato.
| Campo / ramificação | Tipo / obrigatório | Restrições |
|---|---|---|
$ | objectObrigatório no objeto pai | — |
run | objectObrigatório no objeto pai | — |
run.id | stringObrigatório no objeto pai |
|
run.workspace_id | stringObrigatório no objeto pai |
|
run.conversation_id | stringObrigatório no objeto pai |
|
run.conversation_revision | integerObrigatório no objeto pai |
|
run.generation | integerObrigatório no objeto pai |
|
run.request_kind | stringObrigatório no objeto pai |
|
run.status | stringObrigatório no objeto pai |
|
run.failure_code | string | nullObrigatório no objeto pai | — |
run.failure_codeanyOf 1 | stringObrigatório no objeto pai |
|
run.failure_codeanyOf 2 | nullObrigatório no objeto pai | — |
run.created_at | stringObrigatório no objeto pai |
|
run.expires_at | stringObrigatório no objeto pai |
|
run.processor | stringObrigatório no objeto pai |
|
run.model_id | string | nullObrigatório no objeto pai | — |
run.model_idanyOf 1 | stringObrigatório no objeto pai |
|
run.model_idanyOf 2 | nullObrigatório no objeto pai | — |
run.model_version | string | nullObrigatório no objeto pai | — |
run.model_versionanyOf 1 | stringObrigatório no objeto pai |
|
run.model_versionanyOf 2 | nullObrigatório no objeto pai | — |
message | object | nullObrigatório no objeto pai | — |
messageanyOf 1 | objectObrigatório no objeto pai | — |
message.idanyOf 1 | stringObrigatório no objeto pai |
|
message.run_idanyOf 1 | stringObrigatório no objeto pai |
|
message.roleanyOf 1 | stringObrigatório no objeto pai |
|
message.questionanyOf 1 | string | nullObrigatório no objeto pai | — |
message.questionanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.questionanyOf 1 / anyOf 2 | nullObrigatório no objeto pai | — |
message.answeranyOf 1 | object | nullObrigatório no objeto pai | — |
message.answeranyOf 1 / anyOf 1 | objectObrigatório no objeto pai | — |
message.answer.answeranyOf 1 / anyOf 1 | objectObrigatório no objeto pai | — |
message.answer.answer.statementanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.answer.basisanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.answer.evidenceanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.answer.evidence[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.answer.evidence[].evidence_idanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.answer.evidence[].revisionanyOf 1 / anyOf 1 | integerObrigatório no objeto pai |
|
message.answer.answer.uncertaintyanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.findingsanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.findings[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.findings[].statementanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.findings[].basisanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.findings[].evidenceanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.findings[].evidence[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.findings[].evidence[].evidence_idanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.findings[].evidence[].revisionanyOf 1 / anyOf 1 | integerObrigatório no objeto pai |
|
message.answer.findings[].uncertaintyanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.sentimentanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.sentiment[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.sentiment[].evidence_idanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.sentiment[].revisionanyOf 1 / anyOf 1 | integerObrigatório no objeto pai |
|
message.answer.sentiment[].labelanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.sentiment[].uncertaintyanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.query_suggestionsanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.query_suggestions[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.query_suggestions[].queryanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.query_suggestions[].excluded_termsanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.query_suggestions[].excluded_terms[]anyOf 1 / anyOf 1 | stringOpcional / item |
|
message.answer.query_suggestions[].evidenceanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.query_suggestions[].evidence[]anyOf 1 / anyOf 1 | objectOpcional / item | — |
message.answer.query_suggestions[].evidence[].evidence_idanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.query_suggestions[].evidence[].revisionanyOf 1 / anyOf 1 | integerObrigatório no objeto pai |
|
message.answer.query_suggestions[].rationaleanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answer.limitationsanyOf 1 / anyOf 1 | arrayObrigatório no objeto pai |
|
message.answer.limitations[]anyOf 1 / anyOf 1 | stringOpcional / item |
|
message.answer.quantitative_claimsanyOf 1 / anyOf 1 | booleanObrigatório no objeto pai |
|
message.answer.method_versionanyOf 1 / anyOf 1 | stringObrigatório no objeto pai |
|
message.answeranyOf 1 / anyOf 2 | nullObrigatório no objeto pai | — |
message.created_atanyOf 1 | stringObrigatório no objeto pai |
|
message.expires_atanyOf 1 | stringObrigatório no objeto pai |
|
messageanyOf 2 | nullObrigatório no objeto pai | — |
conversation_revision | integerObrigatório no objeto pai |
|
availability | objectObrigatório no objeto pai | — |
availability.configured | booleanObrigatório no objeto pai | — |
availability.reason | string | nullObrigatório no objeto pai | — |
availability.reasonanyOf 1 | stringObrigatório no objeto pai |
|
availability.reasonanyOf 2 | nullObrigatório no objeto pai | — |
availability.processor | stringObrigatório no objeto pai |
|
availability.retention_hours | numberObrigatório no objeto pai |
|
JSON Schema completo
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"run": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"workspace_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"conversation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"conversation_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"generation": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"request_kind": {
"type": "string",
"enum": [
"question",
"overview",
"themes",
"audiences",
"sentiment",
"query_suggestions"
]
},
"status": {
"type": "string",
"enum": [
"queued",
"processing",
"completed",
"failed",
"cancelled",
"expired",
"unavailable"
]
},
"failure_code": {
"anyOf": [
{
"type": "string",
"enum": [
"not_configured",
"budget_exhausted",
"access_changed",
"source_unavailable",
"context_changed",
"input_too_large",
"provider_unavailable",
"generation_unconfirmed",
"invalid_output",
"cancelled",
"expired",
"conversation_full"
]
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"format": "date-time"
},
"expires_at": {
"type": "string",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"format": "date-time"
},
"processor": {
"type": "string",
"const": "Google Gemini"
},
"model_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"model_version": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"conversation_id",
"conversation_revision",
"generation",
"request_kind",
"status",
"failure_code",
"created_at",
"expires_at",
"processor",
"model_id",
"model_version"
]
},
"message": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"run_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"role": {
"type": "string",
"enum": [
"user",
"assistant"
]
},
"question": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"answer": {
"anyOf": [
{
"type": "object",
"properties": {
"answer": {
"type": "object",
"properties": {
"statement": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"basis": {
"type": "string",
"enum": [
"observed",
"inferred",
"generated"
]
},
"evidence": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"evidence_id",
"revision"
]
}
},
"uncertainty": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"statement",
"basis",
"evidence",
"uncertainty"
]
},
"findings": {
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"statement": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"basis": {
"type": "string",
"enum": [
"observed",
"inferred",
"generated"
]
},
"evidence": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"evidence_id",
"revision"
]
}
},
"uncertainty": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"statement",
"basis",
"evidence",
"uncertainty"
]
}
},
"sentiment": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"label": {
"type": "string",
"enum": [
"positive",
"negative",
"neutral",
"mixed",
"unknown"
]
},
"uncertainty": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"evidence_id",
"revision",
"label",
"uncertainty"
]
}
},
"query_suggestions": {
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"excluded_terms": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"evidence": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"evidence_id",
"revision"
]
}
},
"rationale": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"query",
"excluded_terms",
"evidence",
"rationale"
]
}
},
"limitations": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"quantitative_claims": {
"type": "boolean",
"const": false
},
"method_version": {
"type": "string",
"const": "research-cited/v1"
}
},
"required": [
"answer",
"findings",
"sentiment",
"query_suggestions",
"limitations",
"quantitative_claims",
"method_version"
]
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"format": "date-time"
},
"expires_at": {
"type": "string",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"format": "date-time"
}
},
"required": [
"id",
"run_id",
"role",
"question",
"answer",
"created_at",
"expires_at"
]
},
{
"type": "null"
}
]
},
"conversation_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"availability": {
"type": "object",
"properties": {
"configured": {
"type": "boolean"
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"not_configured",
"budget_exhausted",
"access_changed",
"source_unavailable",
"context_changed",
"input_too_large",
"provider_unavailable",
"generation_unconfirmed",
"invalid_output",
"cancelled",
"expired",
"conversation_full"
]
},
{
"type": "null"
}
]
},
"processor": {
"type": "string",
"const": "Google Gemini"
},
"retention_hours": {
"type": "number",
"const": 24
}
},
"required": [
"configured",
"reason",
"processor",
"retention_hours"
]
}
},
"required": [
"run",
"message",
"conversation_revision",
"availability"
]
}Erros e repetições seguras
Confira o status HTTP e o corpo da resposta. Um erro de validação 400 pode conter ZodError; erros do handler usam os campos error, message e code. Guarde request_id ou x-request-id para diagnóstico, sem credenciais. Corrija erros de acesso 401/403 antes de tentar novamente e siga Retry-After para 429. Se uma gravação for incerta ou retornar 5xx, consulte primeiro o resultado existente. Reutilize uma chave de idempotência somente quando houver suporte; o comportamento de repetição varia por operação e não garante entrega exatamente uma vez.
Guia de solução de problemasExemplos
Estes exemplos usam valores fictícios verificados conforme os schemas. Substitua os IDs por aqueles que você tem autorização para usar, a mídia por ativos prontos e as datas pelo horário de publicação confirmado. Confira a elegibilidade da conta antes de enviar uma gravação. Esta página não envia requisições de API.
Defina SOSOAPI_ACCESS_TOKEN no servidor como uma credencial aceita por esta operação e mantenha-a fora do código do navegador. Para agentes de IA, use sosoapi auth login para entrar pelo navegador e deixe a CLI renovar suas credenciais.
request.json
{
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "11111111-1111-4111-8111-111111111111",
"conversation_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"expected_generation": 1
}cURL
curl --request POST \
"https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/sentiment/cancel" \
-H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data-binary @request.jsonJavaScript
// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/sentiment/cancel", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
body: JSON.stringify({
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "11111111-1111-4111-8111-111111111111",
"conversation_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"expected_generation": 1
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.CLI
npx sosoapi api post /research-api/sentiment/cancel < request.jsonExemplo de resposta sintética
{
"run": {
"id": "11111111-1111-4111-8111-111111111111",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"conversation_id": "11111111-1111-4111-8111-111111111111",
"conversation_revision": 1,
"generation": 1,
"request_kind": "question",
"status": "queued",
"failure_code": null,
"created_at": "2099-01-15T09:00:00Z",
"expires_at": "2099-01-15T09:00:00Z",
"processor": "Google Gemini",
"model_id": null,
"model_version": null
},
"message": null,
"conversation_revision": 1,
"availability": {
"configured": false,
"reason": null,
"processor": "Google Gemini",
"retention_hours": 24
}
}