Aveco Data Collection API

The Data Collection API from Aveco — 12 operation(s) for data collection.

Operations 14

GET /api/data-collection/catalog Data Collection Catalog #
GET /api/data-collection/chains Data Collection Chains List #
POST /api/data-collection/chains Data Collection Chains Create #
GET /api/data-collection/chains/{chain_id} Data Collection Chain Detail #
DELETE /api/data-collection/chains/{chain_id} Data Collection Chain Delete #
POST /api/data-collection/chains/{chain_id}/graph Data Collection Chain Save Graph #
POST /api/data-collection/generate-draft Data Collection Generate Draft #
GET /api/data-collection/requests Data Collection Requests List #
POST /api/data-collection/chains/{chain_id}/submit Data Collection Chain Submit #
GET /api/data-collection/quotes/{quote_id} Data Collection Quote #
POST /api/data-collection/plan Data Collection Plan #
POST /api/data-collection/plan/request Data Collection Plan Request #
POST /api/data-collection/requests/{request_id}/cancel Data Collection Request Cancel #
PATCH /api/data-collection/requests/{request_id} Data Collection Request Update #

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-data-collection-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-data-collection-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aveco Data Collection API
  version: 0.1.0
tags:
- name: Data Collection
paths:
  /api/data-collection/catalog:
    get:
      summary: Data Collection Catalog
      operationId: data_collection_catalog_api_data_collection_catalog_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Data Collection
  /api/data-collection/chains:
    get:
      summary: Data Collection Chains List
      operationId: data_collection_chains_list_api_data_collection_chains_get
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
    post:
      summary: Data Collection Chains Create
      operationId: data_collection_chains_create_api_data_collection_chains_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChainCreateBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/chains/{chain_id}:
    get:
      summary: Data Collection Chain Detail
      operationId: data_collection_chain_detail_api_data_collection_chains__chain_id__get
      parameters:
      - name: chain_id
        in: path
        required: true
        schema:
          type: integer
          title: Chain Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
    delete:
      summary: Data Collection Chain Delete
      operationId: data_collection_chain_delete_api_data_collection_chains__chain_id__delete
      parameters:
      - name: chain_id
        in: path
        required: true
        schema:
          type: integer
          title: Chain Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/chains/{chain_id}/graph:
    post:
      summary: Data Collection Chain Save Graph
      operationId: data_collection_chain_save_graph_api_data_collection_chains__chain_id__graph_post
      parameters:
      - name: chain_id
        in: path
        required: true
        schema:
          type: integer
          title: Chain Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/aveco__webapp__routes__data_collection__GraphSaveBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/generate-draft:
    post:
      summary: Data Collection Generate Draft
      description: 'Returns a graph preview only — nothing is written to the DB here; the

        client calls the existing create-chain + save-graph endpoints once the

        user accepts the draft (same contract as sequences'' generate-draft).'
      operationId: data_collection_generate_draft_api_data_collection_generate_draft_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/aveco__webapp__routes__data_collection__GenerateDraftBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/requests:
    get:
      summary: Data Collection Requests List
      operationId: data_collection_requests_list_api_data_collection_requests_get
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/chains/{chain_id}/submit:
    post:
      summary: Data Collection Chain Submit
      operationId: data_collection_chain_submit_api_data_collection_chains__chain_id__submit_post
      parameters:
      - name: chain_id
        in: path
        required: true
        schema:
          type: integer
          title: Chain Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitRequestBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/quotes/{quote_id}:
    get:
      summary: Data Collection Quote
      description: 'A quote prepared by an AI assistant (docs/mcp_ordering_design_2026-10-13.md): the cabinet form pre-fills from it.

        Visible only to the person it was prepared for, in the project it belongs to; the price is re-computed by /plan.'
      operationId: data_collection_quote_api_data_collection_quotes__quote_id__get
      parameters:
      - name: quote_id
        in: path
        required: true
        schema:
          type: integer
          title: Quote Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/plan:
    post:
      summary: Data Collection Plan
      description: 'Rule-based plan for "find new contacts": what the ready base already covers, which sources

        would serve the rest, the enrichment steps and a cost range. Free, no LLM.'
      operationId: data_collection_plan_api_data_collection_plan_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindPlanBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/plan/request:
    post:
      summary: Data Collection Plan Request
      description: Turn the plan into a chain and submit it as a request (execution stays manual for now).
      operationId: data_collection_plan_request_api_data_collection_plan_request_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindPlanBody'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/requests/{request_id}/cancel:
    post:
      summary: Data Collection Request Cancel
      description: 'Cancel a request nobody has picked up yet (also the undo for a request an AI assistant submitted).

        Nothing was charged at submit time, so there is nothing to refund.'
      operationId: data_collection_request_cancel_api_data_collection_requests__request_id__cancel_post
      parameters:
      - name: request_id
        in: path
        required: true
        schema:
          type: integer
          title: Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
  /api/data-collection/requests/{request_id}:
    patch:
      summary: Data Collection Request Update
      description: 'Owner-side pickup/close-out. Access is already the same single-account

        allowlist as the rest of this router, so there is no separate admin role

        to check yet — the requester and the fulfiller are the same account

        during this rollout (plan: open to other accounts later).'
      operationId: data_collection_request_update_api_data_collection_requests__request_id__patch
      parameters:
      - name: request_id
        in: path
        required: true
        schema:
          type: integer
          title: Request Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestUpdateBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Data Collection
