Aveco Ai Reps API

The Ai Reps API from Aveco — 15 operation(s) for ai reps.

Operations 18

GET /api/ai-reps/presets Ai Rep Presets #
POST /api/ai-reps/voice-sample Ai Rep Voice Sample #
GET /api/ai-reps/{rep_id}/voice Ai Rep Voice Get #
PUT /api/ai-reps/{rep_id}/voice Ai Rep Voice Update #
PUT /api/ai-reps/{rep_id}/voice-reply Ai Rep Voice Reply Mode #
GET /api/ai-reps/{rep_id}/memory Ai Rep Memory List #
POST /api/ai-reps/{rep_id}/memory/{memory_id}/forget Ai Rep Memory Forget #
GET /api/ai-reps Ai Rep List #
POST /api/ai-reps Ai Rep Hire #
POST /api/ai-reps/{rep_id}/pause Ai Rep Pause #
POST /api/ai-reps/{rep_id}/resume Ai Rep Resume #
POST /api/ai-reps/{rep_id}/archive Ai Rep Archive #
POST /api/ai-reps/{rep_id}/handoff Ai Rep Handoff #
POST /api/ai-reps/{rep_id}/assignments/{assignment_id}/transfer Ai Rep Transfer Territory #
GET /api/ai-reps/team-summary Ai Rep Team Summary #
GET /api/ai-reps/project-limits Ai Rep Project Limits Get #
PUT /api/ai-reps/project-limits Ai Rep Project Limits Put #
GET /api/ai-reps/{rep_id}/activity Ai Rep Activity #

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/aveco-app:aveco-app-ai-reps-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

aveco-app-ai-reps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aveco Ai Reps API
  version: 0.1.0
