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

# Pre Encounter Eligibility Checks V 1 Vote Recommendation

PUT https://api.taigabilling.com/eligibility-checks/v1/recommendation/{recommendation_id}/{version}/vote
Content-Type: application/json

Submit user feedback on an eligibility recommendation. The path must contain the next version number to prevent race conditions. For example, if the current version of the recommendation is n, you will need to send a request to this endpoint with `/{recommendation_id}/{n+1}/vote` to update the vote.

Reference: https://docs.taigabilling.com/api-reference/pre-encounter-eligibility-checks-v-1/pre-encounter-eligibility-checks-v-1-vote-recommendation

## Authentication

- `Authorization` header (bearer token, required) — Send your Taiga API key as a Bearer token. Create and manage keys in the Taiga developer portal.

## Servers

- `https://api.taigabilling.com` (Production, default)
- `https://api-staging.taigabilling.com` (Staging)

## Request

### Path parameters

- `recommendation_id` (string, required)
- `version` (string, required)

### Body (application/json)

This endpoint expects a pre-encountereligibilityChecksv1Vote.

- `user_id` (string, required) — The user who voted
- `value` (enum, required) — The vote value
  - Allowed values: `UPVOTE`, `DOWNVOTE`

## Response

### 200

- `deactivated` (boolean, required) — True if the object is deactivated. Deactivated objects are not returned in search results but are returned in all other endpoints including scan.
- `eligibility_check_id` (string, required)
- `id` (string, required) — The unique UUID identifier for an EligibilityRecommendation.
- `organization_id` (string, required) — The organization that owns this object.
- `patient` (pre-encountereligibilityChecksv1EligibilityRecommendationPatientInfo, required) — An object representing patient information for an eligibility recommendation. This is used to find recommendations. Each field helps us find the right corresponding eligibility recommendation for the patient.
- `recommendation` (pre-encountereligibilityChecksv1EligibilityRecommendationPayload, required)
- `updated_at` (datetime, required)
- `updating_user_id` (string, required) — The user ID of the user who last updated the object.
- `version` (integer, required) — The version of the object. Any update to any property of an object object will create a new version.
- `coverage_id` (string, optional, nullable) — The unique identifier for a Coverage in the database
- `votes` (list of pre-encountereligibilityChecksv1Vote, optional, nullable) — Array of votes for this recommendation

## Errors

### 404 Not Found Error

- `PreEncounter_eligibilityChecks_v1_vote-recommendationRequestNotFoundError`
  - PreEncounterEligibilityChecksV1VoteRecommendationRequestNotFoundError0

### 409 Conflict Error

- `PreEncounter_eligibilityChecks_v1_vote-recommendationRequestConflictError`
  - PreEncounterEligibilityChecksV1VoteRecommendationRequestConflictError0

## Types

### pre-encountereligibilityChecksv1EligibilityRecommendationPatientInfo

An object representing patient information for an eligibility recommendation. This is used to find recommendations. Each field helps us find the right corresponding eligibility recommendation for the patient.

- `id` (string, optional, nullable) — The unique identifier for a Patient
- `mrn` (string, optional, nullable)
- `organization_id` (string, optional, nullable) — The unique identifier for an Organization in the database
- `last_name` (string, optional, nullable)
- `first_name` (string, optional, nullable)
- `date_of_birth` (date, optional, nullable)
- `member_id` (string, optional, nullable)

### pre-encountereligibilityChecksv1EligibilityRecommendationPayload

- PreEncountereligibilityChecksv1EligibilityRecommendationPayload0
- PreEncountereligibilityChecksv1EligibilityRecommendationPayload1
- PreEncountereligibilityChecksv1EligibilityRecommendationPayload2
- PreEncountereligibilityChecksv1EligibilityRecommendationPayload3
- PreEncountereligibilityChecksv1EligibilityRecommendationPayload4

### pre-encountereligibilityChecksv1Vote

User feedback on a recommendation

- `user_id` (string, required) — The user who voted
- `value` (enum, required) — The vote value
  - Allowed values: `UPVOTE`, `DOWNVOTE`

### PreEncounterEligibilityChecksV1VoteRecommendationRequestNotFoundError0

- `errorName` (enum, optional)
  - Allowed values: `VersionConflictError`
- `content` (pre-encounterErrorBase4xx, optional)

### PreEncounterEligibilityChecksV1VoteRecommendationRequestConflictError0

