Seller Profile
Create seller profile
POST
/api/v1/sellerCreates the seller profile for the signed-in account — the first step of onboarding. Created with status DRAFT; becomes ACTIVE automatically once KYC is approved.
Requires Authorization
SELLER only
Authenticated action
Form fields
businessNamestringrequired | 2–80 characters. |
businessDescriptionstringrequired | 20–500 characters. |
contactPhonestringrequired | |
contactEmailstringrequired | |
whatsappNumberstringrequired | |
addressstringrequired | 5–200 characters, no line breaks. |
citystringrequired | Currently only Goma is supported. |
logofilerequired | Image file. |
bannerfilerequired | Image file. |
Possible errors
| 409 | CONFLICT | Un profil vendeur existe déjà pour ce compte. |
Notes
- One seller profile per account — this fails if one already exists, even if it was later suspended.
Request
curl --request POST \
--url https://api.swiftgoma.com/api/v1/seller \
--header 'Authorization: Bearer <access_token>' \
--form 'businessName=<businessName>' \
--form 'businessDescription=<businessDescription>' \
--form 'contactPhone=<contactPhone>' \
--form 'contactEmail=<contactEmail>' \
--form 'whatsappNumber=<whatsappNumber>' \
--form 'address=<address>' \
--form 'city=<city>' \
--form 'logo=@/path/to/file.jpg' \
--form 'banner=@/path/to/file.jpg'201Example response
{
"success": true,
"data": {
"id": "sp_2b3c4d",
"userId": "3f2a1c9e",
"businessName": "Boutique Aline",
"businessDescription": "Vente de produits alimentaires et de boissons en gros et au détail à Goma.",
"logoUrl": "https://res.cloudinary.com/dx3wclabo/image/upload/v1/sellers/aline-logo.jpg",
"bannerUrl": "https://res.cloudinary.com/dx3wclabo/image/upload/v1/sellers/aline-banner.jpg",
"contactPhone": "243812345678",
"contactEmail": "boutique.aline@example.com",
"whatsappNumber": "243812345678",
"address": "12 Avenue du Lac",
"city": "Goma",
"status": "ACTIVE",
"createdAt": "2026-01-05T08:00:00.000Z"
}
}