FinanceGenius.AI CRM console API

The CRM console API from FinanceGenius.AI — 23 operation(s) for crm console.

GitHub OpenAPI

Operations 23

POST /api/v1/crm/console/auth/start Auth Start #
POST /api/v1/crm/console/auth/callback Auth Callback #
POST /api/v1/crm/console/auth/sign-out Auth Sign Out #
GET /api/v1/crm/console/me Me #
GET /api/v1/crm/console/roles Roles #
POST /api/v1/crm/console/customers/search Customer Search #
GET /api/v1/crm/console/customers/{customer_ref} Customer 360 #
POST /api/v1/crm/console/customers/{customer_ref}/unmask Unmask #
GET /api/v1/crm/console/inbox/threads Inbox Threads #
GET /api/v1/crm/console/inbox/threads/{thread_id} Inbox Thread #
POST /api/v1/crm/console/inbox/threads/{thread_id}/assign Inbox Assign #
POST /api/v1/crm/console/inbox/threads/{thread_id}/take-over Inbox Take Over #
POST /api/v1/crm/console/inbox/threads/{thread_id}/hand-back Inbox Hand Back #
POST /api/v1/crm/console/inbox/threads/{thread_id}/check Inbox Check #
POST /api/v1/crm/console/inbox/threads/{thread_id}/reply Inbox Reply #
POST /api/v1/crm/console/inbox/threads/{thread_id}/grievance Inbox Grievance #
POST /api/v1/crm/console/inbox/threads/{thread_id}/close Inbox Close #
POST /api/v1/crm/console/staff Invite #
POST /api/v1/crm/console/staff/{staff_ref}/role Set Role #
POST /api/v1/crm/console/staff/{staff_ref}/roles/grant Grant Role #
POST /api/v1/crm/console/staff/{staff_ref}/roles/revoke Revoke Role #
POST /api/v1/crm/console/staff/{staff_ref}/suspend Suspend #
POST /api/v1/crm/console/staff/{staff_ref}/reactivate Reactivate #

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/financegenius-ai:financegenius-ai-crm-console-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

financegenius-ai-crm-console-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Financegenius Ai CRM console API
  version: 1.0.0
  description: 'Operations tagged CRM console across 2 of this provider''s published API definitions: finmall-openapi.json, financegenius-ai-openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: CRM console