- `errorName` (enum, optional)
  - Allowed values: `VersionConflictError`
- `content` (pre-encounterVersionConflictErrorBody, optional)

### PreEncountereligibilityChecksv1EligibilityRecommendationPayload0

- `payload` (pre-encountereligibilityChecksv1MedicareAdvantageRecommendationPayload, required) — An object representing the payload for a Medicare Advantage recommendation.
- `type` (enum, required)
  - Allowed values: `MEDICARE_ADVANTAGE`

### PreEncountereligibilityChecksv1EligibilityRecommendationPayload1

- `payload` (pre-encountereligibilityChecksv1MedicareAdvantageRecommendationPayload, required) — An object representing the payload for a Medicare Advantage recommendation.
- `type` (enum, required)
  - Allowed values: `MEDICAID_MANAGED_CARE`

### PreEncountereligibilityChecksv1EligibilityRecommendationPayload2

- `payload` (any, required)
- `type` (enum, required)
  - Allowed values: `COORDINATION_OF_BENEFITS`

### PreEncountereligibilityChecksv1EligibilityRecommendationPayload3

- `payload` (pre-encountereligibilityChecksv1CopayEstimationRecommendationPayload, required) — Payload for MD visit copay estimation from AI analysis
- `type` (enum, required)
  - Allowed values: `COPAY_ESTIMATION`

### PreEncountereligibilityChecksv1EligibilityRecommendationPayload4

- `payload` (pre-encountereligibilityChecksv1UserConfiguredPromptsRecommendationPayload, required) — Payload for user-configured prompt recommendations from AI analysis
- `type` (enum, required)
  - Allowed values: `USER_CONFIGURED_PROMPTS`

### pre-encounterErrorBase4xx

- `message` (string, required)
- `data` (any, optional, nullable)

### pre-encounterVersionConflictErrorBody

- `message` (string, required)
- `data` (any, optional, nullable)
- `latest_version` (integer, optional, nullable)

### pre-encountereligibilityChecksv1MedicareAdvantageRecommendationPayload

An object representing the payload for a Medicare Advantage recommendation.

- `ma_benefit` (any, optional, nullable)
- `payer_id` (string, optional, nullable)
- `payer_name` (string, optional, nullable)
- `member_id` (string, optional, nullable)

### pre-encountereligibilityChecksv1CopayEstimationRecommendationPayload

Payload for MD visit copay estimation from AI analysis

- `exposition` (string, required) — The AI's explanation of the copay estimate
- `structured_response` (integer, optional, nullable) — The estimated copay amount in cents

### pre-encountereligibilityChecksv1UserConfiguredPromptsRecommendationPayload

Payload for user-configured prompt recommendations from AI analysis

- `results` (list of pre-encountereligibilityChecksv1UserConfiguredPromptsResult, required) — Array of results from all enabled user-configured prompts

### pre-encountereligibilityChecksv1UserConfiguredPromptsResult

Individual result from a single user-configured prompt execution

- `user_prompt_id` (string, required) — Reference to the user prompt in eligibility config
- `prompt_name` (string, required) — User-defined name for the prompt
- `structured_response` (any, required) — The AI's structured answer (boolean, number, or string)
- `exposition` (string, required) — The AI's explanation of the answer

## Examples

**Request**

```json
{
  "user_id": "string",
  "value": "UPVOTE"
}
```

**Response**

```json
{
  "deactivated": true,
  "eligibility_check_id": "string",
  "id": "string",
  "organization_id": "string",
  "patient": {
    "id": "string",
    "mrn": "string",
    "organization_id": "string",
    "last_name": "string",
    "first_name": "string",
    "date_of_birth": "2023-01-15",
    "member_id": "string"
  },
  "recommendation": {
    "payload": {
      "ma_benefit": null,
      "member_id": "string",
      "payer_id": "string",
      "payer_name": "string"
    },
    "type": "MEDICARE_ADVANTAGE"
  },
  "updated_at": "2024-01-15T09:30:00Z",
  "updating_user_id": "string",
  "version": 1,
  "coverage_id": "string",
  "votes": [
    {
      "user_id": "string",
      "value": "UPVOTE"
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://api.taigabilling.com/eligibility-checks/v1/recommendation/recommendation_id/version/vote"

payload = {
    "user_id": "string",
    "value": "UPVOTE"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
```