Heron End User Entity API

The EndUserEntity API from Heron — 14 operation(s) for enduserentity.

Operations 18

GET /api/end_user_entities Get the definitions for all end user entities #
POST /api/end_user_entities Create an end user entity #
GET /api/end_user_entities/attribute_values/export Export all saved attribute for all end users to an Excel file #
PATCH /api/end_user_entities/reorder Set the display order of end user entities #
POST /api/end_user_entities/{entity_heron_id}/attributes Create an end user entity attribute #
PATCH /api/end_user_entities/{entity_heron_id}/attributes/reorder Set the display order of end user entity attributes #
DELETE /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id} Delete an EndUserEntityAttribute #
PATCH /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id} Update an end user entity #
POST /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/clone Create an end user entity attribute #
POST /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/sources Create an end user entity attribute source #
DELETE /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/sources/{source_heron_id} Delete an EndUserEntityAttribute #
PATCH /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/sources/{source_heron_id} Upsert an end user entity #
DELETE /api/end_user_entities/{heron_id} Delete an EndUserEntity #
PATCH /api/end_user_entities/{heron_id} Update an end user entity #
GET /api/end_users/{end_user_heron_id}/entities Get the materialised end user entities for an end user #
PUT /api/end_users/{end_user_heron_id}/entities/values/bulk Bulk save entity attribute values by entity name and attribute name #
POST /api/end_users/{end_user_heron_id}/entities/{entity_heron_id} Upsert the attribute value for an end user entity attribute source #
GET /api/entities/post_processors Get all available post processors #

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/heron-enduserentity-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

heron-enduserentity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data End User Entity API
  version: '2021-07-19'
servers:
- description: Production
  url: https://app.herondata.io
security:
- ApiKeyAuth:
  - key_XXX