paths:
  /api/v1/crm/console/auth/start:
    post:
      tags:
      - CRM console
      summary: Auth Start
      operationId: auth_start_api_v1_crm_console_auth_start_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/console/auth/callback:
    post:
      tags:
      - CRM console
      summary: Auth Callback
      operationId: auth_callback_api_v1_crm_console_auth_callback_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallbackIn'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/auth/sign-out:
    post:
      tags:
      - CRM console
      summary: Auth Sign Out
      operationId: auth_sign_out_api_v1_crm_console_auth_sign_out_post
      responses:
        '204':
          description: Successful Response
  /api/v1/crm/console/me:
    get:
      tags:
      - CRM console
      summary: Me
      operationId: me_api_v1_crm_console_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/console/roles:
    get:
      tags:
      - CRM console
      summary: Roles
      operationId: roles_api_v1_crm_console_roles_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/console/customers/search:
    post:
      tags:
      - CRM console
      summary: Customer Search
      description: The body is read here, not by a model, so a refusal never repeats the query back (or to a log).
      operationId: customer_search_api_v1_crm_console_customers_search_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/console/customers/{customer_ref}:
    get:
      tags:
      - CRM console
      summary: Customer 360
      operationId: customer_360_api_v1_crm_console_customers__customer_ref__get
      parameters:
      - name: customer_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Customer Ref
      - name: surface
        in: query
        required: false
        schema:
          enum:
          - search
          - inbox
          - board
          - direct
          - grievance
          - roles
          type: string
          default: direct
          title: Surface
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/customers/{customer_ref}/unmask:
    post:
      tags:
      - CRM console
      summary: Unmask
      description: No role can unmask an identifier. The attempt is audited and answered 403 (AT-25).
      operationId: unmask_api_v1_crm_console_customers__customer_ref__unmask_post
      parameters:
      - name: customer_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Customer Ref
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnmaskIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads:
    get:
      tags:
      - CRM console
      summary: Inbox Threads
      operationId: inbox_threads_api_v1_crm_console_inbox_threads_get
      parameters:
      - name: view
        in: query
        required: false
        schema:
          type: string
          default: all
          title: View
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}:
    get:
      tags:
      - CRM console
      summary: Inbox Thread
      operationId: inbox_thread_api_v1_crm_console_inbox_threads__thread_id__get
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/assign:
    post:
      tags:
      - CRM console
      summary: Inbox Assign
      operationId: inbox_assign_api_v1_crm_console_inbox_threads__thread_id__assign_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_console__AssignIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/take-over:
    post:
      tags:
      - CRM console
      summary: Inbox Take Over
      operationId: inbox_take_over_api_v1_crm_console_inbox_threads__thread_id__take_over_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/hand-back:
    post:
      tags:
      - CRM console
      summary: Inbox Hand Back
      operationId: inbox_hand_back_api_v1_crm_console_inbox_threads__thread_id__hand_back_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/check:
    post:
      tags:
      - CRM console
      summary: Inbox Check
      description: The reply checks on a draft, live while staff type. Sends nothing, records nothing.
      operationId: inbox_check_api_v1_crm_console_inbox_threads__thread_id__check_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TextIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/reply:
    post:
      tags:
      - CRM console
      summary: Inbox Reply
      operationId: inbox_reply_api_v1_crm_console_inbox_threads__thread_id__reply_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TextIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/grievance:
    post:
      tags:
      - CRM console
      summary: Inbox Grievance
      operationId: inbox_grievance_api_v1_crm_console_inbox_threads__thread_id__grievance_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_console__GrievanceIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/inbox/threads/{thread_id}/close:
    post:
      tags:
      - CRM console
      summary: Inbox Close
      operationId: inbox_close_api_v1_crm_console_inbox_threads__thread_id__close_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Thread Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff:
    post:
      tags:
      - CRM console
      summary: Invite
      operationId: invite_api_v1_crm_console_staff_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_console__InviteIn'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff/{staff_ref}/role:
    post:
      tags:
      - CRM console
      summary: Set Role
      operationId: set_role_api_v1_crm_console_staff__staff_ref__role_post
      parameters:
      - name: staff_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Staff Ref
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff/{staff_ref}/roles/grant:
    post:
      tags:
      - CRM console
      summary: Grant Role
      description: An extra role for a staff member (Founder/Finance only). Their sessions end; refusals are audited.
      operationId: grant_role_api_v1_crm_console_staff__staff_ref__roles_grant_post
      parameters:
      - name: staff_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Staff Ref
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff/{staff_ref}/roles/revoke:
    post:
      tags:
      - CRM console
      summary: Revoke Role
      description: 'Revoke an extra role (never the primary: change that instead). Their sessions end; refusals are audited.'
      operationId: revoke_role_api_v1_crm_console_staff__staff_ref__roles_revoke_post
      parameters:
      - name: staff_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Staff Ref
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff/{staff_ref}/suspend:
    post:
      tags:
      - CRM console
      summary: Suspend
      operationId: suspend_api_v1_crm_console_staff__staff_ref__suspend_post
      parameters:
      - name: staff_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Staff Ref
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/console/staff/{staff_ref}/reactivate:
    post:
      tags:
      - CRM console
      summary: Reactivate
      operationId: reactivate_api_v1_crm_console_staff__staff_ref__reactivate_post
      parameters:
      - name: staff_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Staff Ref
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RoleIn:
      properties:
        role:
          type: string
          enum:
          - founder_finance
          - growth
          - lender_ops
          - support
          - analytics_tech
          - compliance
          - finance_reviewer
          - language_reviewer
          title: Role
      type: object
      required:
      - role
      title: RoleIn
    TextIn:
      properties:
        text:
          type: string
          maxLength: 4096
          title: Text
          default: ''
      type: object
      title: TextIn
    CloseIn:
      properties:
        reason:
          type: string
          enum:
          - resolved
          - no_reply_needed
          - spam
          - converted_grievance
          title: Reason
          default: resolved
      type: object
      title: CloseIn
    UnmaskIn:
      properties:
        kind:
          type: string
          maxLength: 20
          title: Kind
          default: other
      type: object
      title: UnmaskIn
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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
    app__api__v1__crm_console__GrievanceIn:
      properties:
        category:
          type: string
          enum:
          - service
          - data
          - lender
          - message
          - other
          title: Category
          default: service
        summary:
          anyOf:
          - type: string
            maxLength: 2000
          - type: 'null'
          title: Summary
      type: object
      title: GrievanceIn
    app__api__v1__crm_console__InviteIn:
      properties:
        email:
          type: string
          maxLength: 254
          minLength: 3
          title: Email
        role:
          type: string
          enum:
          - founder_finance
          - growth
          - lender_ops
          - support
          - analytics_tech
          - compliance
          - finance_reviewer
          - language_reviewer
          title: Role
        title:
          type: string
          maxLength: 60
          minLength: 1
          title: Title
      type: object
      required:
      - email
      - role
      - title
      title: InviteIn
    app__api__v1__crm_console__AssignIn:
      properties:
        to_staff_ref:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: To Staff Ref
      type: object
      title: AssignIn
    CallbackIn:
      properties:
        code:
          type: string
          maxLength: 2048
          minLength: 1
          title: Code
        state:
          type: string
          maxLength: 200
          minLength: 1
          title: State
        browser_secret:
          type: string
          maxLength: 200
          minLength: 1
          title: Browser Secret
      type: object
      required:
      - code
      - state
      - browser_secret
      title: CallbackIn
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-refined-from:
- finmall-openapi.json
- financegenius-ai-openapi.json
x-provenance:
  method: harvested
  publisher: FinanceGenius.AI
  source: https://api.finmall.ai/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)