---
title: "Track opportunity interaction"
method: POST
path: "/opportunities/{opportunity_id}/interactions"
tags: ["Opportunities"]
---

# Track opportunity interaction

`POST /opportunities/{opportunity_id}/interactions`

## Request

- Base URL: `https://api.presscart.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.presscart.com/opportunities/{opportunity_id}/interactions`
- Auth: HTTP bearer

Track user interactions with opportunities for learning and analytics

## Path parameters

- `opportunity_id` string, uuid, required

## Request body

- object
  - `type` 'VIEW' | 'CLICK' | 'DISMISS' | 'COMPLETE' | 'FEEDBACK', required
  - `reason` 'TIMING' | 'QUALITY' | 'ALREADY_COVERED' | 'NOT_RELEVANT' | 'WRONG_AUDIENCE' | 'TOO_EXPENSIVE' | 'DIFFERENT_FORMAT' | 'OTHER'
  - `metadata` object
  - `rating` integer
  - `feedback` string

## Response `200`

Interaction tracked successfully

- object
  - `success` boolean, required
  - `interaction` OpportunityInteraction, required
    - `id` string, uuid, required
    - `created_at` union, required
      - string, nullable
      - string
      - unknown
    - `updated_at` union, required
      - string, nullable
      - string
      - unknown
    - `type` 'VIEW' | 'CLICK' | 'DISMISS' | 'COMPLETE' | 'FEEDBACK', required
    - `reason` 'TIMING' | 'QUALITY' | 'ALREADY_COVERED' | 'NOT_RELEVANT' | 'WRONG_AUDIENCE' | 'TOO_EXPENSIVE' | 'DIFFERENT_FORMAT' | 'OTHER', nullable, required
    - `metadata` object, nullable, required
    - `rating` number, nullable, required
    - `feedback` string, nullable, required
    - `opportunity_id` string, uuid, required
    - `user_id` string, uuid, required

## Other responses

- `400`: Invalid interaction payload
- `404`: Opportunity not found

---

[API](https://skmtc.dev/presscart/apis/presscart-prod-api.md) · [All operations](https://skmtc.dev/presscart/apis/presscart-prod-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presscart/apis/presscart-prod-api/revisions/2154581d845e?raw)
