---
title: "Start processing an uploaded source"
method: POST
path: "/api/v1/external/sources/{sourceId}/process"
tags: ["Sources"]
---

# Start processing an uploaded source

`POST /api/v1/external/sources/{sourceId}/process`

## Request

- Base URL: `https://api.wove.com`
- URL: `https://api.wove.com/api/v1/external/sources/{sourceId}/process`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/wove/apis/wove-external-api/docs/api/v1/external/sources/:sourceId/process/post.ts> (a function with typed inputs; its response is checked against the schema)

Initiates processing of a source file after it has been uploaded to the presigned URL.

The source will be queued for processing and its status will transition through:
- `pending` → `processing` → `complete` or `failed`

Use GET /sources/{sourceId} to monitor processing status.
Configure webhooks to receive notifications when processing completes.

## Path parameters

- `sourceId` string, required

## Response `200`

Processing started successfully

- object
  - `success` boolean
  - `data` ProcessSourceResponse
    - `sourceId` string, required: The source ID
    - `status` 'pending' | 'processing', required: Current processing status
    - `message` string: Status message

## Other responses

- `400`: Source not ready for processing (not uploaded yet)
- `404`: Source not found

---

[API](https://skmtc.dev/wove/apis/wove-external-api.md) - [All operations](https://skmtc.dev/wove/apis/wove-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wove/apis/wove-external-api/revisions/37290e267e07?raw)
