---
title: "Create advisor actions (v2)"
method: POST
path: "/api/v1/alpha/advisor-actions/create-v2"
tags: ["alpha"]
deprecated: true
---

# Create advisor actions (v2)

`POST /api/v1/alpha/advisor-actions/create-v2`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/alpha/advisor-actions/create-v2`
- Auth: OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

> **Deprecated.**

Deprecated: use alpha.advisor-actions.create.v3 (alpha_advisor_actions_create_v3), which writes an action's whole content without naming a campaign. This version adds the signed-in member's action about a live Discovery or Experience campaign: its body is the context and the evidence summary, what to do is its title, and dispatchId is accepted and no longer read. The action lists awaiting Advisor's review at once. No lift is estimated. Needs a signed-in member.

## Headers

- `Point11-Organization` string, uuid
- `Idempotency-Key` string, uuid, required

## Request body

- AlphaAdvisorActionsCreateV2Request
  - `campaignId` string, uuid, required
  - `dispatchId` string, uuid, required: Accepted and no longer read
  - `title` string, required
  - `context` string, required
  - `area` 'product' | 'content' | 'distribution' | 'pricing_packaging' | 'compliance_security' | 'sales_enablement' | 'competitive_positioning' | 'customer_success' | 'operations', required
  - `effortLevel` 'low' | 'medium' | 'high'
  - `evidenceSummary` string, required

## Response `200`

Success.

- AlphaAdvisorActionsCreateV2Response
  - `action` AlphaDataItem2, required
    - `id` string, uuid, required
    - `product` 'discovery' | 'experience', required
    - `campaign` object, nullable, required
      - `id` string, uuid, required
      - `name` string, required
    - `rank` integer, required
    - `priorityScore` number, required
    - `title` string, required
    - `context` string, required
    - `action` string, required
    - `area` 'product' | 'content' | 'distribution' | 'pricing_packaging' | 'compliance_security' | 'sales_enablement' | 'competitive_positioning' | 'customer_success' | 'operations', required
    - `status` 'acknowledged' | 'in_progress' | 'done' | 'dismissed', required
    - `suggestedBy` string, required
    - `reach` object, required
      - `pct` number, required
      - `rationale` string, required
    - `effort` object, required
      - `level` 'low' | 'medium' | 'high', required
      - `score` integer, required
      - `rationale` string, required
      - `primaryConstraint` string, required
    - `upside` object, required
      - `expectedFinalWins` number
      - `measuredConversations` number
      - `expectedPassedJourneys` number
      - `passRateJourneys` number
      - `lossReductionPct` number, required
      - `winRateLiftPp` number, required
      - `brandShareLiftPp` number, required
      - `blendedLiftPp` number, required
      - `primaryMetric` 'win_rate' | 'brand_share' | 'both' | 'site_pass_rate', required
      - `rationale` string, required
    - `impact` object, required
      - `metric` 'win_rate' | 'site_pass_rate', required
      - `liftPp` number, required
      - `annualValueUsd` number, nullable, required
      - `basis` 'model_estimate', required
    - `expectedAnnualValueUsd` number, nullable, required
    - `estimatedTimeline` string, required
    - `evidenceSummary` string, required
    - `evidence` object[], required
      - `kind` 'win_reason' | 'loss_reason' | 'positive_sentiment' | 'negative_sentiment' | 'decision_criterion' | 'competitor_action' | 'source_evidence' | 'citation' | 'measurement', required
      - `label` string, required
      - `count` number
      - `competitor` string
      - `source` string
      - `metric` string
      - `value` number
    - `evidenceCitations` object[], required
      - `kind` 'aggregate_metric' | 'brand_measurement' | 'source_evidence' | 'source_influence' | 'conversation' | 'citation' | 'journey', required
      - `summary` string, required
      - `factLabel` string
      - `analysisId` string
      - `conversationId` string, nullable
      - `metric` string
      - `value` number
      - `count` number
      - `source` string
      - `url` string, nullable
    - `evidenceLinks` object[], required
      - `routeId` string, required
      - `label` string, required
      - `href` string, required
      - `reason` string, required
    - `dismissalReason` string, nullable, required
    - `raisedAt` string, date-time, nullable, required
    - `completedAt` string, date-time, nullable, required
    - `carriedRefreshCount` integer, required
    - `latestDecision` AlphaLatestDecision, nullable, required
      - `dispatchId` string, uuid, required
      - `decidedAt` string, date-time, required
      - `decision` 'keep' | 'drop' | 'unsupported' | 'outcome', required
      - `reason` string, required
      - `verdict` 'worked' | 'didnt' | 'too_early' | 'cant_tell', nullable, required
      - `observation` string, nullable, required
    - `outcome` AlphaLatestDecision, nullable, required
      - `dispatchId` string, uuid, required
      - `decidedAt` string, date-time, required
      - `decision` 'keep' | 'drop' | 'unsupported' | 'outcome', required
      - `reason` string, required
      - `verdict` 'worked' | 'didnt' | 'too_early' | 'cant_tell', nullable, required
      - `observation` string, nullable, required
    - `planRun` object, nullable, required
      - `conversationId` string, uuid, required
      - `failed` boolean, required
    - `implementation` AlphaImplementation, nullable, required
      - `statusControl` 'automatic' | 'manual', required
      - `latest` object, nullable, required
        - `checkId` string, uuid, required
        - `observedAt` string, date-time, required
        - `finding` 'confirmed' | 'partial' | 'not_seen' | 'unavailable' | 'removed' | 'already_present' | 'manual', required
        - `summary` string, required
        - `criteria` object[], required
          - `criterionId` string, required
          - `requirement` string, nullable, required
          - `scope` string, nullable, required
          - `assessment` 'met' | 'missing' | 'unknown', required
          - `quote` string, nullable, required
          - `explanation` string, required
          - `sourceUrls` string[], required
        - `missingOrUncertainScope` string[], required
        - `change` string, nullable, required
        - `sources` object[], required
          - `evidenceId` string, required
          - `requestedUrl` string, uri, required
          - `finalUrl` string, uri, nullable, required
          - `status` integer, nullable, required
          - `fetchedAt` string, date-time, required
          - `byteLength` integer, required
          - `sha256` string, nullable, required
          - `truncated` boolean, required
          - `error` string, nullable, required
        - `application` 'applied' | 'no_effect' | 'superseded', required
        - `applicationReason` string, nullable, required
      - `completedBy` object, nullable, required
        - `checkId` string, uuid, required
        - `at` string, date-time, required
      - `reviewWarning` boolean, required
    - `review` AlphaReview, required
      - `section` 'new' | 'reviewed' | 'set_aside', required
      - `why` string, nullable, required
      - `groupLead` object, nullable, required
        - `id` string, uuid, required
        - `title` string, required
      - `groupMembers` object[], required
        - `id` string, uuid, required
        - `title` string, required

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `402`: Billing refused the write: the code names the reason and `details.reason` carries it.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

[API](https://skmtc.dev/point11/apis/point11-api.md) · [All operations](https://skmtc.dev/point11/apis/point11-api/llms.txt) · [OpenAPI document](https://skmtc.dev/point11/apis/point11-api/revisions/5241805fe425?raw)
