---
title: "Get activities (v2)"
method: GET
path: "/api/v1/campaigns/activities-v2/{id}"
tags: ["campaigns"]
deprecated: true
---

# Get activities (v2)

`GET /api/v1/campaigns/activities-v2/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/campaigns/activities-v2/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

> **Deprecated.**

Deprecated: use campaigns.activities.get.v3 (campaigns_activities_get_v3) for the same read with a campaign Point11 holds named on hold (cause "hold"), promising nothing of its. Read what is next and what runs now for the organization's campaigns: pass id "organization", a product ("discovery", "experience", "research"), or one campaign id. Returns the next customer and next run, the customer work in flight (for one campaign, conversations, visits or interviews running, admitted and due, or placed and due, from its product's calendar, where a launch whose first customer is still ahead is not in flight; for a product or the organization, from stored facts: every run Billing admitted for a campaign entry and has not finished, as running, and each campaign's stored next customer once its time has passed, as due), why nothing is scheduled when it is paused or on hold, the account's admission of new work for each product in scope in Billing's words, and the organization's activity revision. It reads no operator hold: a held campaign's placements still read as next.

## Path parameters

- `id` union, required: The scope: "organization", a product ("discovery", "experience", "research"), or one campaign id.
  - 'organization' | 'discovery' | 'research' | 'experience'
  - string, uuid

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- CampaignsActivitiesGetV2Response
  - `scope` union, required
    - object
      - `kind` 'campaign', required
      - `product` 'discovery' | 'research' | 'experience', required
      - `campaignId` string, required
    - object
      - `kind` 'product', required
      - `product` 'discovery' | 'research' | 'experience', required
    - object
      - `kind` 'organization', required
  - `observedAt` string, required: ISO timestamp the activity was observed at.
  - `through` string, required: ISO end of the window the plan reads through.
  - `timeZone` string, required: IANA zone the scope's work runs on.
  - `nextCustomer` object, nullable, required
    - `product` 'discovery' | 'research' | 'experience', required
    - `campaignId` string, required
    - `campaignName` string, required
    - `at` string, required: ISO timestamp.
  - `nextRun` object, nullable, required
    - `product` 'discovery' | 'research' | 'experience', required
    - `campaignId` string, required
    - `campaignName` string, required
    - `at` string, required: ISO timestamp.
  - `execution` object, required: Customer work in flight, summed over every campaign in scope: one campaign's from its product's calendar (conversations, visits or interviews, never launches), a product's or the organization's from stored facts (the runs Billing admitted and has not finished, and each campaign's stored next customer once its time has passed); any of it means the scope is Running.
    - `running` integer, required: Customer work executing now: for a product or the organization, every run Billing admitted for a campaign entry and has not finished, started or not.
    - `queued` integer, required: Customer work admitted and due now that has not started: one campaign's alone, which a product or the organization counts as running.
    - `due` integer, required: Customer work placed and past its time but not yet admitted (for a product or the organization, each campaign's stored next customer once its time has passed), a one-time or repeating campaign's admission whose time has passed, and an always-on Experience cycle's opening until that cycle is planned.
  - `state` 'ready' | 'paused' | 'no_campaigns' | 'unavailable', required
  - `pause` object, nullable, required: Why nothing is coming; present exactly when state is "paused".
    - `cause` 'user' | 'subscription' | 'billing' | 'schedule' | 'setup' | 'refused' | 'nothing_scheduled', required
    - `detail` string, nullable, required
  - `admissions` CampaignsAdmissions, required: The account's admission of new work for each product the scope covers.
    - `discovery` object
      - `allowed` boolean, required: Whether the account admits new work for this product now.
      - `unavailable` boolean, required: The check could not be made; it refuses nothing on the account's behalf.
      - `reason` string, nullable, required: Billing's or Identity's sentence for a refusal or an unavailable check.
      - `code` string, nullable, required: Billing's refusal code when Billing refuses new work, account-wide or this period's usage, else null.
      - `subscriptionPaused` boolean, required: The organization's Analytics subscription is paused.
      - `paymentDisputeHold` true: A payment dispute holds the account; its one action is support.
    - `experience` object
      - `allowed` boolean, required: Whether the account admits new work for this product now.
      - `unavailable` boolean, required: The check could not be made; it refuses nothing on the account's behalf.
      - `reason` string, nullable, required: Billing's or Identity's sentence for a refusal or an unavailable check.
      - `code` string, nullable, required: Billing's refusal code when Billing refuses new work, account-wide or this period's usage, else null.
      - `subscriptionPaused` boolean, required: The organization's Analytics subscription is paused.
      - `paymentDisputeHold` true: A payment dispute holds the account; its one action is support.
    - `research` object
      - `allowed` boolean, required: Whether the account admits new work for this product now.
      - `unavailable` boolean, required: The check could not be made; it refuses nothing on the account's behalf.
      - `reason` string, nullable, required: Billing's or Identity's sentence for a refusal or an unavailable check.
      - `code` string, nullable, required: Billing's refusal code when Billing refuses new work, account-wide or this period's usage, else null.
      - `subscriptionPaused` boolean, required: The organization's Analytics subscription is paused.
      - `paymentDisputeHold` true: A payment dispute holds the account; its one action is support.
  - `revision` string, nullable, required: The organization's activity revision; null when it could not be read.

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `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/36a84c7aca11?raw)
