# Create seller Building with an AI agent? Start at https://docs.payme.io/agents.md - Sandbox: your partner domain on the Keep sandbox: `POST https://.keep.co.il/api/public/sellers/create` - Production: your partner domain: `POST https://.keep.co.il/api/public/sellers/create` ## Credentials - Header `Authorization: Bearer ` Register a new seller account with Israeli business compliance validation. Includes validation for Israeli ID numbers, business registration, and bank account details. ## Parameters This endpoint takes no path, query or header parameters. ## Request body Content type: `application/json` | Field | Type | Required | Description | | --- | --- | --- | --- | | `firstName` | string | yes | Seller's first name, 2 to 250 characters: letters, spaces and the marks `-` `_` `.` `,` `'` `"` `״` `(` `)` `:` `;`. | | `lastName` | string | yes | Seller's last name, 2 to 250 characters: letters, spaces and the marks `-` `_` `.` `,` `'` `"` `״` `(` `)` `:` `;`. | | `email` | string | yes | Seller's primary email address (used for login) | | `contactEmail` | string | yes | Business contact email address | | `password` | string | yes | Account password, at least 6 characters. | | `phone` | string | yes | Phone number, 1 to 250 characters. | | `businessName` | string | yes | Legal business name, at most 250 characters. | | `businessType` | integer | yes | Israeli business type. - `0` Not sure (לא ידוע) - `1` Osek Murshe, sole proprietorship (עוסק מורשה) - `2` Osek Patur, exempt small business (עוסק פטור) - `3` Incorporated company (חברה בע"מ) - `4` Partnership (שותפות) - `6` Non-profit (עמותה) - `7` Limited partnership (שותפות מוגבלת) - `8` Publicly traded company (חברה ציבורית) - `9` Shared cooperative (אגודה שיתופית) - `10` Public benefit company (חברה לתועלת הציבור) | | `businessNumber` | string | yes | Israeli business registration number (ח.פ. / עוסק מורשה). Digits only, at most 9, with a valid check digit. | | `socialId` | string | yes | Israeli ID number (תעודת זהות). Digits only, at most 9, with a valid check digit. | | `industryClassification` | number | no | Industry classification code (optional) | | `bankId` | string | no | Israeli bank code (optional) Digits only. | | `accountNumber` | string | no | Bank account number (optional) Digits only. | | `branchNumber` | string | no | Bank branch number (optional) Digits only. | | `logo` | string | no | Business logo as base64 encoded data URI (optional) | ### Request example ```json { "firstName": "David", "lastName": "Cohen", "email": "david.cohen@example.com", "contactEmail": "seller@example.com", "password": "securePassword123", "phone": "0500000009", "businessName": "Cohen Electronics Ltd", "businessType": 1, "businessNumber": "330988015", "socialId": "123456782", "industryClassification": 12, "bankId": "12", "accountNumber": "123456789012345", "branchNumber": "123", "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." } ``` ## Code samples ### curl ```bash curl -X POST 'https://.keep.co.il/api/public/sellers/create' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ --data-raw '{ "firstName": "David", "lastName": "Cohen", "email": "david.cohen@example.com", "contactEmail": "seller@example.com", "password": "securePassword123", "phone": "0500000009", "businessName": "Cohen Electronics Ltd", "businessType": 1, "businessNumber": "330988015", "socialId": "123456782", "industryClassification": 12, "bankId": "12", "accountNumber": "123456789012345", "branchNumber": "123", "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }' ``` ### Node.js ```javascript const response = await fetch("https://.keep.co.il/api/public/sellers/create", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer ", }, body: JSON.stringify({ "firstName": "David", "lastName": "Cohen", "email": "david.cohen@example.com", "contactEmail": "seller@example.com", "password": "securePassword123", "phone": "0500000009", "businessName": "Cohen Electronics Ltd", "businessType": 1, "businessNumber": "330988015", "socialId": "123456782", "industryClassification": 12, "bankId": "12", "accountNumber": "123456789012345", "branchNumber": "123", "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }), }); console.log(await response.text()); ``` ### Python ```python import requests response = requests.post( "https://.keep.co.il/api/public/sellers/create", headers={ "Authorization": "Bearer ", }, json={ "firstName": "David", "lastName": "Cohen", "email": "david.cohen@example.com", "contactEmail": "seller@example.com", "password": "securePassword123", "phone": "0500000009", "businessName": "Cohen Electronics Ltd", "businessType": 1, "businessNumber": "330988015", "socialId": "123456782", "industryClassification": 12, "bankId": "12", "accountNumber": "123456789012345", "branchNumber": "123", "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...", }, ) print(response.text) ``` ### PHP ```php .keep.co.il/api/public/sellers/create'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'Authorization: Bearer ', ], CURLOPT_POSTFIELDS => $body, ]); $response = curl_exec($ch); curl_close($ch); echo $response; ``` ## Responses ### 201 — Seller created successfully (success) | Field | Type | Description | | --- | --- | --- | | `payload` | object | | | `payload.sellerId` | string | Newly created seller's UUID | ```json { "payload": { "sellerId": "9a5e7898-067e-4c0c-a50f-5f8d83e7c686" } } ``` ### 400 — Bad Request. Returned for validation errors, and for these onboarding refusals: - `Social ID is invalid` — a Keep seller already uses this ID number. - `The email is invalid. Please try again` — a Keep account already uses this email. Other onboarding errors are returned as `400` with their own message. (error) | Field | Type | Description | | --- | --- | --- | | `statusCode` | integer | HTTP status code | | `message` | string | Error message(s) | | `error` | string | Error type | ```json { "statusCode": 400, "message": [ "Validation failed" ], "error": "Bad Request" } ``` ### 401 — Unauthorized (error) | Field | Type | Description | | --- | --- | --- | | `statusCode` | integer | | | `message` | string | | ```json { "statusCode": 401, "message": "Unauthorized" } ```