---
title: "Create a source"
method: POST
path: "/sources"
tags: ["Sources"]
---

# Create a source

`POST /sources`

## Request

- Base URL: `https://api.screvi.com/api/v1`
- URL: `https://api.screvi.com/api/v1/sources`
- Auth: API key in header `X-API-Key`

Creates a source (a book, podcast, video, tweet, or custom collection) to hang highlights off. Saved web articles are not created here: use `POST /api/articles`. Requires the `write` scope.

## Request body

- object
  - `name` string, required
  - `type` 'book' | 'podcast' | 'video' | 'tweet' | 'self' | 'custom', required
  - `author` string
  - `url` string, uri
  - `image_url` string, uri
  - `isbn` string
  - `asin` string
  - `note` string
  - `published_date` string, date
  - `metadata` object

## Response `201`

The created source

## Other responses

- `409`: type self: the user already has a Personal Notes source (its id is in source_id)
- `422`: Validation failed

---

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