Wispr AI Promotions API

The Promotions API from Wispr AI — 6 operation(s) for promotions.

Operations 6

GET /api/v1/promos/android_waitlist_rank Get Android Waitlist Rank #
POST /api/v1/promos/android_waitlist/phone_number Submit Phone Number #
POST /api/v1/promos/android_waitlist/verify_social_share Verify Social Share #
GET /api/v1/promos/campaign/validate Validate Promo Code #
POST /api/v1/promos/campaign/apply Apply Promo Code #
GET /api/v1/promos/campaign/pending Get Pending Promo #

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/wispr-ai-promotions-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

wispr-ai-promotions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wispr Backend Analytics Promotions API
  description: Wispr Backend API
  version: 0.5.2
servers:
- url: https://api.wisprflow.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Promotions
paths:
  /api/v1/promos/android_waitlist_rank:
    get:
      tags:
      - Promotions
      summary: Get Android Waitlist Rank
      description: 'Get the current Android waitlist rank for the authenticated user.

        Returns referral_code, current_rank, total_boost, referrals_count, and desktop_dictation_bonus_earned.'
      operationId: get_android_waitlist_rank
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AndroidWaitlistRankResponse'
      security:
      - ApiKeyHeaderPatched: []
  /api/v1/promos/android_waitlist/phone_number:
    post:
      tags:
      - Promotions
      summary: Submit Phone Number
      description: 'Submit phone number for Android waitlist boost.

        Awards 30,000 points on first submission.'
      operationId: submit_phone_number
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PhoneNumberSubmitRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoostActionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - ApiKeyHeaderPatched: []
  /api/v1/promos/android_waitlist/verify_social_share:
    post:
      tags:
      - Promotions
      summary: Verify Social Share
      description: 'Verify a social share screenshot and award boost points.


        Upload a screenshot of your social media post about Wispr Flow.

        The screenshot will be verified using AI to confirm:

        - The post mentions Wispr Flow or contains a wisprflow.ai URL

        - The post was actually published (not just composed)

        - The platform (Twitter/X, LinkedIn, WhatsApp, or Slack)


        Boost points awarded:

        - Twitter/X: 50,000 points

        - LinkedIn: 50,000 points

        - WhatsApp: 20,000 points

        - Slack: 20,000 points


        Each platform can only be claimed once per user.


        File requirements:

        - PNG or JPEG format only

        - Maximum file size: 20MB'
      operationId: verify_social_share
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_verify_social_share_api_v1_promos_android_waitlist_verify_social_share_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoostActionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - ApiKeyHeaderPatched: []
  /api/v1/promos/campaign/validate:
    get:
      tags:
      - Promotions
      summary: Validate Promo Code
      description: Validate a promo code and return attribution info without applying it.
      operationId: validate_promo_code
      security:
      - ApiKeyHeaderPatched: []
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 80
          title: Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPromoDetails'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/promos/campaign/apply:
    post:
      tags:
      - Promotions
      summary: Apply Promo Code
      description: Validate and attach a promo code to the current user for their next checkout.
      operationId: apply_promo_code
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyPromoCodeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPromoDetails'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - ApiKeyHeaderPatched: []
  /api/v1/promos/campaign/pending:
    get:
      tags:
      - Promotions
      summary: Get Pending Promo
      description: 'Get the current user''s pending promo info (for paywall/onboarding display).


        Returns 200 with campaign details if a pending promo exists, or 204 if not.'
      operationId: get_pending_promo
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPromoDetails'
      security:
      - ApiKeyHeaderPatched: []
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    CampaignPromoDetails:
      properties:
        trial_days:
          type: integer
          title: Trial Days
        source_name:
          type: string
          title: Source Name
        attribution_message:
          type: string
          title: Attribution Message
        code_id:
          type: string
          title: Code Id
        campaign_id:
          type: string
          title: Campaign Id
      type: object
      required:
      - trial_days
      - source_name
      - attribution_message
      - code_id
      - campaign_id
      title: CampaignPromoDetails
      description: Resolved promo details for a validated code and its campaign.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BoostActionResponse:
      properties:
        success:
          type: boolean
          title: Success
        action:
          type: string
          title: Action
        boost_earned:
          type: integer
          title: Boost Earned
        current_rank:
          type: integer
          title: Current Rank
        total_boost:
          type: integer
          title: Total Boost
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
      type: object
      required:
      - success
      - action
      - boost_earned
      - current_rank
      - total_boost
      title: BoostActionResponse
      description: Generic response for boost action endpoints
    Body_verify_social_share_api_v1_promos_android_waitlist_verify_social_share_post:
      properties:
        screenshot:
          type: string
          contentMediaType: application/octet-stream
          title: Screenshot
      type: object
      required:
      - screenshot
      title: Body_verify_social_share_api_v1_promos_android_waitlist_verify_social_share_post
    ApplyPromoCodeRequest:
      properties:
        code:
          type: string
          maxLength: 80
          minLength: 1
          title: Code
      type: object
      required:
      - code
      title: ApplyPromoCodeRequest
      description: Request to apply a promo code by its string.
    PhoneNumberSubmitRequest:
      properties:
        phone_number:
          type: string
          pattern: ^\+[1-9]\d{6,14}$
          title: Phone Number
      type: object
      required:
      - phone_number
      title: PhoneNumberSubmitRequest
      description: Request schema for phone number boost submission
    AndroidWaitlistRankResponse:
      properties:
        referral_code:
          type: string
          title: Referral Code
        current_rank:
          type: integer
          title: Current Rank
        starting_rank:
          type: integer
          title: Starting Rank
        total_boost:
          type: integer
          title: Total Boost
        referrals_count:
          type: integer
          title: Referrals Count
        desktop_dictation_bonus_earned:
          type: boolean
          title: Desktop Dictation Bonus Earned
        phone_number_bonus_earned:
          type: boolean
          title: Phone Number Bonus Earned
        current_desktop_words:
          type: integer
          title: Current Desktop Words
        verified_share_twitter:
          type: boolean
          title: Verified Share Twitter
        verified_share_whatsapp:
          type: boolean
          title: Verified Share Whatsapp
        verified_share_linkedin:
          type: boolean
          title: Verified Share Linkedin
        verified_share_slack:
          type: boolean
          title: Verified Share Slack
        verified_share_discord:
          type: boolean
          title: Verified Share Discord
      type: object
      required:
      - referral_code
      - current_rank
      - starting_rank
      - total_boost
      - referrals_count
      - desktop_dictation_bonus_earned
      - phone_number_bonus_earned
      - current_desktop_words
      - verified_share_twitter
      - verified_share_whatsapp
      - verified_share_linkedin
      - verified_share_slack
      - verified_share_discord
      title: AndroidWaitlistRankResponse
      description: Response schema for GET /promos/android_waitlist_rank
  securitySchemes:
    ApiKeyHeaderPatched:
      type: apiKey
      in: header
      name: Authorization
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key