UserVoice MCP by usefulapi

Search UserVoice ideas, feedback and users; post ideas, comments, notes and status updates.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
91%
Calidad de los nombres
79%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'uservoice_list_feedback_records' name length outside 3-30 rangeen uservoice_list_feedback_records

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,479Tokens (definiciones de herramientas)
~2.8 KBTamaño de respuesta típico
Impacto significativo en la atención (5.84% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "uservoice": {
      "url": "https://uservoice.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://uservoice.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (21)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢uservoice_get_account

The UserVoice account (subdomain) these credentials belong to: id, name, default forum and settings. GET /api/v2/admin/subdomains/current.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_forums(open, sort, per_page, cursor, page)

List the feedback forums (idea portals) with name, open/private state and suggestion counts. Use a forum id to filter or create suggestions. GET /api/v2/admin/forums.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "open": {
      "description": "Only open (true) or closed (false) forums.",
      "type": "boolean"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_categories(forum_ids, sort, per_page, cursor, page)

List suggestion categories, optionally only those of some forums. GET /api/v2/admin/categories.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "forum_ids": {
      "description": "Only categories of these forums.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_statuses(sort, per_page, cursor, page)

List the public suggestion statuses (e.g. under review, planned, started, completed, declined) with ids, colors and open/closed flag. Use the ids for filters and status updates. GET /api/v2/admin/statuses.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_labels(query, sort, per_page, cursor, page)

List or search the labels used to organize suggestions. GET /api/v2/admin/labels.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search text in the label name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_suggestions(query, forum_ids, category_ids, status_ids, no_status, ...)

List or search suggestions (ideas) with title, body, state, vote/supporter counts, revenue of supporters and links to forum, category, status and labels. Filter by text, forum, category, status, state, label or created/updated time. GET /api/v2/admin/suggestions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search text in the suggestion title or description.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "forum_ids": {
      "description": "Only suggestions in these forums.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "category_ids": {
      "description": "Only suggestions in these categories.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "status_ids": {
      "description": "Only suggestions with these public statuses (see uservoice_list_statuses).",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "no_status": {
      "description": "Only suggestions without a public status.",
      "type": "boolean"
    },
    "label_ids": {
      "description": "Only suggestions with these labels.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "state": {
      "description": "Only these states, e.g. [\"approved\",\"published\"] or [\"open\"].",
      "minItems": 1,
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "published",
          "approved",
          "closed",
          "for_review",
          "deleted",
          "merged",
          "spam",
          "new",
          "filtered",
          "open",
          "active",
          "inactive"
        ]
      }
    },
    "created_after": {
      "description": "Only suggestions created after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "created_before": {
      "description": "Only suggestions created before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "includes": {
      "description": "Related records to sideload into `included`.",
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "forums",
          "categories",
          "statuses",
          "labels",
          "users",
          "features",
          "status_updates",
          "supporter_messages"
        ]
      }
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_get_suggestion(suggestion_id, includes)

One suggestion (idea) by id, optionally with related records (forum, category, status, labels, users, status updates). GET /api/v2/admin/suggestions/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "UserVoice suggestion id."
    },
    "includes": {
      "description": "Related records to sideload into `included`.",
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "forums",
          "categories",
          "statuses",
          "labels",
          "users",
          "features",
          "status_updates",
          "supporter_messages"
        ]
      }
    }
  },
  "required": [
    "suggestion_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_comments(suggestion_ids, state, updated_after, updated_before, sort, ...)

List public comments, optionally only those on some suggestions or in some moderation states. GET /api/v2/admin/comments.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_ids": {
      "description": "Only comments on these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "state": {
      "description": "Only these moderation states.",
      "minItems": 1,
      "maxItems": 7,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "published",
          "approved",
          "for_review",
          "deleted",
          "spam",
          "new",
          "filtered"
        ]
      }
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_notes(suggestion_id, updated_after, updated_before, sort, per_page, ...)

List internal (admin-only) notes, optionally only those on one suggestion. GET /api/v2/admin/notes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_id": {
      "description": "Only notes on this suggestion.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_status_updates(suggestion_ids, updated_after, updated_before, sort, per_page, ...)

List the public status updates posted on suggestions (message, how many supporters were emailed, opens/clicks, reactions). GET /api/v2/admin/status_updates.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_ids": {
      "description": "Only status updates of these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_supporters(suggestion_ids, user_ids, forum_ids, updated_after, updated_before, ...)

List supporters (voters) of suggestions: who supports what, how (channel), importance and subscription. Filter by suggestion, user or forum. GET /api/v2/admin/supporters.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_ids": {
      "description": "Only supporters of these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "user_ids": {
      "description": "Only these users' support.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "forum_ids": {
      "description": "Only support in these forums.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_feedback_records(suggestion_ids, user_ids, updated_after, updated_before, sort, ...)

