---
title: "Vote On Paper Repo"
method: POST
path: "/votes/paper/{paper_id}/repo/{owner}/{repo_name}"
tags: ["votes"]
---

# Vote On Paper Repo

`POST /votes/paper/{paper_id}/repo/{owner}/{repo_name}`

## Request

- Base URL: `https://api.codeofpaper.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.codeofpaper.com/votes/paper/{paper_id}/repo/{owner}/{repo_name}`
- Auth: HTTP bearer

Vote on a paper-repository pair.
- If user hasn't voted: create new vote
- If user voted same type: remove vote (toggle off)
- If user voted different type: change vote

## Path parameters

- `paper_id` string, required
- `owner` string, required
- `repo_name` string, required

## Request body

- VoteRequest
  - `vote_type` string, required

## Response `200`

Successful Response

- VoteResponse
  - `upvotes` integer, required
  - `downvotes` integer, required
  - `user_vote` string, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/codeofpaper/apis/code-of-paper-dev-api.md) · [All operations](https://skmtc.dev/codeofpaper/apis/code-of-paper-dev-api/llms.txt) · [OpenAPI document](https://skmtc.dev/codeofpaper/apis/code-of-paper-dev-api/revisions/94ea47fd4aa1?raw)