tags:
- name: EndUserEntity
paths:
  /api/end_user_entities:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/NestedEndUserEntitySchema'
                type: array
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Get the definitions for all end user entities
      tags:
      - EndUserEntity
      operationId: getApiEndUserEntities
      x-operation-id-source: derived
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEndUserEntitySchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntitySchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create an end user entity
      tags:
      - EndUserEntity
      operationId: postApiEndUserEntities
      x-operation-id-source: derived
  /api/end_user_entities/attribute_values/export:
    get:
      description: Export a spreadsheet with saved entity attribute values (API sources only) for all end users under the current user.
      responses:
        '200':
          content:
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
              schema:
                format: binary
                type: string
          description: OK
        '404':
          description: No end users or API attribute values found
      security:
      - ApiKeyAuth: []
      summary: Export all saved attribute for all end users to an Excel file
      tags:
      - EndUserEntity
      operationId: getApiEndUserEntitiesAttributeValuesExport
      x-operation-id-source: derived
  /api/end_user_entities/reorder:
    patch:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderEndUserEntitiesSchema'
        required: true
      responses:
        '200':
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Set the display order of end user entities
      tags:
      - EndUserEntity
      operationId: patchApiEndUserEntitiesReorder
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes:
    post:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEndUserEntityAttributeSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeSchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create an end user entity attribute
      tags:
      - EndUserEntity
      operationId: postApiEndUserEntitiesByEntityHeronIdAttributes
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes/reorder:
    patch:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderEndUserEntityAttributesSchema'
        required: true
      responses:
        '200':
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Set the display order of end user entity attributes
      tags:
      - EndUserEntity
      operationId: patchApiEndUserEntitiesByEntityHeronIdAttributesReorder
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}:
    delete:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  success:
                    description: Indicates if the delete operation was successful
                    type: boolean
                required:
                - success
                type: object
          description: Successfully deleted the EndUserEntity attribute
        '404':
          description: EndUserEntity attribute not found
      security:
      - ApiKeyAuth: []
      summary: Delete an EndUserEntityAttribute
      tags:
      - EndUserEntity
      operationId: deleteApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronId
      x-operation-id-source: derived
    patch:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEndUserEntityAttributeSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeSchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update an end user entity
      tags:
      - EndUserEntity
      operationId: patchApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronId
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/clone:
    post:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneEndUserEntityAttributeSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeSchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create an end user entity attribute
      tags:
      - EndUserEntity
      operationId: postApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronIdClone
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/sources:
    post:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEndUserEntityAttributeSourceSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeSourceSchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create an end user entity attribute source
      tags:
      - EndUserEntity
      operationId: postApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronIdSources
      x-operation-id-source: derived
  /api/end_user_entities/{entity_heron_id}/attributes/{attribute_heron_id}/sources/{source_heron_id}:
    delete:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: source_heron_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                type: object
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete an EndUserEntityAttribute
      tags:
      - EndUserEntity
      operationId: deleteApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronIdSourcesBySourceHeronId
      x-operation-id-source: derived
    patch:
      parameters:
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: attribute_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: source_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEndUserEntityAttributeSourceSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeSourceSchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Upsert an end user entity
      tags:
      - EndUserEntity
      operationId: patchApiEndUserEntitiesByEntityHeronIdAttributesByAttributeHeronIdSourcesBySourceHeronId
      x-operation-id-source: derived
  /api/end_user_entities/{heron_id}:
    delete:
      parameters:
      - description: The Integration's heron_id
        in: path
        name: heron_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                type: object
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete an EndUserEntity
      tags:
      - EndUserEntity
      operationId: deleteApiEndUserEntitiesByHeronId
      x-operation-id-source: derived
    patch:
      parameters:
      - in: path
        name: heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEndUserEntitySchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntitySchema'
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update an end user entity
      tags:
      - EndUserEntity
      operationId: patchApiEndUserEntitiesByHeronId
      x-operation-id-source: derived
  /api/end_users/{end_user_heron_id}/entities:
    get:
      parameters:
      - in: path
        name: end_user_heron_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MaterialisedEndUserEntitySchema'
                type: array
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Get the materialised end user entities for an end user
      tags:
      - EndUserEntity
      operationId: getApiEndUsersByEndUserHeronIdEntities
      x-operation-id-source: derived
  /api/end_users/{end_user_heron_id}/entities/values/bulk:
    put:
      description: 'Save multiple entity attribute values in a single request.

        Each item specifies the entity name, attribute name, and value to set.

        If an API source doesn''t exist for an attribute, one will be created.'
      parameters:
      - description: The Heron ID of the end user
        in: path
        name: end_user_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSaveEntityAttributeValuesSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BulkSaveEntityAttributeValueResultSchema'
                type: array
          description: Results for each item in the bulk request
        '404':
          description: End user not found
      security:
      - ApiKeyAuth: []
      summary: Bulk save entity attribute values by entity name and attribute name
      tags:
      - EndUserEntity
      operationId: putApiEndUsersByEndUserHeronIdEntitiesValuesBulk
      x-operation-id-source: derived
  /api/end_users/{end_user_heron_id}/entities/{entity_heron_id}:
    post:
      parameters:
      - in: path
        name: end_user_heron_id
        required: true
        schema:
          type: string
      - in: path
        name: entity_heron_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertEndUserEntityAttributeValueSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndUserEntityAttributeValueSchema'
          description: OK
        '204':
          description: No Content (value was deleted)
      security:
      - ApiKeyAuth: []
      summary: Upsert the attribute value for an end user entity attribute source
      tags:
      - EndUserEntity
      operationId: postApiEndUsersByEndUserHeronIdEntitiesByEntityHeronId
      x-operation-id-source: derived
  /api/entities/post_processors:
    get:
      description: Returns a list of all available post processors that can be applied to entity attributes
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostProcessorsResponseSchema'
          description: List of available post processor and configurations
      security:
      - ApiKeyAuth: []
      summary: Get all available post processors
      tags:
      - EndUserEntity
      x-hidden: true
      operationId: getApiEntitiesPostProcessors
      x-operation-id-source: derived
