> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ripio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Investor Questionnaire

> **Brazilian accounts only.** Returns the active investor-profile (suitability) questionnaire for your account's country, required by Resolução BCB nº 520/2025.

Texts are always in **Portuguese**; there is no language parameter. Every question and answer carries a stable id (`questionId`, `answerId`) you can use as a translation key. Scores are not exposed.

It answers for any Brazilian account, even before the investor profile is enabled for it, so you can build the questionnaire screens ahead of time.

Keep the `version`: you send it back as `questionnaireVersion` when [submitting the answers](/ramps-api/investor-profile/submit-investor-profile). See [Investor Profile (Brazil)](/ramps-api/investor-profile/introduction).



## OpenAPI

````yaml ramps-api/openapi.json GET /api/v1/investorProfile/questionnaire/
openapi: 3.1.0
info:
  title: Ripio Ramp API
  version: v1
  description: >-
    API for Ripio ramp services, enabling partners to integrate On-Ramp,
    Off-Ramp, customer management, KYC processes, and other financial
    functionalities. This API is RESTful, uses JSON for requests and responses,
    and standard HTTP status codes. This document is based on the
    'onramp-api.pdf' provided and aims to be compliant with OpenAPI
    Specification v3.1.0. The PDF indicates that the API documentation is a
    draft and subject to change.
servers:
  - url: https://skala-sandbox.ripio.com
    description: Sandbox environment
  - url: https://skala.ripio.com
    description: Production environment
security:
  - BearerToken: []
tags:
  - name: Authentication
    description: Operations related to API authentication and authorization.
  - name: Support Tickets
    description: >-
      Operations for raising and tracking customer support tickets with Ripio's
      support team. This feature must be enabled for your account by the Ripio
      team.
  - name: Customers
    description: Operations related to customer management.
  - name: KYC
    description: Operations related to Know Your Customer processes.
  - name: Investor Profile
    description: >-
      Brazilian accounts only: the investor-profile (suitability) questionnaire
      required by Resolução BCB nº 520/2025.
  - name: Fiat Accounts
    description: Operations related to managing fiat accounts and their requirements.
  - name: Quotes
    description: Operations related to obtaining and managing conversion quotes.
  - name: On-Ramp
    description: Operations related to fiat-to-crypto (on-ramp) processes.
  - name: Off-Ramp
    description: Operations related to crypto-to-fiat (off-ramp) processes.
  - name: Refunds
    description: >-
      Operations for returning the money of an on-ramp or off-ramp operation
      that could not be completed. Each ramp must be enabled for your account by
      the Ripio team.
  - name: Transactions
    description: Operations related to listing and managing all transaction types.
  - name: Networks
    description: >-
      Operations related to retrieving available deposit and withdrawal
      networks.
  - name: Rates
    description: Operations related to retrieving market rates.
  - name: Transaction Limits
    description: >-
      Operations related to retrieving per-transaction limits by currency and
      ramp operation.
  - name: Sandbox
    description: Operations specific to the sandbox environment for testing purposes.
  - name: Webhooks
    description: Webhook event notifications from Ripio Ramp API.
  - name: Sell and Pay
    description: >-
      Endpoints for managing Sell and Pay transactions, which allow customers to
      convert cryptocurrency to fiat currency and pay merchants via QR codes
