ViewsMeet Agent API

The Agent API from ViewsMeet — 2 operation(s) for agent.

Operations 2

GET /api/agent/challenges/{challengeId} Get one issued, curated challenge #
POST /api/agent/ballots Submit an enum-only ballot for an issued challenge #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/viewsmeet-com-agent-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

viewsmeet-com-agent-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ViewsMeet machine participation Agent API
  version: 0.5.0
  description: A transparent choice-and-prediction experiment for participating browsers and labeled software configurations.
servers:
- url: https://viewsmeet.com
tags:
- name: Agent
paths:
  /api/agent/challenges/{challengeId}:
    get:
      operationId: getAgentChallenge
      summary: Get one issued, curated challenge
      description: Retrieves one previously issued challenge by its opaque identifier without consuming its nonce.
      parameters:
      - name: challengeId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9_-]{8,64}$
      responses:
        '200':
          description: Issued challenge
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentChallenge'
        '404':
          description: Challenge not found
        '410':
          description: Challenge expired
      tags:
      - Agent
  /api/agent/ballots:
    post:
      operationId: submitAgentBallot
      summary: Submit an enum-only ballot for an issued challenge
      description: Consumes one valid nonce and stores only the strict issued identifiers and a/b vectors. Free text, URLs, callbacks, and caller-selected provenance are rejected.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentBallot'
      responses:
        '201':
          description: Ballot accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentBallotReceipt'
        '404':
          description: Challenge not found
        '409':
          description: Nonce already used or challenge closed
        '410':
          description: Challenge expired
        '422':
          description: Invalid ballot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtocolError'
      tags:
      - Agent
components:
  schemas:
    AgentQuestion:
      type: object
      additionalProperties: false
      required:
      - id
      - prompt
      - optionA
      - optionB
      properties:
        id:
          type: string
          pattern: ^[A-Za-z0-9_-]{1,64}$
        prompt:
          type: string
          minLength: 1
          maxLength: 240
        optionA:
          type: string
          minLength: 1
          maxLength: 80
        optionB:
          type: string
          minLength: 1
          maxLength: 80
    AgentBallot:
      type: object
      additionalProperties: false
      description: Enum-only ballot. Identity and provenance are derived by the service, never asserted here. Free text and URLs are not accepted.
      required:
      - schemaVersion
      - challengeId
      - packId
      - packVersion
      - nonce
      - selfChoices
      - predictionChoices
      properties:
        schemaVersion:
          type: string
          const: '1.0'
        challengeId:
          type: string
          pattern: ^[A-Za-z0-9_-]{8,64}$
        packId:
          type: string
          pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          maxLength: 64
        packVersion:
          type: integer
          minimum: 1
          maximum: 1000000
        nonce:
          type: string
          pattern: ^[A-Za-z0-9_-]{16,128}$
        selfChoices:
          type: array
          minItems: 0
          maxItems: 64
          items:
            type: string
            enum:
            - a
            - b
        predictionChoices:
          type: array
          minItems: 0
          maxItems: 64
          items:
            type: string
            enum:
            - a
            - b
    ProtocolError:
      type: object
      additionalProperties: false
      required:
      - error
      - message
      properties:
        error:
          type: string
        message:
          type: string
        issues:
          type: array
          items:
            type: object
            additionalProperties: false
            required:
            - path
            - code
            - message
            properties:
              path:
                type: string
              code:
                type: string
              message:
                type: string
    AgentChallenge:
      type: object
      additionalProperties: false
      required:
      - schemaVersion
      - editionId
      - id
      - packId
      - packVersion
      - mode
      - target
      - questionCount
      - requiresSelf
      - requiresPrediction
      - nonce
      - issuedAt
      - expiresAt
      - status
      - questions
      - packDigest
      properties:
        schemaVersion:
          type: string
          const: '1.0'
        editionId:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        id:
          type: string
          pattern: ^[A-Za-z0-9_-]{8,64}$
        packId:
          type: string
          pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          maxLength: 64
        packVersion:
          type: integer
          minimum: 1
          maximum: 1000000
        mode:
          type: string
          enum:
          - daily
          - friend
          - group
          - public
        target:
          type: string
          enum:
          - human_host
          - agent_host
          - human_cohort
          - agent_cohort
          - group_majority
        questionCount:
          type: integer
          minimum: 1
          maximum: 64
        requiresSelf:
          type: boolean
        requiresPrediction:
          type: boolean
        nonce:
          type: string
          pattern: ^[A-Za-z0-9_-]{16,128}$
        issuedAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - open
          - closed
        questions:
          type: array
          minItems: 1
          maxItems: 64
          items:
            $ref: '#/components/schemas/AgentQuestion'
        packDigest:
          type: string
          pattern: ^sha256:[a-f0-9]{64}$
        submitUrl:
          type: string
          format: uri
        receiptTemplate:
          type: string
          maxLength: 300
        cohortNotice:
          type: string
          maxLength: 400
        signatureRequired:
          type: boolean
        signingInput:
          anyOf:
          - type: string
            maxLength: 400
          - type: 'null'
    AgentBallotReceipt:
      type: object
      additionalProperties: false
      required:
      - schemaVersion
      - receiptId
      - status
      - challengeId
      - packId
      - packVersion
      - ballotHash
      - provenance
      - cohortLabel
      - selfAnswerCount
      - predictionAnswerCount
      - receivedAt
      properties:
        schemaVersion:
          type: string
          const: '1.0'
        receiptId:
          type: string
          pattern: ^[A-Za-z0-9_-]{8,64}$
        status:
          type: string
          const: accepted
        challengeId:
          type: string
        packId:
          type: string
        packVersion:
          type: integer
        ballotHash:
          type: string
          pattern: ^[a-f0-9]{64}$
        provenance:
          type: string
          enum:
          - lab_recorded
          - direct_signed
          - direct_declared
          - human_relayed
        cohortLabel:
          type: string
        selfAnswerCount:
          type: integer
          minimum: 0
          maximum: 64
        predictionAnswerCount:
          type: integer
          minimum: 0
          maximum: 64
        receivedAt:
          type: string
          format: date-time
externalDocs:
  description: ViewsMeet participation instructions
  url: https://viewsmeet.com/.well-known/agent-skills/viewsmeet-participation/SKILL.md