> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.aventure.vc/api-reference/news/subscribe-news-subscription/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aventure.vc/_mcp/server. # Subscribe to Entity News PUT https://api.aventure.vc/v1/news/subscriptions Content-Type: application/json Creates or refreshes a webhook subscription to news newly linked to one entity. A new endpoint must echo a signed verification challenge before the subscription exists. Reference: https://docs.aventure.vc/api-reference/news/subscribe-news-subscription ## Authentication - `Authorization` header (bearer token, required) — Your aVenture API key (https://aventure.vc/settings/api-keys) or OAuth access token ## Request ### Body (application/json) This endpoint expects a NewsSubscription. - `arguments` (NewsSubscriptionArguments, required) — Arguments of the entity.news.published event. - `delivery` (NewsSubscriptionDelivery, required) — Webhook delivery target and secret. - `name` (enum, required) — Subscribable event name - Allowed values: `entity.news.published` - `cursor` (string, optional, nullable) — Opaque watermark from an earlier grant or event to resume after; null starts a new subscription from now and keeps an existing subscription's position. - `ttlMs` (long, optional, nullable) — Requested subscription lifetime in milliseconds; the server caps it. ## Response ### 200 OK - `cursor` (string, required) — Opaque watermark the subscription delivers after. - `id` (string, required) — Stable subscription id; sent as X-MCP-Subscription-Id. - `refreshBefore` (datetime, required) — The subscription expires unless refreshed before this instant. - `truncated` (boolean, required) — Whether events between the requested cursor and now were lost. ## Errors ### 400 Bad Request Error Bad Request - `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted. - Allowed values: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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. ### 409 Conflict Error Conflict - `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted. - Allowed values: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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. ### 415 Unsupported Media Type Error Unsupported Media Type - `allowanceType` (enum, optional) — Which monthly allowance a BILLING_ALLOWANCE refusal exhausted. - Allowed values: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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: `COMPANY`, `PERSON`, `ENTITY_VIEW`, `PERSON_VIEW`, `WEB_SEARCH` - `circuitBreaker` (string, optional, nullable) - `code` (string, optional, nullable) — 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. - `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`, `AGENT_HELP`, `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 ### NewsSubscriptionArguments Arguments of the entity.news.published event. - `entityId` (string, required) — Entity whose newly linked public news is delivered. ### NewsSubscriptionDelivery Webhook delivery target and secret. - `mode` (enum, required) — Event delivery mode - Allowed values: `webhook` - `secret` (string, required) — Standard Webhooks signing secret: whsec_ followed by base64 of 24 to 64 bytes. It is never returned. The CLI reads it only from --from-file, never a flag. - `url` (string, required) — Public https endpoint that receives signed event POSTs. ### 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. ### 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-exact?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. ### 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) — Owning entity id; set only when personId is absent. - `personId` (string, optional, nullable) — Owning person id; set only when entityId is absent. ### 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. ## Examples **Request** ```json { "arguments": { "entityId": "string" }, "delivery": { "mode": "webhook", "secret": "string", "url": "string" }, "name": "entity.news.published" } ``` **Response** ```json { "cursor": "string", "id": "string", "refreshBefore": "2024-01-15T09:30:00Z", "truncated": true } ``` **SDK Code** ```python import requests url = "https://api.aventure.vc/v1/news/subscriptions" payload = { "arguments": { "entityId": "string" }, "delivery": { "mode": "webhook", "secret": "string", "url": "string" }, "name": "entity.news.published" } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.put(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.aventure.vc/v1/news/subscriptions'; const options = { method: 'PUT', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"arguments":{"entityId":"string"},"delivery":{"mode":"webhook","secret":"string","url":"string"},"name":"entity.news.published"}' }; 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" "strings" "net/http" "io" ) func main() { url := "https://api.aventure.vc/v1/news/subscriptions" payload := strings.NewReader("{\n \"arguments\": {\n \"entityId\": \"string\"\n },\n \"delivery\": {\n \"mode\": \"webhook\",\n \"secret\": \"string\",\n \"url\": \"string\"\n },\n \"name\": \"entity.news.published\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") 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/news/subscriptions") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"arguments\": {\n \"entityId\": \"string\"\n },\n \"delivery\": {\n \"mode\": \"webhook\",\n \"secret\": \"string\",\n \"url\": \"string\"\n },\n \"name\": \"entity.news.published\"\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api.aventure.vc/v1/news/subscriptions") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"arguments\": {\n \"entityId\": \"string\"\n },\n \"delivery\": {\n \"mode\": \"webhook\",\n \"secret\": \"string\",\n \"url\": \"string\"\n },\n \"name\": \"entity.news.published\"\n}") .asString(); ``` ```php request('PUT', 'https://api.aventure.vc/v1/news/subscriptions', [ 'body' => '{ "arguments": { "entityId": "string" }, "delivery": { "mode": "webhook", "secret": "string", "url": "string" }, "name": "entity.news.published" }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.aventure.vc/v1/news/subscriptions"); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"arguments\": {\n \"entityId\": \"string\"\n },\n \"delivery\": {\n \"mode\": \"webhook\",\n \"secret\": \"string\",\n \"url\": \"string\"\n },\n \"name\": \"entity.news.published\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = [ "arguments": ["entityId": "string"], "delivery": [ "mode": "webhook", "secret": "string", "url": "string" ], "name": "entity.news.published" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.aventure.vc/v1/news/subscriptions")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data 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() ```