Antavo Profiling API

Endpoints provided by the _Gamified Profiling_ module

Operations 3

GET /customers/{customer_id}/activities/profiling/{flow_id}/next Retrieve the next question to answer within a profiling flow
GET /customers/{customer_id}/activities/profiling List profiling flows available to the customer
POST /customers/{customer_id}/activities/profiling/{flow_id}/questions/{question_id} Submit an answer to a profiling question

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/antavo-profiling-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

antavo-profiling-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  title: Antavo Display Profiling API
  version: 1.0.0
  description: Endpoints provided by the _Gamified Profiling_ module
servers:
- url: https://api.staging.antavo.com
  description: The Antavo staging environment
security:
- api_key: []
tags:
- name: Profiling
  description: Endpoints provided by the _Gamified Profiling_ module
paths:
  /customers/{customer_id}/activities/profiling/{flow_id}/next:
    get:
      tags:
      - Profiling
      summary: Retrieve the next question to answer within a profiling flow
      description: This endpoints returns the next question within a profiling flow that the customer should answer. If there are no more questions left to answer in the given flow, the call will trigger the ``profiling_flow`` event, and any associated points will be awarded to the customer.
      parameters:
      - name: customer_id
        in: path
        required: true
        description: "Unique customer ID. This can be \n\n  * The Antavo customer ID\n  * An external ID (requires [configuration](/docs/customers#external-identifiers)): ``{external_field:external_id_value}``\n"
        schema:
          type: string
          example: 280e674c-c4ea-4a30-987a-d9267d1a5018
      - name: flow_id
        in: path
        required: true
        description: The ID of the profiling flow to complete.
        schema:
          type: string
          example: 63d8d8cc17572c6ec15e688c
      - name: Accept-language
        in: header
        description: 'If set in the Antavo Management UI, this header will ensure the response returns translated values for the following question attributes:


          * title

          * description

          * possible answers

          '
        required: false
        schema:
          type: string
          description: ISO639 code of the language.
          example: de
      responses:
        '200':
          description: The next question to answer.<br> The information returned in the response depends on the type of answer and its configured attributes. This example shows the attributes of a **text_options** question.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfilingQuestionOptions'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                No more questions to answer:
                  value:
                    type: BadRequestException
                    code: 0
                    message: There are no more questions
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Customer not found:
                  value:
                    type: NotFoundException
                    code: 160212
                    message: Customer not found
  /customers/{customer_id}/activities/profiling:
    get:
      tags:
      - Profiling
      summary: List profiling flows available to the customer
      description: This endpoints provides the list of all available profiling flow for a specific customer to complete.
      parameters:
      - name: customer_id
        in: path
        required: true
        description: "Unique customer ID. This can be \n\n  * The Antavo customer ID\n  * An external ID (requires [configuration](/docs/customers#external-identifiers)): ``{external_field:external_id_value}``\n"
        schema:
          type: string
          example: 280e674c-c4ea-4a30-987a-d9267d1a5018
      responses:
        '200':
          description: List of profiling flows activities
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Activity'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Customer not found:
                  value:
                    type: NotFoundException
                    code: 160212
                    message: Customer not found
  /customers/{customer_id}/activities/profiling/{flow_id}/questions/{question_id}:
    post:
      tags:
      - Profiling
      summary: Submit an answer to a profiling question
      description: 'This endpoint allows for submitting the customer''s answers to profiling questions. Two types of events are recorded through this endpoint:

        * A `profiling_answer` event is recorded each time an answer is submitted to a profiling question.

        * A `profiling_flow` event is recorded once all answers in a flow have been successfully submitted in separate requests. This event indicates that the entire profiling sequence has been completed.


        Learn more about these events under the list of [Internal events](/docs/internal-events#profiling_answer).

        '
      parameters:
      - name: customer_id
        in: path
        required: true
        description: "Unique customer ID. This can be \n\n* The Antavo customer ID\n* An external ID (requires [configuration](/docs/customers#external-identifiers)): ``{external_field:external_id_value}``\n"
        schema:
          type: string
          example: 280e674c-c4ea-4a30-987a-d9267d1a5018
      - name: flow_id
        in: path
        required: true
        description: Flow ID.
        schema:
          type: string
      - name: question_id
        in: path
        required: true
        description: Question ID.
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                answer:
                  description: Answer ID where available, or the answer text. For multiple answers an array should be passed. This should be a boolean value for `like` questions.
                  type: string
              required:
              - answer
      responses:
        '200':
          description: Answer accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Flow completion message. Returned only when the flow is completed.
                    example: Congratulations! You just finished our survey.
                  cta_label:
                    type: string
                    description: CTA button label to dismiss completion message. Returned only when the flow is completed.
                    example: Back to my activities
        '400':
          description: Invalid answer
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    description: Type of the error occurred.
                    example: BadRequestException
                  code:
                    type: number
                    description: Error code.
                    example: 0
                  message:
                    type: string
                    description: Human readable error message.
                    example: Invalid answer
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    description: Type of the error occurred.
                    example: NotFoundException
                  code:
                    type: number
                    description: Error code.
                    example: 160212
                  message:
                    type: string
                    description: Human readable error message.
                    example: Customer not found
components:
  schemas:
    Image:
      type: object
      description: Object contains different sizes of the image asset.
      properties:
        small:
          type: string
          format: uri
          example: https://example.com/1715791767-nH7Mf.jpeg
        medium:
          type: string
          format: uri
          example: https://example.com/1715791767-nH7Mf.jpeg
        large:
          type: string
          format: uri
          example: https://example.com/1715791767-nH7Mf.jpeg
    Activity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the profiling flow to complete.
          example: 6331b62a60265969697786
        title:
          type: string
          description: Title of the profiling flow.
          example: Earn points by sharing your product preferences.
        description:
          type: string
          description: Detailed description of the activity.
          example: Click Start and answer all the questions related to xour product preferences.
        status:
          type: string
          description: Status of the profiling flow.
          enum:
          - active
          - scheduled
          - expired
          - restricted
        image:
          $ref: '#/components/schemas/Image'
        points:
          type: integer
          description: Number of points to earn.
          example: 100
        activity_type:
          type: string
          description: Type of the activity.
          example: profiling
        questions:
          type: integer
          description: Number of questions within the profiling flow.
          example: 5
        _actions:
          type: object
          properties:
            next:
              type: object
              description: Endpoint to retrieve the next question in the flow to answer.
              properties:
                method:
                  type: string
                  example: GET
                url:
                  type: string
                  format: uri
                  example: /customers/c987654/activities/profiling/6331b62a60265969697786/next
    ProfilingQuestionOptions:
      type: object
      description: The profiling question to be answered.
      properties:
        type:
          type: string
          enum:
          - like
          - text_options
          - image_options
          - color_options
          - text_input
          - datepicker
          - numeric_slider
          - feedback
          example: text_options
        title:
          type: string
          description: The title of the question.
          example: What type of clothing do you most frequently shop for?
        description:
          type: string
          description: Additional information for answering the question.
          example: Please select one category that you shop for the most often.
        position:
          type: integer
          description: Question's position in the flow.
          example: '2'
        multi-choice:
          type: boolean
          description: Indicates whether the customer can select multiple answers.
          example: false
        answers:
          type: array
          description: Provided answer options. <br> Answers are **not present** for `numeric-slider`, `text-input`, `date-picker` and `feedback` type of questions.
          items:
            type: object
            properties:
              id:
                type: string
                description: ID of the answer options.
              text:
                type: string
                description: Answer itself.
            example:
            - id: 668966f298ce866bba0a3539
              text: Casual
            - id: 668966f298ce866bba0a353a
              text: Formal
            - id: 668966f298ce866bba0a353b
              text: Workwear
            - id: 668966f298ce866bba0a353c
              text: Loungewear
            - id: 668966f298ce866bba0a353d
              text: Activewear
        _actions:
          type: object
          properties:
            answer:
              type: object
              description: The endpoint to submit the answer to the question.
              properties:
                method:
                  type: string
                  example: POST
                url:
                  type: string
                  format: uri
                  example: /customers/c987654/activities/profiling/63d8d8cc17572c6ec15e688c/questions/6644deb1d959c7036f1875fd
    ErrorResponse:
      type: object
      description: This describes the structure returned if an error occurred
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              description: Type of the error occurred.
              example: BadRequestException
            code:
              type: number
              description: Error code.
              example: 113401
            message:
              type: string
              description: Human readable error message.
              example: Missing required parameter 'parameter_name'
  securitySchemes:
    api_key:
      type: apiKey
      name: api_key
      description: Provides API Key access to the endpoint
      in: query