> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.aventure.vc/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aventure.vc/_mcp/server.

# List people similar to one person

GET https://api.aventure.vc/v1/people/{personId}/similar

Returns people similar to the person at this address. Rows carry the person shape and per-row similarity provenance; load full detail through the person read endpoint. Results are ordered by similarity score (highest first). This endpoint does not support custom sorting. Any signed-in user may call this on every plan. The list is free: it never counts against the monthly record-view allowance, which charges only a separate full-detail view of one record.

Reference: https://docs.aventure.vc/api-reference/semantic-similarity/list-person-similar-people

## Authentication

- `Authorization` header (bearer token, required) — User bearer token: Clerk session JWT, Clerk OAuth access token, or Clerk API key

## Request

### Path parameters

- `personId` (string, required) — Person unique identifier (UUID)

### Query parameters

- `permitMonogram` (boolean, optional) — Permit monogram fallback
- `page` (integer, optional, default: 0) — Zero-based page index (0..N)
- `size` (integer, optional, default: 10) — The size of the page to be returned

### Headers

- `X-Request-Origin` (string, optional) — Attribution token identifying the requesting surface; metrics-only

## Response

### 200

OK

- `content` (list of PersonSimilarityResult, optional)
- `empty` (boolean, optional)
- `first` (boolean, optional)
- `last` (boolean, optional)
- `number` (integer, optional)
- `numberOfElements` (integer, optional)
- `pageable` (PageableObject, optional)
- `size` (integer, optional)
- `sort` (SortObject, optional)
- `totalElements` (long, optional)
- `totalPages` (integer, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 401 Unauthorized Error

Unauthorized

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 403 Forbidden Error

Forbidden

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 404 Not Found Error

Not Found

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 406 Not Acceptable Error

Not Acceptable

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 422 Unprocessable Entity Error

Unprocessable Content

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 429 Too Many Requests Error

Too Many Requests

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 500 Internal Server Error

Internal Server Error

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

### 503 Service Unavailable Error

Service Unavailable

- `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted.
  - Allowed values: `NEW_COMPANY`, `UPDATE`, `NEW_PERSON`, `UPDATE_PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`
- `circuitBreaker` (string, optional, nullable)
- `code` (enum, optional) — Machine-readable secondary code on ProblemDetail.code. Agents should branch on this value when the HTTP status alone does not identify the recovery path. Code groups include auth/session, rate limiting, job infrastructure, RBAC, external providers, image processing, R2 storage, search, and inference. Many codes indicate infra/admin-only conditions where the correct agent action is to surface the error and stop, not retry.
  - Allowed values: `not_authorized`, `rateLimited`, `rate_limited`, `subscription_required`, `subscription_canceled`, `subscription_past_due`, `subscription_paused`, `billing_allowance_exhausted`, `billing_additional_usage_cap_reached`, `origin_detail_capacity`, `origin_detail_shutdown`, `suspectedShellStrip`, `suspected_shell_strip`, `url_surface_misclassification`, `JOBRUNR_DISABLED`, `jobrunr_disabled`, `JOBRUNR_STORAGE_UNAVAILABLE`, `jobrunr_storage_unavailable`, `rbac_lookup_unavailable`, `GEOCODE_PROVIDER_ERROR`, `geocode_provider_error`, `image_blocklist_match`, `image_monochrome`, `image_too_small`, `image_wrong_aspect`, `image_monogram`, `image_unreadable`, `image_processing_error`, `image_brand_mismatch`, `web_crawl_fetch_failed`, `primary_website_missing`, `news_rss_feed_fetch_failed`, `news_rss_article_fetch_failed`, `r2_fetch_failed`, `r2_delete_failed`, `r2_upload_failed`, `source_document_body_unavailable`, `source_document_capture_limit_exceeded`, `news_similarity_embedding_unavailable`, `search_provider_not_configured`, `search_provider_error`, `sec_edgar_fetch_failed`, `github_fetch_failed`, `INFERENCE_PROVIDER_ERROR`, `inference_provider_error`, `INFERENCE_PROVIDER_RESPONSE_EMPTY`, `inference_provider_response_empty`, `INFERENCE_PROVIDER_INVALID_JSON`, `inference_provider_invalid_json`, `INFERENCE_PROFILES_MISSING`, `inference_profiles_missing`, `INFERENCE_PROFILE_API_KEY_MISSING`, `inference_profile_api_key_missing`
- `conflictingRecord` (CurrentSlugOwner, optional, nullable) — Current slug owner
- `detail` (string, optional)
- `details` (DomainConflictDetails, optional, nullable) — Structured conflict details. Create duplicate reviews and deterministic lookup ambiguity return DuplicateCreateReview; the returned candidates are the decision surface for update, create-with-override, or block. score/threshold rank review priority and are not proof that the requested record is absent.
- `error` (map from string to string, optional, nullable)
- `existingRedirect` (RedirectSlugPath, optional, nullable) — Redirect slug path
- `feId` (string, optional, nullable)
- `field` (string, optional, nullable)
- `hammingDistance` (long, optional, nullable)
- `hint` (string, optional, nullable)
- `instance` (string, optional)
- `limit` (long, optional, nullable) — Cap the limitType meter allows for its current period.
- `limitType` (enum, optional) — Which meter refused the request; names what limit/used/remaining count.
  - Allowed values: `FORM`, `GLOBAL`, `SUBNET`, `IP`, `UNKNOWN`, `RESILIENCE4J`, `WEB_SEARCH`, `NATURAL_SEARCH`, `BILLING_ALLOWANCE`, `BILLING_ADDITIONAL_USAGE`, `CLERK_PUBLIC_ADMISSION`, `CLERK_SCRIPT_LOAD`, `ORIGIN_DETAIL`, `INFERENCE_PROVIDER`
- `matchedBlocklistKey` (string, optional, nullable)
- `mediaType` (string, optional, nullable)
- `moderationReason` (string, optional, nullable)
- `parseError` (string, optional, nullable)
- `path` (string, optional, nullable)
- `properties` (map from string to any, optional)
- `remaining` (long, optional, nullable) — Cap minus used for the limitType meter, never negative.
- `requiredRole` (string, optional, nullable)
- `resetAt` (datetime, optional, nullable) — When the limitType meter refills and the request can succeed again.
- `resolution` (ProblemResolution, optional, nullable) — Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.
- `retryAfterSeconds` (long, optional, nullable) — Seconds to wait before the same request can succeed. A BILLING_ALLOWANCE meter resets at the UTC month boundary, so this reaches weeks: read limitType before treating it as a burst backoff.
- `spanId` (string, optional, nullable)
- `status` (integer, optional)
- `suggestion` (string, optional, nullable)
- `suggestions` (map from string to string, optional, nullable)
- `suspectedFragment` (string, optional, nullable)
- `title` (string, optional)
- `traceId` (string, optional, nullable)
- `type` (string, optional)
- `unknownParameters` (list of string, optional, nullable)
- `used` (long, optional, nullable) — Requests already charged against the limitType meter this period.
- `validParameters` (list of string, optional, nullable)
- `value` (string, optional, nullable)
- `windowSeconds` (long, optional, nullable) — Length of a rolling throttle window; absent for period meters.

## Types

### PersonSimilarityResult

Similar person list row with the provenance that explains why it appears. Rows carry the canonical Person projection; load full detail through the person detail endpoints.

- `person` (Person, required) — Canonical person core record
- `similarity` (PersonSimilarityContext, required) — Per-row provenance for a similar-person result.
- `currentRole` (EntityPersonAssociation, optional, nullable) — Current titled association for the similar-person card; null when no current titled role is available.

### PageableObject

- `offset` (long, optional)
- `pageNumber` (integer, optional)
- `pageSize` (integer, optional)
- `paged` (boolean, optional)
- `sort` (SortObject, optional)
- `unpaged` (boolean, optional)

### SortObject

- `empty` (boolean, optional)
- `sorted` (boolean, optional)
- `unsorted` (boolean, optional)

### CurrentSlugOwner

Current slug owner

- `id` (string, required)
- `isHidden` (boolean, required)
- `resourceType` (enum, required) — Resource type whose slug is being changed
  - Allowed values: `entity`, `person`, `news`, `blog`, `content`
- `showOnSitemap` (boolean, required)
- `slug` (string, required)
- `deletedAt` (datetime, optional, nullable)
- `nameBrand` (string, optional, nullable)

### DomainConflictDetails

Polymorphic envelope for RFC 9457 ProblemDetail.details on HTTP 409 responses. The concrete variant depends on the conflict kind: URL ownership collisions return UrlDuplicateConflict; ambiguous strict URL lookups return StrictUrlLookupConflict; create-time duplicate review gates return DuplicateCreateReview; classification writes that touch an inactive tag bucket return ClassificationInactiveTagDetails; news publication+URL uniqueness violations return NewsSourceUrlConflict. Inspect ProblemDetail.code/type and the field set present on details to identify the variant.

### RedirectSlugPath

Redirect slug path

- `oldUrl` (string, required)
- `newUrl` (string, optional, nullable)
- `targetCurrentSlug` (string, optional, nullable)
- `targetId` (string, optional, nullable)
- `targetResourceType` (enum, optional, nullable) — Resource type whose slug is being changed
  - Allowed values: `entity`, `person`, `news`, `blog`, `content`

### ProblemResolution

Machine-readable next action for an aVenture ProblemDetail. For reviewCandidates, inspect ProblemDetail.details candidates and decide update, create-with-override, or block from those returned records.

- `action` (enum, required) — Next action category for the client or agent.
  - Allowed values: `setField`, `setParameter`, `removeParameter`, `useEndpoint`, `reviewCandidates`, `authenticate`
- `acceptedValue` (list of string, optional, nullable) — Accepted values for the field or parameter, when enumerable.
- `endpoint` (string, optional, nullable) — Endpoint to call for the next action, when applicable.
- `fieldPath` (string, optional, nullable) — Request-body field path that needs attention, when applicable.
- `parameter` (string, optional, nullable) — Query parameter that needs attention, when applicable.
- `retryable` (boolean, optional, nullable) — Whether the same logical request can be retried after the next action.

### Person

Canonical person core record

- `id` (string, required) — Canonical person UUID
- `image` (PersonImage, required) — Read projection: person image fields for detail/list responses
- `nameAlias` (list of EntityNameAliasPersonAliasType, required) — Display and search aliases for this person
- `nameFull` (string, required)
- `slug` (string, required) — Canonical lowercase URL slug for the resource
- `text` (EntityTextBundle, required) — Grouped person text content
- `createdAt` (datetime, optional, nullable) — Record creation timestamp
- `gender` (string, optional, nullable)
- `lastModifiedAt` (datetime, optional, nullable) — Provenance-grounded last-modified watermark (schema.org dateModified): the latest effective time across all writes attributed to this person.
- `nameFirst` (string, optional, nullable)
- `nameLast` (string, optional, nullable)
- `nameMiddle` (string, optional, nullable)
- `nickname` (string, optional, nullable)
- `publicId` (string, optional, nullable) — Stable, immutable public handle (e.g. `pV1StGXR8Z5ab`). Never changes once assigned, unlike the slug. Null on projections that do not select it and on rows still awaiting handle backfill.
- `semanticMatch` (ContentEmbeddingMatch, optional, nullable) — Semantic embedding match evidence populated only for semantic people reads.
- `suffix` (string, optional, nullable)
- `updatedAt` (datetime, optional, nullable) — Last modification timestamp

### PersonSimilarityContext

Per-row provenance for a similar-person result.

- `origin` (enum, required) — Provenance origin for a similar-person result row.
  - Allowed values: `precomputed`, `live`
- `rank` (integer, required) — 1-based position in the merged result page
- `compositeScore` (double, optional, nullable) — Composite section-fusion similarity score.
- `cosineScore` (double, optional, nullable) — Cosine similarity score where higher is closer.
- `matchedSectionWeight` (double, optional, nullable) — Total normalized source-section weight matched.
- `sharedSectionCount` (integer, optional, nullable) — Number of source/target sections compared.

### EntityPersonAssociation

One entity↔person association, naming both sides

- `associationId` (integer, required) — Integer person-entity association join row id, not a person or entity UUID
- `entityAddress` (list of Address, required) — Entity addresses carried on the association projection
- `entityId` (string, required) — Associated entity id
- `entityLogo` (EntityImage, required) — Entity logo image projection
- `entitySlug` (string, required) — Canonical lowercase URL slug for the resource
- `entityUrlLink` (list of EntityUrlLink, required) — Entity URL links carried on the association projection
- `personAddress` (list of Address, required) — Person addresses carried on the association projection
- `personId` (string, required) — Associated person id
- `personImage` (PersonImage, required) — Person image projection
- `personName` (string, required)
- `personSlug` (string, required) — Canonical lowercase URL slug for the resource
- `personUrlLink` (list of EntityUrlLink, required) — Person URL links carried on the association projection
- `endDate` (datetime, optional, nullable) — Association period end timestamp
- `entityName` (string, optional, nullable)
- `entityOperatingStatus` (string, optional, nullable)
- `entityType` (enum, optional, nullable) — Entity type classification
  - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`
- `isCurrent` (boolean, optional, nullable)
- `score` (integer, optional, nullable)
- `startDate` (datetime, optional, nullable) — Association period start timestamp
- `titleFunction` (string, optional, nullable) — Read-side corporate title function for the association row
- `titleId` (integer, optional, nullable) — Corporate title id for the association row
- `titleLevel` (string, optional, nullable) — Read-side corporate title level for the association row
- `titleName` (string, optional, nullable) — Read-side corporate title text for the association row

### UrlDuplicateConflict

Typed extension on ProblemDetail.details for HTTP 409 when a create/update attempts to set a URL with urlType=website (or another exclusive urlType) that is already a current URL on a different entity or person. The existingJoin list names every current owner of the normalized URL; resolve by demoting the existing owner (isCurrent=false, isPrimary=false) before promoting the new owner.

- `existingJoin` (list of UrlDuplicateJoin, required) — Every current owner that already holds the normalized URL with this urlType. Non-empty when this conflict is emitted.
- `fragmentIgnored` (boolean, required) — True when URL fragment differences were ignored during duplicate matching (i.e., the conflict ignores everything after '#').
- `guidance` (string, required) — Human-readable guidance on how to resolve the conflict. Defaults to the standard inspect-then-demote/promote sequence.
- `requestedOwner` (EntityPersonOwner, required) — Owner the caller attempted to attach the URL to.
- `url` (string, required) — Raw URL as submitted by the caller (pre-normalization).
- `urlType` (string, required) — URL type submitted by the caller (e.g., 'website', 'twitter'). The conflict applies only within this urlType.
- `normalizedUrl` (string, optional, nullable) — Normalized URL match key used for duplicate detection. Null when normalization could not produce a stable key (e.g., malformed input).

### StrictUrlLookupConflict

Typed extension on ProblemDetail.details for HTTP 409 when a strict URL lookup (GET /v1/entities/lookup?url=...) resolves to more than one current owner. The candidate lists return every current owner that matches the normalized URL key; the caller must add disambiguating signals (urlType, typeRecord, slug) to resolve to a single owner.

- `candidateEntityId` (list of string, required) — Every entity id that currently owns the normalized URL. May be empty when the conflict is between persons; combined with candidatePersonId always > 1.
- `candidatePersonId` (list of string, required) — Every person id that currently owns the normalized URL. May be empty when the conflict is between entities; combined with candidateEntityId always > 1.
- `hint` (string, required) — Human-readable hint describing which disambiguating query parameters to add.
- `url` (string, required) — Raw URL the caller queried.
- `normalizedUrl` (string, optional, nullable) — Normalized URL match key the lookup resolved against. Null when normalization could not produce a stable key.
- `urlType` (string, optional, nullable) — URL type the caller specified, or null if the lookup did not constrain by urlType.

### DuplicateCreateReview

Candidate-review conflict details returned in ProblemDetail.details for create gates and deterministic lookup ambiguity. The returned candidates are the decision surface: update the matching candidate, create with duplicate override only when every candidate is distinct from the source-backed target, or block when identity is unresolved. score and threshold rank review priority; they are not proof that the requested record is absent.

- `threshold` (integer, required) — Review threshold used by duplicate scoring. Scores below this value can still be useful candidate context; this value does not prove absence or authorize create.
- `candidate` (list of SearchDuplicateCandidateScore, optional, nullable) — Entity/person candidates returned by lookup or create duplicate review. If a candidate is the requested record, read/update that candidate by id. Create with duplicate override only after every candidate is reviewed as distinct.
- `newsCandidate` (list of NewsCandidateScore, optional, nullable) — News candidates returned by lookup or create duplicate review. If a candidate is the requested article, read/update that article by id. Otherwise block until source evidence proves a distinct article.
- `overridePath` (string, optional, nullable) — Create endpoint to retry only after reviewing the returned candidates and supplying overrideGate=duplicate and overrideReason as query parameters. Null for detail lookup ambiguity, where the next action is review/update/block.

### ClassificationInactiveTagDetails

ProblemDetail.details for HTTP 409 when a classification value exists but is inactive.

- `availableOverrides` (list of enum, required) — Allowed inactiveTagOverride values for this conflict
  - Allowed values: `REACTIVATE`, `ATTACH_INACTIVE`
- `slug` (string, required) — Existing dormant value slug or lookup key
- `tagId` (integer, required) — Existing tag id in res_type_ref

### NewsSourceUrlConflict

Typed extension on ProblemDetail.details for HTTP 409 when a news mutation's publication + newsUrlOriginal pair already belongs to another article. The returned fields identify the existing article so the caller can read/update it instead of creating a duplicate.

- `conflictingArticleId` (integer, required) — Existing article id (NewsId.value) that already owns this publication + URL pair.
- `conflictingArticleSlug` (string, required) — Existing article slug, or empty string when the existing article has no slug. Use with GET /v1/news/lookup?slug= to fetch the conflicting article.
- `conflictingArticleTitle` (string, required) — Existing article title for human-readable diagnostics.

### PersonImage

Read projection: person image fields for detail/list responses

- `isMonogram` (boolean, required) — Whether person image monogram
- `picture` (string, optional, nullable)

### EntityNameAliasPersonAliasType

Alternate name used for search and display

- `name` (string, required) — Alternate name text
- `displayable` (boolean, optional, nullable) — Show this alias in public name displays.
- `type` (enum, optional, nullable) — Alias type classification
  - Allowed values: `nickname`, `maidenName`, `formerName`, `stageName`

### EntityTextBundle

Grouped entity/person text content

- `expanded` (string, optional, nullable) — Expanded summary text
- `generatedDescription` (string, optional, nullable) — Generated SEO meta description text
- `short` (string, optional, nullable) — Short summary text

### ContentEmbeddingMatch

Nearest-neighbor content embedding match evidence.

- `computedAt` (datetime, required) — Timestamp when the embedding row was computed.
- `cosineDistance` (double, required) — pgvector cosine distance where lower is closer.
- `cosineScore` (double, required) — Cosine similarity score where higher is closer.
- `modelVersion` (string, required) — Embedding model/profile version for this row.
- `rank` (integer, required) — One-based semantic rank within the returned ANN candidate set.
- `sourceHash` (string, required) — SHA-256 hash of the source content.
- `sourceId` (string, required) — Content embedding source identifier.
- `sourceJson` (string, required) — Serialized JSONB source document stored for the embedding row.
- `sourceText` (string, required) — Source text used to compute the stored embedding.
- `sourceType` (enum, required) — Stored content embedding source partition.
  - Allowed values: `entity`, `person`, `newsArticle`, `blogPost`, `text`, `classificationTag`, `classificationCode`, `product`, `service`, `agentHelpDoc`

### Address

Canonical address record for entity and person payloads

- `address` (integer, optional, nullable) — Legacy address row identifier
- `addressLine1` (string, optional, nullable)
- `addressLine2` (string, optional, nullable)
- `association` (list of AddressAssociation, optional) — Role-period associations for this physical address
- `city` (AddressCity, optional, nullable) — City reference
- `country` (AddressCountry, optional, nullable) — Country reference
- `countryAbbrev` (string, optional, nullable)
- `createdAt` (datetime, optional, nullable)
- `fullAddress` (string, optional, nullable) — Single-line formatted address
- `id` (integer, optional, nullable) — Address record identifier
- `latitude` (double, optional, nullable)
- `longitude` (double, optional, nullable)
- `postalCode` (string, optional, nullable)
- `state` (AddressState, optional, nullable) — State or region reference
- `stateAbbrev` (string, optional, nullable)
- `street` (string, optional, nullable)
- `updatedAt` (datetime, optional, nullable)
- `isCurrent` (boolean, optional, nullable, deprecated) — Deprecated aggregate compatibility flag; true when any association is current
- `isHq` (boolean, optional, nullable, deprecated) — Deprecated legacy flag marking the headquarters or legal/registered address
- `isPrimary` (boolean, optional, nullable, deprecated) — Deprecated legacy flag marking the primary display address

### EntityImage

Grouped entity image fields for square, standard, and monogram logo state

- `isMonogram` (boolean, required) — Whether entity image monogram
- `logo` (string, optional, nullable)
- `logoSquare` (string, optional, nullable)

### EntityUrlLink

Canonical URL link resource with owner, status, crawl, and source metadata. Lifecycle state (current vs former, primary vs secondary) is encoded by `isCurrent` and `isPrimary` — `urlType` is the canonical platform role only and MUST be one of the closed `EntityUrlType` values. To record a rebrand or domain migration, retain the prior URL with the same `urlType` (typically `website`) and set `isCurrent=false, isPrimary=false`; do not propose new enum values.

- `url` (string, required) — Canonical absolute HTTP URL value - validates scheme + host at construction
- `urlType` (enum, required) — Canonical URL platform type such as website, linkedin, twitter, or github. Lifecycle facts belong on link flags such as isCurrent and isPrimary.
  - Allowed values: `website`, `linkedin`, `twitter`, `github`, `facebook`, `instagram`, `tiktok`, `youtube`, `subreddit`, `forum`, `documentation`, `support`, `statuspage`, `changelog`, `roadmap`, `discord`, `crunchbase`, `wellfound`, `angellist`, `glassdoor`, `theorg`, `ycombinator`, `wikipedia`, `pitchbook`, `morningstar`, `bloomberg`, `nyse`, `nasdaq`, `g2`, `producthunt`, `trustpilot`, `alternativeto`, `gartnerpeerinsights`, `getapp`, `sourceforge`, `appstore`, `googleplay`, `capterra`, `trustradius`, `hubspotmarketplace`, `slackappdirectory`, `awsmarketplace`, `salesforceappexchange`, `chromewebstore`, `vscodemarketplace`, `npm`, `pypi`, `maven`, `dockerhub`, `homebrew`, `crates`, `huggingface`
- `crawlCdnProvider` (enum, optional, nullable) — CDN or hosting provider fronting a web URL.
  - Allowed values: `cloudflare`, `akamai`, `fastly`, `awsCloudfront`, `vercel`, `netlify`, `sucuri`, `incapsula`, `bunny`, `keycdn`, `cdn77`, `gcore`, `cdnetworks`, `azureCdn`, `leaseweb`, `digitalocean`, `stackpath`, `googlecloudCdn`, `none`, `unknown`
- `crawlRenderMode` (enum, optional, nullable) — JavaScript rendering requirement for crawl checks.
  - Allowed values: `static`, `jsRequired`, `jsEnhanced`
- `createdAt` (datetime, optional, nullable)
- `id` (integer, optional, nullable)
- `isCurrent` (boolean, optional, nullable) — `true` = owner currently uses this URL; `false` = historical/former (rebrand source domain, deprecated platform handle). The lifecycle state lives here, NEVER in the `urlType` discriminator.
- `isPrimary` (boolean, optional, nullable) — `true` = canonical/primary URL of this `urlType` for this owner. Only one row per (owner, urlType) may be `isCurrent=true` AND `isPrimary=true`.
- `owner` (EntityPersonOwner, optional, nullable) — Owning record, nested ids only: owner.entityId or owner.personId — exactly one is set, and no name fields. Writes are scoped by the owning entity/person route; owner is never a write field.
- `sourceId` (string, optional, nullable)
- `status` (string, optional, nullable)
- `statusChecked` (datetime, optional, nullable)
- `updatedAt` (datetime, optional, nullable)

### UrlDuplicateJoin

URL ownership join row identifying which entity or person currently owns a normalized URL.

- `owner` (EntityPersonOwner, required) — Owner of the URL: either entityId or personId is populated depending on the owner kind. Use the populated id to read or update the owner's URL.
- `urlId` (integer, required) — Internal URL row id (res_weburl.id) — opaque to API clients.

### EntityPersonOwner

Exactly one of entityId or personId is set; ids only, no name fields. Resolve display names with GET /v1/entities/detail or GET /v1/people/\{personId}.

- `entityId` (string, optional, nullable) — Canonical entity UUID
- `personId` (string, optional, nullable) — Canonical person UUID

### SearchDuplicateCandidateScore

Duplicate candidate scoring result. Use id/name/slug/typeRecord/reason to decide whether the candidate is the requested record. score ranks review priority; it does not prove absence.

- `id` (string, required) — Candidate id to read or update when this candidate is the requested record.
- `reason` (list of string, required) — Match reasons such as name-exact, slug-exact, url-match, url-current, url-type, or precomputed-similarity. url-match proves the supplied URL/domain matched; url-current additionally proves the candidate still holds that address today, so a candidate with url-match but no url-current matched only through a URL it no longer uses, such as an acquisition redirect. url-type only means the candidate has the same URL category and is review context, not URL identity evidence.
- `score` (integer, required) — Ranking score for duplicate review. It is not an absence proof; a low score can still be the intended record when reason/name/slug/typeRecord match.
- `externalId` (string, optional, nullable) — Matched external identifier when duplicate scoring used one.
- `name` (string, optional, nullable) — Candidate display name from the existing record.
- `operatingStatus` (string, optional, nullable) — Current operating status for entity candidates.
- `publicPath` (string, optional, nullable) — Public API/UI path for the candidate when available.
- `slug` (string, optional, nullable) — Candidate slug from the existing record.
- `typeRecord` (enum, optional, nullable) — Candidate entity type from the existing record.
  - Allowed values: `Company`, `Investment Firm`, `Fund`, `Nonprofit`, `Government`, `Organization`, `Business Line`, `Product`, `Service`

### NewsCandidateScore

Duplicate candidate scoring result for news articles. Use id/slug/externalId/reason to decide whether the candidate is the requested article. score ranks review priority; it does not prove absence.

- `id` (integer, required) — News article id to read or update when this candidate is the requested article.
- `reason` (list of string, required) — Match reasons for reviewing the candidate. Exact reasons are decision signals regardless of whether score crosses the review threshold.
- `score` (integer, required) — Ranking score for duplicate review. It is not an absence proof; a low score can still be the intended article when reason/slug/externalId match.
- `externalId` (string, optional, nullable) — Matched external article identifier when duplicate scoring used one.
- `slug` (string, optional, nullable) — Candidate article slug from the existing record.

### AddressAssociation

One role and effective period for a physical address association

- `id` (integer, required) — Address association row identifier
- `isCurrent` (boolean, required) — Whether this role is currently relevant
- `endDate` (date, optional, nullable) — Last known day this role applied
- `role` (enum, optional, nullable) — Address association role; null means unclassified
  - Allowed values: `domicile`, `dominant`, `origin`
- `startDate` (date, optional, nullable) — First known day this role applied

### AddressCity

City reference used inside an address

- `name` (string, required) — City name
- `id` (integer, optional, nullable)

### AddressCountry

Country reference used inside an address

- `name` (string, required) — Country name
- `countryCodeChar2` (string, optional, nullable) — Two-letter country code
- `countryCodeChar3` (string, optional, nullable) — Three-letter country code
- `id` (integer, optional, nullable)
- `unRegion` (string, optional, nullable)
- `unSubregion` (string, optional, nullable)

### AddressState

State or region reference used inside an address

- `name` (string, required) — State or region name
- `id` (integer, optional, nullable)
- `stateAbbrev` (string, optional, nullable) — State or region abbreviation

## Examples

**Response**

```json
{
  "content": [
    {
      "person": {
        "id": "string",
        "image": {
          "isMonogram": true,
          "picture": "string"
        },
        "nameAlias": [
          {
            "name": "Bun",
            "displayable": true,
            "type": "nickname"
          }
        ],
        "nameFull": "string",
        "slug": "aventure-vc",
        "text": {
          "expanded": "Canonical expanded summary for grouped text assertions.",
          "generatedDescription": "Acme AI builds AI copilots for growth teams.",
          "short": "Canonical short summary"
        },
        "createdAt": "2024-01-15T09:30:00Z",
        "gender": "string",
        "lastModifiedAt": "2024-01-15T09:30:00Z",
        "nameFirst": "string",
        "nameLast": "string",
        "nameMiddle": "string",
        "nickname": "string",
        "publicId": "pV1StGXR8Z5ab",
        "semanticMatch": {
          "computedAt": "2024-01-15T09:30:00Z",
          "cosineDistance": 1.1,
          "cosineScore": 1.1,
          "modelVersion": "string",
          "rank": 1,
          "sourceHash": "string",
          "sourceId": "string",
          "sourceJson": "string",
          "sourceText": "string",
          "sourceType": "entity"
        },
        "suffix": "string",
        "updatedAt": "2024-01-15T09:30:00Z"
      },
      "similarity": {
        "origin": "precomputed",
        "rank": 1,
        "compositeScore": 1.1,
        "cosineScore": 1.1,
        "matchedSectionWeight": 1.1,
        "sharedSectionCount": 1
      },
      "currentRole": {
        "associationId": 1,
        "entityAddress": [
          {
            "address": 456,
            "addressLine1": "string",
            "addressLine2": "string",
            "association": [
              {
                "id": 123,
                "isCurrent": true,
                "endDate": "2023-01-15",
                "role": "domicile",
                "startDate": "2023-01-15"
              }
            ],
            "city": {
              "name": "Boston",
              "id": 1
            },
            "country": {
              "name": "United States",
              "countryCodeChar2": "US",
              "countryCodeChar3": "USA",
              "id": 1,
              "unRegion": "string",
              "unSubregion": "string"
            },
            "countryAbbrev": "string",
            "createdAt": "2024-01-15T09:30:00Z",
            "fullAddress": "123 Main St, Boston, MA 02110, USA",
            "id": 123,
            "latitude": 1.1,
            "longitude": 1.1,
            "postalCode": "string",
            "state": {
              "name": "Massachusetts",
              "id": 1,
              "stateAbbrev": "MA"
            },
            "stateAbbrev": "string",
            "street": "string",
            "updatedAt": "2024-01-15T09:30:00Z",
            "isCurrent": true,
            "isHq": true,
            "isPrimary": true
          }
        ],
        "entityId": "string",
        "entityLogo": {
          "isMonogram": true,
          "logo": "string",
          "logoSquare": "string"
        },
        "entitySlug": "aventure-vc",
        "entityUrlLink": [
          {
            "url": "https://example.com",
            "urlType": "website",
            "crawlCdnProvider": "cloudflare",
            "crawlRenderMode": "static",
            "createdAt": "2024-01-15T09:30:00Z",
            "id": 1,
            "isCurrent": true,
            "isPrimary": true,
            "owner": {
              "entityId": "string",
              "personId": "string"
            },
            "sourceId": "string",
            "status": "string",
            "statusChecked": "2024-01-15T09:30:00Z",
            "updatedAt": "2024-01-15T09:30:00Z"
          }
        ],
        "personAddress": [
          {
            "address": 456,
            "addressLine1": "string",
            "addressLine2": "string",
            "association": [
              {
                "id": 123,
                "isCurrent": true,
                "endDate": "2023-01-15",
                "role": "domicile",
                "startDate": "2023-01-15"
              }
            ],
            "city": {
              "name": "Boston",
              "id": 1
            },
            "country": {
              "name": "United States",
              "countryCodeChar2": "US",
              "countryCodeChar3": "USA",
              "id": 1,
              "unRegion": "string",
              "unSubregion": "string"
            },
            "countryAbbrev": "string",
            "createdAt": "2024-01-15T09:30:00Z",
            "fullAddress": "123 Main St, Boston, MA 02110, USA",
            "id": 123,
            "latitude": 1.1,
            "longitude": 1.1,
            "postalCode": "string",
            "state": {
              "name": "Massachusetts",
              "id": 1,
              "stateAbbrev": "MA"
            },
            "stateAbbrev": "string",
            "street": "string",
            "updatedAt": "2024-01-15T09:30:00Z",
            "isCurrent": true,
            "isHq": true,
            "isPrimary": true
          }
        ],
        "personId": "string",
        "personImage": {
          "isMonogram": true,
          "picture": "string"
        },
        "personName": "string",
        "personSlug": "aventure-vc",
        "personUrlLink": [
          {
            "url": "https://example.com",
            "urlType": "website",
            "crawlCdnProvider": "cloudflare",
            "crawlRenderMode": "static",
            "createdAt": "2024-01-15T09:30:00Z",
            "id": 1,
            "isCurrent": true,
            "isPrimary": true,
            "owner": {
              "entityId": "string",
              "personId": "string"
            },
            "sourceId": "string",
            "status": "string",
            "statusChecked": "2024-01-15T09:30:00Z",
            "updatedAt": "2024-01-15T09:30:00Z"
          }
        ],
        "endDate": "2024-01-15T09:30:00Z",
        "entityName": "string",
        "entityOperatingStatus": "string",
        "entityType": "Company",
        "isCurrent": true,
        "score": 1,
        "startDate": "2024-01-15T09:30:00Z",
        "titleFunction": "string",
        "titleId": 1,
        "titleLevel": "string",
        "titleName": "string"
      }
    }
  ],
  "empty": true,
  "first": true,
  "last": true,
  "number": 1,
  "numberOfElements": 1,
  "pageable": {
    "offset": 1,
    "pageNumber": 1,
    "pageSize": 1,
    "paged": true,
    "sort": {
      "empty": true,
      "sorted": true,
      "unsorted": true
    },
    "unpaged": true
  },
  "size": 1,
  "sort": {
    "empty": true,
    "sorted": true,
    "unsorted": true
  },
  "totalElements": 1,
  "totalPages": 1
}
```

**SDK Code**

```python
import requests

url = "https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.aventure.vc/v1/people/04e2bf9c-a100-72ad-83ff-ba69c647b30b/similar")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```