---
title: "Get a vote"
description: "Retrieve information about a vote."
canonical: https://www.charitips.com/docs/api-reference/get-vote
---

# Get a vote

`GET /v1/votes/{voteId}`

Retrieve information about a vote.

**Authentication**: Bearer access token.

## Parameters

- `voteId` (string, required)
- `includeUrl` (boolean): Include the url to the page where the vote can be casted
- `includeAssets` (boolean): Include dynamic assets such as donation cards and QR code
- `includeDonor` (boolean): Include the donor information

## Response 200

- `voteId` (string, required)
- `weight` (number)
- `status` (VoteStatus, required) One of `PENDING`, `DONE`, `PROCESSED`.
- `secret` (string, required)
- `externalId` (string)
- `uniqueExternalId` (string)
- `castedAt` (string (date-time))
- `validatedAt` (string (date-time))
- `processedAt` (string (date-time))
- `billingStatus` (BillingStatus, required) One of `PENDING`, `BILLED`, `PAID`.
- `autoAssigned` (boolean)
- `sendingMode` (CampaignSendingMode, required) One of `MANUAL`, `EMAIL`, `PHYSICAL`, `SLACK`, `POSTAL`.
- `sendingDate` (string (date-time))
- `sendingStatus` (DonationSendingStatus, required) One of `PENDING`, `FAILED`, `DONE`.
- `lastReminderId` (string)
- `message` (string)
- `reminderMessage` (string)
- `from` (string)
- `language` (Language, required) One of `fr`, `en`.
- `sharedOn` (SocialNetwork) One of `LINKEDIN`, `INSTAGRAM`, `FACEBOOK`, `TWITTER`, `WHATSAPP`.
- `accountId` (string, required)
- `campaignId` (string, required)
- `charityId` (string)
- `transactionId` (string)
- `donorId` (string)
- `createdAt` (string (date-time), required)
- `updatedAt` (string (date-time), required)

## Errors

- 400 `A field is missing, has the wrong type, or is not part of the request schema.`: `message` lists every problem. Unknown fields are rejected, not ignored: remove them rather than sending extra data. See https://www.charitips.com/docs/api-reference/errors.md.
- 401 `Unauthorized`: The access token is missing, expired or invalid. Create a new one with your client id and secret, send it as `Authorization: Bearer <accessToken>`, then retry once. Sandbox tokens only work on api.sandbox.charitips.com. See https://www.charitips.com/docs/get-started/authentication.md.
- 403 `Account closed`: The account behind these credentials is closed: no token is issued and every call is refused, reads included. Contact Charitips to reopen it. See https://www.charitips.com/docs/api-reference/troubleshooting.md#calls-answer-403-account-not-active-account-not-validated-or-account-closed.
- 404 `Not Found`: No resource with this id on your account and environment. An id that belongs to another account answers 404 too when it is in the path. Ids from the sandbox do not exist in production. See https://www.charitips.com/docs/get-started/sandbox.md.

## Example

```bash
curl -X GET https://api.sandbox.charitips.com/v1/votes/<voteId> \
  -H "Authorization: Bearer $CHARITIPS_TOKEN"
```

```javascript
const response = await fetch('https://api.sandbox.charitips.com/v1/votes/<voteId>', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.CHARITIPS_TOKEN}`,
  },
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const data = await response.json();
```

```python
import os, requests

response = requests.get(
    "https://api.sandbox.charitips.com/v1/votes/<voteId>",
    headers={"Authorization": f"Bearer {os.environ['CHARITIPS_TOKEN']}"},
)
response.raise_for_status()
data = response.json()
```

## Response example (200, placeholder values)

```json
{
  "voteId": "<voteId>",
  "weight": 1,
  "status": "PENDING",
  "secret": "<secret>",
  "externalId": "<externalId>",
  "uniqueExternalId": "<uniqueExternalId>",
  "castedAt": "<castedAt>",
  "validatedAt": "<validatedAt>"
}
```