paths:
  /api/v1/investorProfile/questionnaire/:
    get:
      tags:
        - Investor Profile
      summary: Get Investor Questionnaire
      description: >-
        **Brazilian accounts only.** Returns the active investor-profile
        (suitability) questionnaire for your account's country, required by
        Resolução BCB nº 520/2025.


        Texts are always in **Portuguese**; there is no language parameter.
        Every question and answer carries a stable id (`questionId`, `answerId`)
        you can use as a translation key. Scores are not exposed.


        It answers for any Brazilian account, even before the investor profile
        is enabled for it, so you can build the questionnaire screens ahead of
        time.


        Keep the `version`: you send it back as `questionnaireVersion` when
        [submitting the
        answers](/ramps-api/investor-profile/submit-investor-profile). See
        [Investor Profile (Brazil)](/ramps-api/investor-profile/introduction).
      operationId: getInvestorQuestionnaire
      responses:
        '200':
          description: The active questionnaire.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvestorQuestionnaireResponse'
              example:
                version: 1
                questions:
                  - questionId: familiarity_experience
                    questionText: >-
                      Como você descreveria sua experiência e seu conhecimento
                      com ativos virtuais?
                    answers:
                      - answerId: never_invested
                        answerText: Nunca investi
                      - answerId: invested_occasionally
                        answerText: Já investi algumas vezes
                      - answerId: invests_regularly
                        answerText: Invisto regularmente
                  - questionId: investment_goal
                    questionText: Quando você investe, qual é o seu principal objetivo?
                    answers:
                      - answerId: preserve_value
                        answerText: Proteger o valor do meu dinheiro
                      - answerId: grow_medium_term
                        answerText: Fazer meu dinheiro crescer no médio prazo
                      - answerId: maximize_returns
                        answerText: Maximizar os ganhos, mesmo correndo algum risco
                  - questionId: investment_horizon
                    questionText: >-
                      Por quanto tempo você pretende manter seus ativos
                      virtuais?
                    answers:
                      - answerId: less_than_1_year
                        answerText: Menos de um ano
                      - answerId: from_1_to_3_years
                        answerText: De 1 a 3 anos
                      - answerId: more_than_3_years
                        answerText: Mais de 3 anos
                  - questionId: drawdown_reaction
                    questionText: >-
                      Se o seu investimento caísse 30% em um mês, o que você
                      faria?
                    answers:
                      - answerId: sell_everything
                        answerText: Venderia tudo para não perder mais
                      - answerId: wait_recovery
                        answerText: Esperaria a recuperação
                      - answerId: buy_more
                        answerText: Aproveitaria para comprar mais barato
                  - questionId: savings_allocation
                    questionText: >-
                      Que parte das suas economias você pretende destinar a
                      investimentos?
                    answers:
                      - answerId: small_portion
                        answerText: Uma parte pequena (menos de 20%)
                      - answerId: significant_portion
                        answerText: Uma parte significativa (de 20% a 50%)
                      - answerId: most_savings
                        answerText: A maior parte (mais de 50%)
        '401':
          description: Unauthorized - Invalid or missing access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 40001
                type: NotAuthenticated
                detail:
                  message: Authentication credentials were not provided.
                  code: not_authenticated
                status: 401
        '404':
          description: >-
            Not Found - your account is not a Brazilian account, or there is no
            active questionnaire for its country.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 40004
                type: NotFound
                detail:
                  message: Not found.
                  code: not_found
                status: 404
components:
  schemas:
    InvestorQuestionnaireResponse:
      type: object
      description: >-
        The active investor questionnaire for the account's country. Scores are
        not exposed.
      properties:
        version:
          type: integer
          description: >-
            Version of the questionnaire. Send it back as `questionnaireVersion`
            when submitting the answers.
          example: 1
        questions:
          type: array
          items:
            $ref: '#/components/schemas/InvestorQuestionnaireQuestion'
      required:
        - version
        - questions
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: Application-specific error code.
        type:
          type: string
          description: Type of error or exception.
        detail:
          type:
            - object
            - array
          description: >-
            Error details. The shape depends on the error:


            - Most business errors return an object with a `message` key.

            - Field validation errors return an object keyed by field name, each
            holding an array of `{ message, code }`.

            - Request-level validation errors (e.g. a missing query parameter)
            return a bare array of `{ message, code }`.
          properties:
            message:
              type: string
              description: Detailed error message.
          additionalProperties: true
        status:
          type: integer
          description: HTTP status code.
      required:
        - code
        - type
        - detail
        - status
    InvestorQuestionnaireQuestion:
      type: object
      properties:
        questionId:
          type: string
          description: >-
            Stable identifier of the question. Ids never change within a
            version: use them as translation keys.
          example: familiarity_experience
        questionText:
          type: string
          description: Question text, always in Portuguese.
          example: >-
            Como você descreveria sua experiência e seu conhecimento com ativos
            virtuais?
        answers:
          type: array
          description: The possible answers. Exactly one must be chosen.
          items:
            $ref: '#/components/schemas/InvestorQuestionnaireAnswerOption'
      required:
        - questionId
        - questionText
        - answers
    InvestorQuestionnaireAnswerOption:
      type: object
      properties:
        answerId:
          type: string
          description: >-
            Stable identifier of the answer. Send it back in
            `answers[].answerId`.
          example: invests_regularly
        answerText:
          type: string
          description: Answer text, always in Portuguese.
          example: Invisto regularmente
      required:
        - answerId
        - answerText
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Access token obtained via
        [/oauth2/token/](/ramps-api/authentication/acquire-access-token). Use as
        `Authorization: Bearer <access_token>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.