---
title: "Complete"
method: POST
path: "/onboarding/manufacturer/complete"
tags: ["onboarding"]
---

# Complete

`POST /onboarding/manufacturer/complete`

## Request

- Base URL: `https://api.threadchain.pro` (the document declares no server; this is the origin it was published from)
- URL: `https://api.threadchain.pro/onboarding/manufacturer/complete`
- Auth: OAuth 2
  - Password
  - Token URL: `auth/token`

Mark onboarding finished. Idempotent — calling twice is safe and
keeps the original ``completed_at``.

## Query parameters

- `org_id` string, uuid, nullable

## Response `200`

Successful Response

- ManufacturerProfileOut
  - `id` string, uuid, required
  - `manufacturer_id` string, uuid, required
  - `org_id` string, uuid, required
  - `user_id` string, uuid, nullable
  - `account_type` 'manufacturer' | 'sourcing_agent'
  - `company_name` string, nullable
  - `company_email` string, email, nullable
  - `company_whatsapp` string, nullable
  - `factory_name` string, nullable
  - `factory_types` FactoryType[]
  - `moq` integer, nullable
  - `lead_time_weeks` integer, nullable
  - `location` string, nullable
  - `years_of_experience` '<1' | '1-3' | '3-5' | '5-10' | '>10'
  - `team_size` '1-10' | '11-50' | '51-200' | '201-500' | '500+'
  - `apparel_categories` ApparelCategory[]
  - `fabrics_worked_with` Fabric[]
  - `fabrics_never_worked_with` Fabric[]
  - `techpack_components` TechPackComponent[]
  - `current_step` 'setup' | 'company_profile' | 'factory_profile' | 'production_specialty' | 'techpack_blueprint' | 'benchmark_files', required
  - `completed_steps` OnboardingStep[]
  - `completed_at` string, date-time, nullable
  - `benchmark_files` BenchmarkFileOut[]
    - `id` string, uuid, required
    - `label` 'good' | 'bad', required
    - `file_url` string, required
    - `original_filename` string, required
    - `content_type` string, nullable
    - `size_bytes` integer, nullable
    - `uploaded_by` string, uuid, nullable
    - `created_at` string, date-time, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/threadchain/apis/threadchain-backend.md) - [All operations](https://skmtc.dev/threadchain/apis/threadchain-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/threadchain/apis/threadchain-backend/revisions/8ee288a7e6bd?raw)
