Public API v1

Build on SurveyMint

Use the SurveyMint public API to manage surveys, work with the response exchange, submit answers, and inspect account credits from your own application.

Public API v1 beta

API-key authentication and the core account, credit, survey, exchange, question, analytics, and rewarded-response endpoints are available. OAuth, registration, billing, and CSV export endpoints remain on the published contract roadmap.

Quickstart

From API key to first request

01

Create an API key

Generate a scoped key from your SurveyMint dashboard. The complete secret is displayed once.

02

Authenticate

Send the key in the X-API-Key header. Keys never belong in URLs or public frontend code.

03

Build your workflow

Create surveys, fund exchange campaigns, collect responses, and read credit details as JSON.

Authentication

A familiar API key header

API keys are generated in dashboard settings and may be limited by scope and expiry. SurveyMint stores only a cryptographic hash and shows the complete key once.

  • Base URL: https://surveymint.io/api/v1
  • Header: X-API-Key: sm_live_...
  • JSON responses and application/problem+json errors
  • X-Request-Id correlation on API responses
curl
curl --request GET \
  'https://surveymint.io/api/v1/users/me' \
  --header 'X-API-Key: sm_live_REPLACE_ME'
200 response
{
  "data": {
    "id": "01K...",
    "email": "researcher@example.com",
    "email_verified": true,
    "onboarded": true
  }
}

API surface

Regular SurveyMint actions, as endpoints

The authenticated user is always derived from the API key. Clients cannot select another account by sending a user ID.

Account

profile:read
  • GET /users/me
  • PATCH /users/me
  • GET /users/me/credits

Surveys

surveys:write
  • GET /surveys
  • POST /surveys
  • PUT /surveys/{survey_id}/questions

Exchange

exchange:read
  • GET /exchange/surveys?view=available
  • GET /exchange/surveys/{exchange_id}/questions
  • POST /exchange/surveys/{exchange_id}/responses

Results

surveys:read
  • GET /surveys/{survey_id}/responses
  • GET /surveys/{survey_id}/analytics
  • GET /users/me/credit-transactions

Create your first API key

Choose the minimum scopes your integration needs, copy the secret once, and make your first request from a private backend or script.

Manage API keys