List captured feedback (from the admin console, widget, Zendesk, Salesforce, Slack, API ...), optionally only that linked to some suggestions or users. GET /api/v2/admin/feedback_records.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_ids": {
      "description": "Only feedback linked to these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "user_ids": {
      "description": "Only feedback from these users.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_features(query, suggestion_ids, product_area_ids, sort, per_page, ...)

List product features (the roadmap items suggestions are linked to) with suggestion counts and supporter revenue. Filter by text, linked suggestion or product area. GET /api/v2/admin/features.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search text in the feature name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "suggestion_ids": {
      "description": "Only features linked to these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "product_area_ids": {
      "description": "Only features in these product areas.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_list_users(query, email_addresses, suggestion_ids, association, sort, ...)

List or search end users and admins (name, email, satisfaction score, supported suggestions count). Filter by text, email address or supported suggestion. GET /api/v2/admin/users.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search text (name or email).",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "email_addresses": {
      "description": "Only users with these email addresses.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 254,
        "format": "email",
        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "suggestion_ids": {
      "description": "Only users associated with these suggestions.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "association": {
      "description": "With suggestion_ids: how the users relate to them (supported = voted, contributed, engaged = any).",
      "type": "string",
      "enum": [
        "supported",
        "contributed",
        "engaged"
      ]
    },
    "sort": {
      "description": "Sort field, '-' prefix = descending, e.g. -created_at, -updated_at, -supporters_count.",
      "type": "string",
      "pattern": "^-?[a-z][a-z0-9_.]{0,63}$"
    },
    "per_page": {
      "default": 20,
      "description": "Records per page (1-100, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "pagination.next_cursor from the previous page (same sort). Preferred over page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "pattern": "^[\\x21-\\x7e]+$"
    },
    "page": {
      "description": "Page number (1-based), when no cursor is used.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢uservoice_get_user(user_id)

One user by id. GET /api/v2/admin/users/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "UserVoice user id."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_create_suggestion(forum_id, title, body, category_id, creator_email, ...)

WRITE: create a new suggestion (idea) in a forum, optionally in a category and on behalf of a user (by email; the user is created if new). It appears on the portal. POST /api/v2/admin/suggestions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "forum_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Forum to post in (see uservoice_list_forums)."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 140,
      "description": "Suggestion title (max 140 characters)."
    },
    "body": {
      "description": "Description (plain text, max 10000 characters).",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "category_id": {
      "description": "Category (see uservoice_list_categories).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "creator_email": {
      "description": "Post on behalf of this user (default: the API client's admin).",
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "creator_name": {
      "description": "The creator's name, with creator_email.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "forum_id",
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_add_comment(suggestion_id, body, user_email, subscribe)

WRITE: post a PUBLIC comment on a suggestion, visible on the portal and emailed to its subscribers, optionally on behalf of a user (by email). For an admin-only remark use uservoice_add_note. POST /api/v2/admin/comments.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Suggestion to comment on."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000,
      "description": "Comment text (plain text)."
    },
    "user_email": {
      "description": "Comment as this user (default: the API client's admin).",
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "subscribe": {
      "default": false,
      "description": "Subscribe the commenter to the suggestion's updates (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "suggestion_id",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_add_note(suggestion_id, body, parent_note_id)

WRITE: add an internal note (admins only, never shown to end users) to a suggestion, optionally as a reply to another note. POST /api/v2/admin/notes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Suggestion to annotate."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000,
      "description": "Note text (plain text)."
    },
    "parent_note_id": {
      "description": "Reply to this note.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "suggestion_id",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_post_status_update(suggestion_id, status_id, body, notify_supporters)

WRITE: post a public status update on a suggestion, optionally changing its public status (see uservoice_list_statuses). Supporters are emailed ONLY when notify_supporters is true. POST /api/v2/admin/status_updates.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "suggestion_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Suggestion to update."
    },
    "status_id": {
      "description": "New public status for the suggestion.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "body": {
      "description": "Message to show (plain text).",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "notify_supporters": {
      "default": false,
      "description": "Email the suggestion's supporters (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "suggestion_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_add_feedback(body, user_email, suggestion_id, source_url)

WRITE: capture a piece of customer feedback (for example from a call or ticket), optionally from a user (by email) and linked to a suggestion, which adds that user's support. POST /api/v2/admin/feedback_records.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000,
      "description": "The feedback text (plain text)."
    },
    "user_email": {
      "description": "The customer who gave the feedback.",
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "suggestion_id": {
      "description": "Suggestion to link the feedback to.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "source_url": {
      "description": "Where the feedback came from (a ticket or call URL).",
      "type": "string",
      "maxLength": 2000,
      "format": "uri"
    }
  },
  "required": [
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴uservoice_attach_label(label_id, suggestion_id)

WRITE: attach a label to a suggestion (attaching it again changes nothing). POST /api/v2/admin/labels/attach.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "label_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Label to attach (see uservoice_list_labels)."
    },
    "suggestion_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Suggestion to label."
    }
  },
  "required": [
    "label_id",
    "suggestion_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada21 herramientas