components:
  schemas:
    EndUserEntityAttributeSource:
      properties:
        heron_id:
          type:
          - string
          - 'null'
        sort_order:
          type: integer
        source_config:
          additionalProperties: {}
          type: object
        source_type:
          enum:
          - parsed_end_user_file
          - api
          - rel_6
          - end_user_enricher
          - company_attribute
          - static_value
          - end_user_query
          - broker_submission_api
      type: object
    EndUserEntitySchema:
      properties:
        display_order:
          type: integer
        entity_description:
          type: string
        entity_name:
          type: string
        entity_post_processor_configs:
          default: []
          items:
            additionalProperties: {}
            type: object
          type: array
        heron_id:
          type: string
        is_list:
          type: boolean
        saved_query_heron_id:
          type:
          - string
          - 'null'
      type: object
    ReorderEndUserEntityAttributesSchema:
      properties:
        ordered_attribute_heron_ids:
          items:
            type: string
          type: array
      required:
      - ordered_attribute_heron_ids
      type: object
    PostProcessorsResponseSchema:
      properties:
        post_processors:
          items:
            $ref: '#/components/schemas/PostProcessorConfigSchema'
          type: array
      required:
      - post_processors
      type: object
    NestedEndUserEntityAttribute:
      properties:
        attribute_description:
          type: string
        attribute_name:
          type: string
        attribute_sources:
          items:
            $ref: '#/components/schemas/EndUserEntityAttributeSource'
          type: array
        attribute_type:
          enum:
          - float
          - int
          - decimal
          - string
          - date
          - datetime
          - bool
        display_order:
          type: integer
        heron_id:
          type: string
        is_dedupe_key:
          default: false
          type: boolean
        reconciliation_config:
          additionalProperties: {}
          type: object
        reconciliation_strategy:
          enum:
          - sort_order
          - llm
          - comparison
          - concatenate_lists
      type: object
    BulkSaveEntityAttributeValueItem:
      properties:
        attribute_name:
          description: Name of the attribute to set the value for
          type: string
        entity_name:
          description: Name of the entity to target
          type: string
        value:
          description: The value to set for the attribute
      required:
      - attribute_name
      - entity_name
      - value
      type: object
    MaterialisedEndUserEntitySchema:
      properties:
        display_order:
          type: integer
        entity_heron_id:
          type: string
        entity_name:
          type: string
        is_list:
          type: boolean
        materialised_attributes:
          items:
            $ref: '#/components/schemas/MaterialisedEndUserEntityAttribute'
          type: array
      type: object
    CreateEndUserEntitySchema:
      properties:
        display_order:
          type: integer
        entity_description:
          type: string
        entity_name:
          type: string
        entity_post_processor_configs:
          default: []
          items:
            additionalProperties: {}
            type: object
          type: array
        is_list:
          type: boolean
        saved_query_heron_id:
          type:
          - string
          - 'null'
      required:
      - entity_name
      type: object
    UpdateEndUserEntityAttributeSchema:
      properties:
        attribute_description:
          type: string
        attribute_name:
          type: string
        attribute_type:
          enum:
          - float
          - int
          - decimal
          - string
          - date
          - datetime
          - bool
        is_dedupe_key:
          type: boolean
        reconciliation_config:
          additionalProperties: {}
          type: object
        reconciliation_strategy:
          enum:
          - sort_order
          - llm
          - comparison
          - concatenate_lists
      type: object
    EndUserEntityAttributeSchema:
      properties:
        attribute_description:
          type: string
        attribute_name:
          type: string
        attribute_type:
          enum:
          - float
          - int
          - decimal
          - string
          - date
          - datetime
          - bool
        display_order:
          type: integer
        heron_id:
          type: string
        is_dedupe_key:
          default: false
          type: boolean
        reconciliation_config:
          additionalProperties: {}
          type: object
        reconciliation_strategy:
          enum:
          - sort_order
          - llm
          - comparison
          - concatenate_lists
      type: object
    ReorderEndUserEntitiesSchema:
      properties:
        ordered_entity_heron_ids:
          items:
            type: string
          type: array
      required:
      - ordered_entity_heron_ids
      type: object
    EndUserEntityAttributeSourceSchema:
      properties:
        heron_id:
          type:
          - string
          - 'null'
        sort_order:
          type: integer
        source_config:
          additionalProperties: {}
          type: object
        source_type:
          enum:
          - parsed_end_user_file
          - api
          - rel_6
          - end_user_enricher
          - company_attribute
          - static_value
          - end_user_query
          - broker_submission_api
      type: object
    UpdateEndUserEntityAttributeSourceSchema:
      properties:
        sort_order:
          type: integer
        source_config:
          additionalProperties: {}
          type: object
        source_type:
          enum:
          - parsed_end_user_file
          - api
          - rel_6
          - end_user_enricher
          - company_attribute
          - static_value
          - end_user_query
          - broker_submission_api
      type: object
    NestedEndUserEntitySchema:
      properties:
        display_order:
          type: integer
        entity_attributes:
          items:
            $ref: '#/components/schemas/NestedEndUserEntityAttribute'
          type: array
        entity_description:
          type: string
        entity_name:
          type: string
        entity_post_processor_configs:
          default: []
          items:
            additionalProperties: {}
            type: object
          type: array
        heron_id:
          type: string
        is_list:
          type: boolean
        saved_query_heron_id:
          type:
          - string
          - 'null'
      type: object
    UpsertEndUserEntityAttributeValueSchema:
      properties:
        attribute_heron_id:
          type: string
        source_heron_id:
          type: string
        value: {}
      required:
      - attribute_heron_id
      - source_heron_id
      - value
      type: object
    UpdateEndUserEntitySchema:
      properties:
        display_order:
          type: integer
        entity_description:
          type: string
        entity_name:
          type: string
        entity_post_processor_configs:
          items:
            additionalProperties: {}
            type: object
          type: array
        is_list:
          type: boolean
        saved_query_heron_id:
          type:
          - string
          - 'null'
      type: object
    PostProcessorConfigSchema:
      properties:
        description:
          type:
          - string
          - 'null'
        inputs:
          additionalProperties: {}
          type:
          - object
          - 'null'
        name:
          type: string
      required:
      - name
      type: object
    EndUserEntityAttributeValueSchema:
      properties:
        heron_id:
          type: string
        value: {}
      type: object
    CloneEndUserEntityAttributeSchema:
      properties:
        attribute_name:
          type: string
      required:
      - attribute_name
      type: object
    BulkSaveEntityAttributeValueResultSchema:
      properties:
        attribute_name:
          description: Name of the attribute
          type: string
        entity_name:
          description: Name of the entity
          type: string
        error:
          description: Error message if the save failed
          type:
          - string
          - 'null'
        success:
          description: Whether the value was saved successfully
          type: boolean
      required:
      - attribute_name
      - entity_name
      - success
      type: object
    CreateEndUserEntityAttributeSchema:
      properties:
        attribute_description:
          type: string
        attribute_name:
          type: string
        attribute_type:
          enum:
          - float
          - int
          - decimal
          - string
          - date
          - datetime
          - bool
        display_order:
          type: integer
        is_dedupe_key:
          default: false
          type: boolean
        reconciliation_config:
          additionalProperties: {}
          type: object
        reconciliation_strategy:
          enum:
          - sort_order
          - llm
          - comparison
          - concatenate_lists
      required:
      - attribute_name
      type: object
    MaterialisedEndUserEntityAttribute:
      properties:
        attribute_heron_id:
          type: string
        attribute_name:
          type: string
        attribute_type:
          enum:
          - float
          - int
          - decimal
          - string
          - date
          - datetime
          - bool
        display_order:
          type: integer
        materialised_sources:
          items:
            $ref: '#/components/schemas/MaterialisedEndUserEntityAttributeSource'
          type: array
        selected_source:
          allOf:
          - $ref: '#/components/schemas/MaterialisedEndUserEntityAttributeSource'
      type: object
    MaterialisedEndUserEntityAttributeSource:
      properties:
        source:
          $ref: '#/components/schemas/EndUserEntityAttributeSourceSchema'
        source_data:
          additionalProperties: {}
          type: object
        timestamp:
          format: date-time
          type: string
        value: {}
      type: object
    CreateEndUserEntityAttributeSourceSchema:
      properties:
        sort_order:
          type: integer
        source_config:
          additionalProperties: {}
          type: object
        source_type:
          enum:
          - parsed_end_user_file
          - api
          - rel_6
          - end_user_enricher
          - company_attribute
          - static_value
          - end_user_query
          - broker_submission_api
      type: object
    BulkSaveEntityAttributeValuesSchema:
      properties:
        values:
          description: List of entity attribute values to save
          items:
            $ref: '#/components/schemas/BulkSaveEntityAttributeValueItem'
          type: array
      required:
      - values
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/