---
title: "Create a flashcard deck with cards"
method: POST
path: "/api/v1/flashcards"
tags: ["Flashcards"]
---

# Create a flashcard deck with cards

`POST /api/v1/flashcards`

## Request

- Base URL: `https://www.quiz.video`
- URL: `https://www.quiz.video/api/v1/flashcards`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://www.quiz.video/api/auth/oauth2/authorize`, token URL `https://www.quiz.video/api/auth/oauth2/token`, scopes: `api:read`)
  - OpenID Connect (`https://www.quiz.video/.well-known/openid-configuration`, scopes: `api:read`)

## Request body

- CreateFlashcardDeckRequest
  - `title` string, required
  - `description` string
  - `tags` string[]
  - `cards` FlashcardCardInput[], required
    - `front` string, required
    - `back` string, required
    - `hint` string

## Response `200`

Successful response

- object
  - `data` FlashcardDeck, required
    - `id` string
    - `title` string
    - `description` string, nullable
    - `slug` string
    - `tags` string, nullable
    - `sourceType` string, nullable
    - `cardCount` integer
    - `isPublished` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `201`: Successful response
- `400`: Request validation failed (code VALIDATION_ERROR or a field-specific code)
- `401`: Missing or invalid credentials (code UNAUTHORIZED)
- `403`: Credentials are valid but lack access or scope (code FORBIDDEN or INSUFFICIENT_SCOPE)
- `404`: Resource not found (code NOT_FOUND)
- `429`: API key rate limit exceeded (code RATE_LIMITED)
- `500`: Unexpected server error (code INTERNAL_ERROR)

---

[API](https://skmtc.dev/quiz/apis/quiz-video-api.md) · [All operations](https://skmtc.dev/quiz/apis/quiz-video-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quiz/apis/quiz-video-api/revisions/f615216b844d?raw)