tags:
- name: Ai Reps
paths:
  /api/ai-reps/presets:
    get:
      summary: Ai Rep Presets
      operationId: ai_rep_presets_api_ai_reps_presets_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Ai Reps
  /api/ai-reps/voice-sample:
    post:
      summary: Ai Rep Voice Sample
      description: 'Real TTS call for the hire wizard''s voice-picker ▶ button — plays

        the exact greeting phrase in the picked voice (plan §3), not a canned

        ElevenLabs preview clip.'
      operationId: ai_rep_voice_sample_api_ai_reps_voice_sample_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceSampleBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/voice:
    get:
      summary: Ai Rep Voice Get
      operationId: ai_rep_voice_get_api_ai_reps__rep_id__voice_get
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
    put:
      summary: Ai Rep Voice Update
      description: 'Full VoicePersona settings outside the hire wizard (plan §3 —

        everything past the wizard''s single speaking-rate slider lives here,

        same split as the text "Рамки работы" tab).'
      operationId: ai_rep_voice_update_api_ai_reps__rep_id__voice_put
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoicePersonaUpdateBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/voice-reply:
    put:
      summary: Ai Rep Voice Reply Mode
      description: 'docs/voice_messages_plan.md §7 — when the teammate answers with a voice note:

        off (never) | mirror (the contact wrote a voice note) | always.'
      operationId: ai_rep_voice_reply_mode_api_ai_reps__rep_id__voice_reply_put
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceReplyModeBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/memory:
    get:
      summary: Ai Rep Memory List
      operationId: ai_rep_memory_list_api_ai_reps__rep_id__memory_get
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/memory/{memory_id}/forget:
    post:
      summary: Ai Rep Memory Forget
      operationId: ai_rep_memory_forget_api_ai_reps__rep_id__memory__memory_id__forget_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      - name: memory_id
        in: path
        required: true
        schema:
          type: integer
          title: Memory Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps:
    get:
      summary: Ai Rep List
      operationId: ai_rep_list_api_ai_reps_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Ai Reps
    post:
      summary: Ai Rep Hire
      operationId: ai_rep_hire_api_ai_reps_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HireBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/pause:
    post:
      summary: Ai Rep Pause
      operationId: ai_rep_pause_api_ai_reps__rep_id__pause_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/resume:
    post:
      summary: Ai Rep Resume
      operationId: ai_rep_resume_api_ai_reps__rep_id__resume_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/archive:
    post:
      summary: Ai Rep Archive
      operationId: ai_rep_archive_api_ai_reps__rep_id__archive_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/handoff:
    post:
      summary: Ai Rep Handoff
      operationId: ai_rep_handoff_api_ai_reps__rep_id__handoff_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HandoffBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/assignments/{assignment_id}/transfer:
    post:
      summary: Ai Rep Transfer Territory
      description: 'Hand a channel/account off from one AI teammate to another on the

        same project, atomically and without touching a single past message

        (plan §12 stage 10, §6.4 "Передать человеку" sibling for AI-to-AI).


        Deliberately conservative: only `AiAgentAssignment.agent_id` moves.

        Every `AiAgentDialogState` / `AiAgentMessageLog` / `AiAgentEscalation

        Question` row the old teammate produced on this territory keeps

        pointing at the old teammate — none of that history is rewritten or

        deleted, so nothing can be lost. Because `AiAgentDialogState` is keyed

        on (agent_id, thread_type, thread_id), the next inbound message on an

        existing thread opens a *fresh* dialog state under the new teammate

        (ai_agent_hooks resolves the current assignment, then looks up/creates

        the dialog state for whichever agent that resolves to) — the same

        "new owner starts a clean slate, old owner''s record stands" behaviour

        a human hand-off already has via §6.4 scope=thread.'
      operationId: ai_rep_transfer_territory_api_ai_reps__rep_id__assignments__assignment_id__transfer_post
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      - name: assignment_id
        in: path
        required: true
        schema:
          type: integer
          title: Assignment Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferTerritoryBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/team-summary:
    get:
      summary: Ai Rep Team Summary
      operationId: ai_rep_team_summary_api_ai_reps_team_summary_get
      parameters:
      - name: period
        in: query
        required: false
        schema:
          type: string
          default: day
          title: Period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/project-limits:
    get:
      summary: Ai Rep Project Limits Get
      operationId: ai_rep_project_limits_get_api_ai_reps_project_limits_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Ai Reps
    put:
      summary: Ai Rep Project Limits Put
      description: 'Upsert the one project-wide limits row. `daily_message_cap` is a

        hard ceiling enforced in the send pipeline across all teammates;

        `daily_escalation_cap` is advisory-only (reporting).'
      operationId: ai_rep_project_limits_put_api_ai_reps_project_limits_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectLimitsBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
  /api/ai-reps/{rep_id}/activity:
    get:
      summary: Ai Rep Activity
      operationId: ai_rep_activity_api_ai_reps__rep_id__activity_get
      parameters:
      - name: rep_id
        in: path
        required: true
        schema:
          type: integer
          title: Rep Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Before
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Ai Reps
components:
  schemas:
    HireChannel:
      properties:
        channel:
          type: string
          title: Channel
        channel_account_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel Account Id
        campaign_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Campaign Id
        daily_cap_override:
          anyOf:
          - type: integer
          - type: 'null'
          title: Daily Cap Override
      type: object
      required:
      - channel
      title: HireChannel
    ProjectLimitsBody:
      properties:
        daily_message_cap:
          anyOf:
          - type: integer
          - type: 'null'
          title: Daily Message Cap
        daily_escalation_cap:
          anyOf:
          - type: integer
          - type: 'null'
          title: Daily Escalation Cap
      type: object
      title: ProjectLimitsBody
    VoiceReplyModeBody:
      properties:
        mode:
          type: string
          title: Mode
      type: object
      required:
      - mode
      title: VoiceReplyModeBody
    VoiceSampleBody:
      properties:
        voice_provider_voice_id:
          type: string
          title: Voice Provider Voice Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      type: object
      required:
      - voice_provider_voice_id
      title: VoiceSampleBody
    VoicePersonaUpdateBody:
      properties:
        voice_provider_voice_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Provider Voice Id
        voice_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Name
        speaking_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Speaking Rate
        formality_level:
          anyOf:
          - type: string
          - type: 'null'
          title: Formality Level
      type: object
      title: VoicePersonaUpdateBody
    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
    TransferTerritoryBody:
      properties:
        to_rep_id:
          type: integer
          title: To Rep Id
      type: object
      required:
      - to_rep_id
      title: TransferTerritoryBody
    HireBody:
      properties:
        name:
          type: string
          title: Name
        avatar_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatar Key
        job_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Job Title
        persona_gender:
          anyOf:
          - type: string
          - type: 'null'
          title: Persona Gender
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        autonomy_level:
          type: string
          title: Autonomy Level
          default: suggest
        semi_confidence_threshold:
          anyOf:
          - type: number
          - type: 'null'
          title: Semi Confidence Threshold
        semi_max_turns:
          anyOf:
          - type: integer
          - type: 'null'
          title: Semi Max Turns
        semi_review_window_minutes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Semi Review Window Minutes
        daily_message_cap:
          anyOf:
          - type: integer
          - type: 'null'
          title: Daily Message Cap
        work_timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Work Timezone
        work_hours_start:
          anyOf:
          - type: string
          - type: 'null'
          title: Work Hours Start
        work_hours_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Work Hours End
        style:
          anyOf:
          - type: string
          - type: 'null'
          title: Style
        style_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Style Notes
        escalation_topics:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Escalation Topics
        escalation_phrases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Escalation Phrases
        channels:
          anyOf:
          - items:
              $ref: '#/components/schemas/HireChannel'
            type: array
          - type: 'null'
          title: Channels
        voice_persona_overrides:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Voice Persona Overrides
      type: object
      required:
      - name
      title: HireBody
    HandoffBody:
      properties:
        scope:
          type: string
          title: Scope
          default: agent
        dialog_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Dialog Id
      type: object
      title: HandoffBody