FinanceGenius.AI CRM repeat and cross-sell API

The CRM repeat and cross-sell API from FinanceGenius.AI — 17 operation(s) for crm repeat and cross-sell.

GitHub OpenAPI

Operations 19

GET /api/v1/crm/repeat/plays Plays #
GET /api/v1/crm/repeat/templates Templates #
GET /api/v1/crm/repeat/cohort Cohort #
GET /api/v1/crm/repeat/customers/{customer_ref} Customer Plays #
GET /api/v1/crm/repeat/payouts/terms Get Terms #
POST /api/v1/crm/repeat/payouts/terms Post Terms #
POST /api/v1/crm/repeat/payouts/terms/{terms_id}/approve Approve Terms #
GET /api/v1/crm/repeat/payouts/files Get Files #
POST /api/v1/crm/repeat/payouts/files Post File #
POST /api/v1/crm/repeat/payouts/files/{file_id}/approve Approve File #
POST /api/v1/crm/repeat/payouts/files/{file_id}/reject Reject File #
GET /api/v1/crm/repeat/payouts/disbursals Get Disbursals #
GET /api/v1/crm/repeat/payouts/exceptions Get Exceptions #
POST /api/v1/crm/repeat/payouts/exceptions/{exception_id}/propose Propose #
POST /api/v1/crm/repeat/payouts/exceptions/{exception_id}/approve Approve #
POST /api/v1/crm/repeat/payouts/reconciliation Post Recon #
GET /api/v1/crm/repeat/payouts/reconciliation/runs Get Runs #
GET /api/v1/crm/repeat/payouts/audit Get Audit #
GET /api/v1/crm/repeat/me Me #

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-repeat-and-cross-sell-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-repeat-and-cross-sell-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Financegenius Ai CRM repeat and cross-sell API
  version: 1.0.0
  description: 'Operations tagged CRM repeat and cross-sell 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 repeat and cross-sell
