---
title: "Enhance"
method: POST
path: "/kg/v3/enhance"
tags: ["Enhance"]
---

# Enhance

`POST /kg/v3/enhance`

Enrich a person or organization record with partial data input (POST option)

## Request body

- EnhancePostRequest
  - `type` 'Person' | 'Organization', enum — Diffbot entity type
  - `id` string — DiffbotId of entity to enhance. Parameter can be used with types `Person` and `Organization`
  - `name` FieldWrapper — Email of the entity to enhance. Parameter can be used only with type `Person`
    - `empty` boolean
  - `url` FieldWrapper — Email of the entity to enhance. Parameter can be used only with type `Person`
    - `empty` boolean
  - `location` string — Location of the entity to enhance. Parameter can be used with types `Person` and `Organization`
  - `ip` string — IP address of the entity to enhance. Parameter can be used with types `Person` and `Organization`
  - `phone` string — Phone of the entity to enhance. Parameter can be used with types `Person` and `Organization`
  - `description` string — Description of the entity to enhance. Parameter can be used with types `Person` and `Organization`
  - `email` FieldWrapper — Email of the entity to enhance. Parameter can be used only with type `Person`
    - `empty` boolean
  - `employer` string — Employer of the entity to enhance. Parameter can be used only with type `Person`
  - `title` string — Title of the entity to enhance. Parameter can be used only with type `Person`
  - `school` string — School of the entity to enhance. Parameter can be used only with type `Person`
  - `customId` string — User defined ID for correlation
  - `size` integer — Maximum number of results to return
  - `threshold` number, double — Enhance similarity threshold
  - `refresh` boolean — `refresh=true` indicates that Diffbot will attempt to recrawl all the origins of the identified entity and reconstruct the returned entity from this refreshed data.
  - `search` boolean — `search=true` indicates that Diffbot will attempt to search the web for origins for the search query and merge relevant results with whats found in the KG.
  - `nonCanonicalFacts` boolean — `nonCanonicalFacts=true` returns non-canonical facts.
  - `jsonmode` ' ' | 'extended' — `jsonmode=extended` returns origin information for facts.
  - `filter` string — Semi-colon separated path filter to filter response json. You can use a simple dot notation `skills.name` or a JsonPath expression such as such as `$.name;$.locations.country.name`. For more advanced options, see [JsonPath Filtering](https://docs.diffbot.com/reference/filtering-fields) for syntax.
  - `filterExclude` string — Semi-colon separated path filter to filter and exclude data from response json. You can use a simple dot notation `skills.name` or a JsonPath expression such as such as `$.name;$.locations.country.name`. For more advanced options, see [JsonPath Filtering](https://docs.diffbot.com/docs/en/kg-filtering) for syntax.

## Response `200`

Enhanced entity

- EnhanceResponse
  - `version` integer — Response version
  - `hits` integer — Number of matches returned
  - `kgversion` string — Version of KG that was queried
  - `request_ctx` RequestContext — Request context
    - `query` union — Submitted query
      - object
        - `type` string — Diffbot entity type
        - `location` string — Location of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `ip` string — IP address of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `phone` string — Phone of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `description` string — Description of the entity to enhance. Parameter can be used with types `Person` and `Organization`
      - object
        - `type` string — Diffbot entity type
        - `location` string — Location of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `ip` string — IP address of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `phone` string — Phone of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `description` string — Description of the entity to enhance. Parameter can be used with types `Person` and `Organization`
        - `email` FieldWrapper — Email of the entity to enhance. Parameter can be used only with type `Person`
          - `empty` boolean
        - `employer` string — Employer of the entity to enhance. Parameter can be used only with type `Person`
        - `title` string — Title of the entity to enhance. Parameter can be used only with type `Person`
        - `school` string — School of the entity to enhance. Parameter can be used only with type `Person`
    - `query_ctx` object — Query context. Example: submitted query parameters etc.
    - `threshold` RequestContext — recursive
    - `customId` RequestContext — recursive
  - `data` Data[]
    - `score` number, double — Enhance score
    - `entity` ObjectNode — Enhanced entity. Can be null if no entity was found.
    - `errors` string[]
    - `refreshInfo` object — Refresh info for debug
    - `refreshDelta` Delta
    - `entity_ctx` object — Entity-level context
  - `errors` string[]
  - `searchInfo` object — Search info for debug

## Other responses

- `400` — Error parsing request
- `401` — Token not specified or other client errors
- `429` — Insufficient credits
- `500` — Internal Server Error

---

[API](https://skmtc.dev/diffbot/apis/web-search.md) · [All operations](https://skmtc.dev/diffbot/apis/web-search/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/diffbot/web-search/revisions/8b88d7dabe63/schema)