components:
  schemas:
    aveco__webapp__routes__data_collection__GraphSaveBody:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/aveco__webapp__routes__data_collection__GraphNodeBody'
          type: array
          title: Nodes
        edges:
          items:
            $ref: '#/components/schemas/GraphEdgeBody'
          type: array
          title: Edges
      type: object
      required:
      - nodes
      - edges
      title: GraphSaveBody
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    FindPlanBody:
      properties:
        country:
          type: string
          title: Country
          default: ''
        city:
          type: string
          title: City
          default: ''
        niche:
          type: string
          title: Niche
          default: ''
        role:
          type: string
          title: Role
          default: ''
        channels:
          items:
            type: string
          type: array
          title: Channels
          default:
          - email
        volume:
          type: integer
          title: Volume
          default: 1000
        quote_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Quote Id
      type: object
      title: FindPlanBody
    ChainCreateBody:
      properties:
        name:
          type: string
          title: Name
        origin:
          type: string
          title: Origin
          default: manual
        ai_brief_text:
          anyOf:
          - type: string
          - type: 'null'
          title: Ai Brief Text
      type: object
      required:
      - name
      title: ChainCreateBody
    aveco__webapp__routes__data_collection__GenerateDraftBody:
      properties:
        brief_text:
          type: string
          title: Brief Text
      type: object
      required:
      - brief_text
      title: GenerateDraftBody
    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
    aveco__webapp__routes__data_collection__GraphNodeBody:
      properties:
        node_key:
          type: string
          title: Node Key
        node_type:
          type: string
          title: Node Type
        catalog_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Catalog Key
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
        config:
          additionalProperties: true
          type: object
          title: Config
          default: {}
        position:
          additionalProperties: true
          type: object
          title: Position
          default:
            x: 0
            y: 0
      type: object
      required:
      - node_key
      - node_type
      title: GraphNodeBody
    RequestUpdateBody:
      properties:
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        eta_note:
          anyOf:
          - type: string
          - type: 'null'
          title: Eta Note
        admin_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Admin Notes
        actual_contacts_collected:
          anyOf:
          - type: integer
          - type: 'null'
          title: Actual Contacts Collected
        actual_charged_cents:
          anyOf:
          - type: integer
          - type: 'null'
          title: Actual Charged Cents
      type: object
      title: RequestUpdateBody
    SubmitRequestBody:
      properties:
        expected_volume:
          anyOf:
          - type: integer
          - type: 'null'
          title: Expected Volume
      type: object
      title: SubmitRequestBody
    GraphEdgeBody:
      properties:
        from_node_key:
          type: string
          title: From Node Key
        to_node_key:
          type: string
          title: To Node Key
        branch_key:
          type: string
          title: Branch Key
          default: default
      type: object
      required:
      - from_node_key
      - to_node_key
      title: GraphEdgeBody