paths:
  /api/v1/crm/repeat/plays:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Plays
      operationId: plays_api_v1_crm_repeat_plays_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/repeat/templates:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Templates
      operationId: templates_api_v1_crm_repeat_templates_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/v1/crm/repeat/cohort:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Cohort
      operationId: cohort_api_v1_crm_repeat_cohort_get
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          maximum: 365
          minimum: 7
          default: 90
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/customers/{customer_ref}:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Customer Plays
      operationId: customer_plays_api_v1_crm_repeat_customers__customer_ref__get
      parameters:
      - name: customer_ref
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Customer 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/repeat/payouts/terms:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Terms
      operationId: get_terms_api_v1_crm_repeat_payouts_terms_get
      parameters:
      - name: lender_code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^[a-z][a-z0-9_]{1,39}$
          - type: 'null'
          title: Lender Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Post Terms
      operationId: post_terms_api_v1_crm_repeat_payouts_terms_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_repeat__TermsIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/terms/{terms_id}/approve:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Approve Terms
      operationId: approve_terms_api_v1_crm_repeat_payouts_terms__terms_id__approve_post
      parameters:
      - name: terms_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Terms 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/repeat/payouts/files:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Files
      operationId: get_files_api_v1_crm_repeat_payouts_files_get
      parameters:
      - name: lender_code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^[a-z][a-z0-9_]{1,39}$
          - type: 'null'
          title: Lender Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Post File
      operationId: post_file_api_v1_crm_repeat_payouts_files_post
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_file_api_v1_crm_repeat_payouts_files_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/files/{file_id}/approve:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Approve File
      operationId: approve_file_api_v1_crm_repeat_payouts_files__file_id__approve_post
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: File Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_repeat__CheckIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/files/{file_id}/reject:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Reject File
      operationId: reject_file_api_v1_crm_repeat_payouts_files__file_id__reject_post
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: File 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/repeat/payouts/disbursals:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Disbursals
      operationId: get_disbursals_api_v1_crm_repeat_payouts_disbursals_get
      parameters:
      - name: lender_code
        in: query
        required: true
        schema:
          type: string
          pattern: ^[a-z][a-z0-9_]{1,39}$
          title: Lender Code
      - name: period
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^20[0-9]{2}-(0[1-9]|1[0-2])$
          - type: 'null'
          title: Period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/exceptions:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Exceptions
      operationId: get_exceptions_api_v1_crm_repeat_payouts_exceptions_get
      parameters:
      - name: lender_code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^[a-z][a-z0-9_]{1,39}$
          - type: 'null'
          title: Lender Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/exceptions/{exception_id}/propose:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Propose
      operationId: propose_api_v1_crm_repeat_payouts_exceptions__exception_id__propose_post
      parameters:
      - name: exception_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Exception Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposeIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/exceptions/{exception_id}/approve:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Approve
      operationId: approve_api_v1_crm_repeat_payouts_exceptions__exception_id__approve_post
      parameters:
      - name: exception_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Exception 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/repeat/payouts/reconciliation:
    post:
      tags:
      - CRM repeat and cross-sell
      summary: Post Recon
      operationId: post_recon_api_v1_crm_repeat_payouts_reconciliation_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__api__v1__crm_repeat__ReconIn'
        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/repeat/payouts/reconciliation/runs:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Runs
      operationId: get_runs_api_v1_crm_repeat_payouts_reconciliation_runs_get
      parameters:
      - name: lender_code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            pattern: ^[a-z][a-z0-9_]{1,39}$
          - type: 'null'
          title: Lender Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/payouts/audit:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Get Audit
      operationId: get_audit_api_v1_crm_repeat_payouts_audit_get
      parameters:
      - name: lender_code
        in: query
        required: true
        schema:
          type: string
          pattern: ^[a-z][a-z0-9_]{1,39}$
          title: Lender Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/crm/repeat/me:
    get:
      tags:
      - CRM repeat and cross-sell
      summary: Me
      description: 'The caller''s own checks (never anyone else''s): which, when the next opens, whether repeat data is on.'
      operationId: me_api_v1_crm_repeat_me_get
      security:
      - HTTPBearer: []
      parameters:
      - name: language
        in: query
        required: false
        schema:
          type: string
          pattern: ^[a-z]{2}(-[A-Za-z]{2,4})?$
          default: en
          title: Language
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    app__api__v1__crm_repeat__ReconIn:
      properties:
        lender_code:
          type: string
          pattern: ^[a-z][a-z0-9_]{1,39}$
          title: Lender Code
        period:
          type: string
          pattern: ^20[0-9]{2}-(0[1-9]|1[0-2])$
          title: Period
      type: object
      required:
      - lender_code
      - period
      title: ReconIn
    app__api__v1__crm_repeat__CheckIn:
      properties:
        confirm_sha256:
          type: string
          pattern: ^[0-9a-fA-F]{64}$
          title: Confirm Sha256
      type: object
      required:
      - confirm_sha256
      title: CheckIn
    ProposeIn:
      properties:
        resolution:
          type: string
          enum:
          - linked
          - reapplied
          - not_ours
          - acknowledged
          - dismissed
          title: Resolution
        evidence_type:
          anyOf:
          - type: string
            enum:
            - lender_email
            - lender_portal
            - lender_letter
            - lender_spec
          - type: 'null'
          title: Evidence Type
        evidence_sha256:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{64}$
          - type: 'null'
          title: Evidence Sha256
        link_lender_application_ref:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Link Lender Application Ref
      type: object
      required:
      - resolution
      title: ProposeIn
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    app__api__v1__crm_repeat__TermsIn:
      properties:
        lender_code:
          type: string
          pattern: ^[a-z][a-z0-9_]{1,39}$
          title: Lender Code
        product:
          type: string
          maxLength: 40
          title: Product
        effective_from:
          type: string
          pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$
          title: Effective From
        kinds:
          items:
            type: string
            enum:
            - repeat
            - top_up
          type: array
          maxItems: 2
          minItems: 1
          title: Kinds
        basis_kind:
          type: string
          enum:
          - rate
          - flat
          title: Basis Kind
        rate_bps:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rate Bps
        flat_paise:
          anyOf:
          - type: integer
          - type: 'null'
          title: Flat Paise
        payout_basis:
          type: string
          enum:
          - gross
          - net
          title: Payout Basis
          default: gross
        repeat_window_months:
          type: integer
          maximum: 36.0
          minimum: 1.0
          title: Repeat Window Months
      type: object
      required:
      - lender_code
      - product
      - effective_from
      - basis_kind
      - repeat_window_months
      title: TermsIn
    Body_post_file_api_v1_crm_repeat_payouts_files_post:
      properties:
        lender_code:
          type: string
          pattern: ^[a-z][a-z0-9_]{1,39}$
          title: Lender Code
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
      type: object
      required:
      - lender_code
      - file
      title: Body_post_file_api_v1_crm_repeat_payouts_files_post
    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
  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)