Collega assistenti AI ai tuoi sondaggi, risposte e analisi Votira tramite il Model Context Protocol (MCP).
Il Model Context Protocol è uno standard aperto per collegare assistenti AI a sistemi esterni. Votira offre strumenti per sondaggio, risultati, AI Panel e account, con autorizzazioni esplicite per modifiche e utilizzo AI.
Genera una singola chiave di accesso MCP in Impostazioni (una chiave per account). Viene mostrata solo una volta. Presentala come Bearer token sull’endpoint MCP:
Authorization: Bearer vot_mcp_xxxxxxxxxxxxxxxx
Puoi ruotare oppure elimina la chiave in qualsiasi momento; la rotazione invalida immediatamente il segreto precedente.
Configura qualsiasi client MCP che supporti il trasporto HTTP streamable verso l’endpoint. Esempio di configurazione client:
{
"mcpServers": {
"votira": {
"url": "https://votira.co/mcp",
"headers": { "Authorization": "Bearer vot_mcp_xxxxxxxx" }
}
}
}
| Strumento | Argomenti | Restituisce |
|---|---|---|
list_surveys | — | I tuoi sondaggi con id, titolo, stato e numero di risposte. |
get_survey | survey_id | Un sondaggio con le sue domande e impostazioni. |
get_survey_responses | survey_id, limit?, offset? | Risposte paginati per un sondaggio. |
get_survey_analysis | survey_id | Analisi AI in cache sull’intero sondaggio e per singola domanda. |
Le nuove e le attuali chiavi MCP sono di sola lettura per impostazione predefinita. Abilita esplicitamente i permessi di scrittura, eliminazione e AI-crediti nelle Impostazioni. La rotazione mantiene i permessi selezionati; i visualizzatori dell’organizzazione non possono effettuare modifiche.
Gli strumenti di modifica richiedono il permesso di scrittura, quelli distruttivi richiedono il permesso di eliminazione, e gli strumenti AI a pagamento richiedono entrambi. Controlla gli argomenti dello strumento prima di approvare un’operazione di scrittura o che consuma crediti nel tuo assistente.
I risultati JSON includono structuredContent. Le esportazioni di file vengono restituite come risorse MCP incorporate: testo per CSV e JSON, blob base64 per PDF. Le operazioni asincrone restituiscono jobId; usa get_ai_job per recuperare stato e risultato.
Gli strumenti di gestione e audit dell’organizzazione richiedono privilegi da amministratore. Le chiavi API personali, le password, gli acquisti e l’eliminazione dell’account non sono disponibili come strumenti.
get_integration_capabilitiesVisualizza operazioni disponibili, schemi, permessi e limiti.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
create_surveyCrea un sondaggio, incluse pagine, domande e impostazioni.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"payload": {
"type": "object"
}
},
"required": [
"payload"
],
"type": "object"
}
update_surveyAggiorna contenuto, pagine, programmazione e aspetto del sondaggio.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"payload": {
"type": "object"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"payload"
],
"type": "object"
}
duplicate_surveyDuplica un sondaggio come nuovo bozza senza risposte.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"title": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
set_survey_statusPubblica, chiudi o riporta un sondaggio a bozza.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"draft",
"published",
"closed"
]
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"status"
],
"type": "object"
}
delete_surveyElimina definitivamente un sondaggio, risposte, immagini, analisi e visualizzazioni.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
list_templatesElenca i modelli di sondaggio localizzati.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
get_templateVisualizza un modello localizzato con domande e tema.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"template_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"template_id"
],
"type": "object"
}
create_survey_from_templateCrea un sondaggio localizzato da un modello senza crediti AI.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"template_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"title": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"template_id"
],
"type": "object"
}
get_question_typesElenca tutti i tipi di domanda supportati e i campi di configurazione specifici per tipo.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
add_questionAggiungi una domanda al sondaggio.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"question": {
"type": "object"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"question"
],
"type": "object"
}
update_questionAggiorna una domanda mantenendo la sua identità.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"question": {
"type": "object"
},
"question_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"question_id",
"question"
],
"type": "object"
}
delete_questionElimina una domanda e ripara i riferimenti di ramificazione.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"question_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"question_id"
],
"type": "object"
}
reorder_questionsRiordina tutte le domande, mantenendo l'ordine principale delle pagine.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"order": {
"items": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"maxItems": 50,
"type": "array",
"uniqueItems": true
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"order"
],
"type": "object"
}
get_survey_previewOttieni domande A/B risolte senza registrare una visualizzazione. Usa respondent_id per abbinare invii JSON successivi.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"respondent_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"seed": {
"maxLength": 2000,
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
generate_survey_questionsGenera domande da un'idea o modifica domande esistenti in modo incrementale. Costa un credito; può restituire un job.
Permessi richiesti: write, ai
{
"additionalProperties": false,
"properties": {
"idea": {
"maxLength": 2000,
"type": "string"
},
"pages": {
"items": {
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"questions": {
"items": {
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"idea"
],
"type": "object"
}
get_ai_jobVisualizza stato e risultato di un job AI di proprietà di questo account.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"job_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
}
generate_question_analysisAnalizza una domanda a testo libero. I risultati memorizzati sono gratuiti; l'analisi nuova costa un credito.
Permessi richiesti: write, ai
{
"additionalProperties": false,
"properties": {
"question_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"question_id"
],
"type": "object"
}
generate_survey_analysisGenera l'analisi AI del sondaggio. I risultati memorizzati sono gratuiti; l'analisi nuova costa un credito.
Permessi richiesti: write, ai
{
"additionalProperties": false,
"properties": {
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
get_ai_creditsVisualizza crediti AI disponibili, limiti, consumo e costi delle operazioni.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
list_personasElenca persone in un pannello personale o organizzativo, eventualmente limitate a un pool.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [],
"type": "object"
}
get_personaVisualizza una persona sintetica.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"persona_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"persona_id"
],
"type": "object"
}
create_personaCrea manualmente una persona senza consumare crediti AI.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"attributes": {
"type": "object"
},
"name": {
"maxLength": 2000,
"type": "string"
},
"poolIds": {
"items": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"maxItems": 500,
"type": "array",
"uniqueItems": true
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
update_personaModifica attributi della persona e sostituisci le appartenenze ai pool se fornito.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"attributes": {
"type": "object"
},
"name": {
"maxLength": 2000,
"type": "string"
},
"persona_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"poolIds": {
"items": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"maxItems": 500,
"type": "array",
"uniqueItems": true
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"persona_id"
],
"type": "object"
}
delete_personaElimina una persona dal pannello.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"persona_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"persona_id"
],
"type": "object"
}
list_poolsElenca pool nominati e il conteggio delle persone.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [],
"type": "object"
}
get_poolVisualizza un pool nominato e le sue persone.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"pool_id"
],
"type": "object"
}
create_poolCrea un pool di persone nominato.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"description": {
"maxLength": 2000,
"type": "string"
},
"name": {
"maxLength": 2000,
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
update_poolRinomina un pool o aggiorna la sua descrizione.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"description": {
"maxLength": 2000,
"type": "string"
},
"name": {
"maxLength": 2000,
"type": "string"
},
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"pool_id"
],
"type": "object"
}
delete_poolElimina un pool e scollega i suoi membri senza eliminare le persone.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"pool_id"
],
"type": "object"
}
assign_pool_personasAggiungi o rimuovi persone da un pool in modo massivo.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"add",
"remove"
]
},
"personaIds": {
"items": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"maxItems": 500,
"type": "array",
"uniqueItems": true
},
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"pool_id",
"personaIds",
"action"
],
"type": "object"
}
import_personasImporta persone da JSON. I metadati del pool vengono ignorati; le persone importate non sono assegnate.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"personas": {
"items": {
"type": "object"
},
"maxItems": 200,
"minItems": 1,
"type": "array"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"personas"
],
"type": "object"
}
export_personasEsporta persone o un pool come JSON o CSV.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"format": {
"enum": [
"json",
"csv"
]
},
"persona_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [],
"type": "object"
}
generate_personasGenera persone con AI. Costa cinque crediti per persona, con rimborsi per risultati mancanti.
Permessi richiesti: write, ai
{
"additionalProperties": false,
"properties": {
"ageMax": {
"maximum": 120,
"minimum": 13,
"type": "integer"
},
"ageMin": {
"maximum": 120,
"minimum": 13,
"type": "integer"
},
"count": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"description": {
"maxLength": 2000,
"type": "string"
},
"extra": {
"maxLength": 2000,
"type": "string"
},
"genderMix": {
"additionalProperties": false,
"properties": {
"female": {
"maximum": 50,
"minimum": 0,
"type": "integer"
},
"male": {
"maximum": 50,
"minimum": 0,
"type": "integer"
},
"non_binary": {
"maximum": 50,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
}
estimate_panel_costStima i crediti necessari per somministrare un sondaggio a un pool nominato.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"pool_id",
"survey_id"
],
"type": "object"
}
administer_panelSomministra un sondaggio a un pool nominato. Costa tre crediti per persona; può restituire un job.
Permessi richiesti: write, ai
{
"additionalProperties": false,
"properties": {
"pool_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"scope": {
"enum": [
"user",
"org"
],
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"pool_id",
"survey_id"
],
"type": "object"
}
get_survey_resultsVisualizza statistiche per domanda, suddivisioni A/B, visualizzazioni, conteggi AI-panel e analisi drop-off.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
get_partial_responsesVisualizza le risposte in corso, separate da quelle completate.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
export_survey_resultsScarica le risposte completate in formato CSV (fino a 5000 per pagina) o un report dei risultati in PDF.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"format": {
"enum": [
"csv",
"pdf"
]
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id"
],
"type": "object"
}
upload_survey_imageCarica un'immagine PNG, JPEG, GIF o WebP codificata in base64 (massimo 5 MB) per il tema del sondaggio.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"content": {
"maxLength": 6990510,
"type": "string"
},
"contentType": {
"enum": [
"image/png",
"image/jpeg",
"image/gif",
"image/webp"
]
},
"field": {
"enum": [
"headerImage",
"backgroundImage"
]
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"field",
"contentType",
"content"
],
"type": "object"
}
submit_survey_responseInvia una risposta completata per un rispondente esterno; applica regole di pubblicazione, programmazione, ramificazione e duplicati.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"answers": {
"type": "object"
},
"completionTimeSeconds": {
"maximum": 604800,
"minimum": 0,
"type": "integer"
},
"respondentInfo": {
"type": "object"
},
"respondent_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"respondent_id",
"answers"
],
"type": "object"
}
save_partial_responseSalvataggio automatico della risposta parziale di un rispondente esterno quando la raccolta è abilitata.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"answers": {
"type": "object"
},
"completionTimeSeconds": {
"maximum": 604800,
"minimum": 0,
"type": "integer"
},
"respondentInfo": {
"type": "object"
},
"respondent_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"survey_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"survey_id",
"respondent_id",
"answers"
],
"type": "object"
}
get_accountVisualizza profilo, lingua, dominio, piano e accesso all'organizzazione.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
update_accountAggiorna nome visualizzato, lingua del servizio o dominio personalizzato. Non modifica email, credenziali o fatturazione.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"customDomain": {
"maxLength": 253,
"type": [
"string",
"null"
]
},
"displayName": {
"maxLength": 100,
"minLength": 2,
"type": "string"
},
"preferredLanguage": {
"maxLength": 10,
"type": "string"
}
},
"required": [],
"type": "object"
}
get_organizationVisualizza l'organizzazione, licenze disponibili e crediti AI condivisi.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
list_organization_membersElenca membri dell'organizzazione, ruoli, licenze e consumo AI. Solo amministratori.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
add_organization_memberAggiungi un account Votira esistente all'organizzazione. Solo amministratori.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"email": {
"maxLength": 254,
"pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
"type": "string"
},
"role": {
"enum": [
"viewer",
"editor",
"admin"
]
}
},
"required": [
"email",
"role"
],
"type": "object"
}
update_organization_memberAggiorna il ruolo o la licenza assegnata a un membro. Solo amministratori; il proprietario è protetto.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"hasLicense": {
"type": "boolean"
},
"member_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"role": {
"enum": [
"viewer",
"editor",
"admin"
]
}
},
"required": [
"member_id"
],
"type": "object"
}
remove_organization_memberRimuovi un membro senza eliminare il suo account. Solo amministratori.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"member_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"member_id"
],
"type": "object"
}
list_organization_invitesElenca inviti dell'organizzazione senza mostrare i token di invito. Solo amministratori.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}
create_organization_inviteCrea un invito e restituisci il suo URL di condivisione. Solo amministratori.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"email": {
"maxLength": 254,
"pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
"type": "string"
},
"role": {
"enum": [
"viewer",
"editor",
"admin"
]
},
"type": {
"enum": [
"member",
"guest"
]
}
},
"required": [
"role"
],
"type": "object"
}
revoke_organization_inviteRevoca un invito pendente dell'organizzazione. Solo amministratori.
Permessi richiesti: delete
{
"additionalProperties": false,
"properties": {
"invite_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"invite_id"
],
"type": "object"
}
get_audit_logCerca nel registro delle attività dell'organizzazione. Solo amministratori Enterprise.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"auth",
"survey",
"results",
"ai",
"keys",
"billing",
"organization",
"profile",
"audit",
"api",
"mcp"
]
},
"date_from": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"date_to": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"search": {
"maxLength": 100,
"type": "string"
}
},
"required": [],
"type": "object"
}
export_audit_logEsporta fino a 5000 voci di audit come CSV. Solo amministratori Enterprise.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"auth",
"survey",
"results",
"ai",
"keys",
"billing",
"organization",
"profile",
"audit",
"api",
"mcp"
]
},
"date_from": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"date_to": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"search": {
"maxLength": 100,
"type": "string"
}
},
"required": [],
"type": "object"
}
list_invoicesElenca fatture personali pagate e, per gli amministratori, fatture dell'organizzazione.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [],
"type": "object"
}
download_invoiceScarica un PDF di fattura pagata dopo aver verificato la proprietà della fatturazione dell'account.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"invoice_id": {
"maxLength": 100,
"pattern": "^in_[A-Za-z0-9]+$",
"type": "string"
}
},
"required": [
"invoice_id"
],
"type": "object"
}
list_support_requestsElenca ticket di supporto, segnalazioni di bug e richieste di funzionalità dell'account.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [],
"type": "object"
}
get_support_requestVisualizza una richiesta di supporto e le risposte del team, limitate al suo proprietario.
Permessi richiesti: read
{
"additionalProperties": false,
"properties": {
"submission_id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
}
},
"required": [
"submission_id"
],
"type": "object"
}
create_support_requestApri un ticket di supporto, segnala un bug o richiedi una funzionalità.
Permessi richiesti: write
{
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"bug",
"feature",
"ticket"
]
},
"description": {
"maxLength": 5000,
"minLength": 10,
"type": "string"
},
"priority": {
"enum": [
"low",
"normal",
"high",
"urgent"
]
},
"problemSolved": {
"maxLength": 5000,
"type": "string"
},
"severity": {
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"stepsToReproduce": {
"maxLength": 5000,
"type": "string"
},
"subject": {
"maxLength": 150,
"minLength": 3,
"type": "string"
},
"ticketCategory": {
"enum": [
"billing",
"technical",
"account",
"other"
]
}
},
"required": [
"category",
"subject",
"description"
],
"type": "object"
}
L’endpoint implementa i metodi principali MCP JSON‑RPC: initialize, tools/list e tools/call (più ping). Esempio di elenco strumenti:
curl -X POST https://votira.co/mcp \
-H "Authorization: Bearer $VOTIRA_MCP_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Esegui uno strumento
curl -X POST https://votira.co/mcp \
-H "Authorization: Bearer $VOTIRA_MCP_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"get_survey","arguments":{"survey_id":"srv_123"}}}'
403 Forbidden.Crea il tuo primo sondaggio con AI in pochi minuti e scopri se la tua idea ha potenziale.
Inizia la prova gratuitaProva gratuita di 7 giorni con tutte le funzionalità · Nessuna carta richiesta