Creates a new user account with associated contact information and credentials. This is the first step in the merchant onboarding process.
Account approval required: New accounts require review and approval before they become active. Once approved, a merchant branch is created for the account.
Password security: Passwords expire after 90 days from creation. Credentials are stored securely.
Authentication
This endpoint requires JWT Bearer Token authentication.
Modulus Labs admin reviews and approves the account
4
Account Activation
Upon approval, a new merchant branch is created and assigned to the account
5
Begin Onboarding
Use the account ID to generate JWT token and proceed with merchant onboarding
Security Notes
Password Security
Passwords are stored securely
Passwords expire after 90 days and must be changed
Never send passwords over unencrypted connections
Implement strong password requirements on the client side
Troubleshooting
Username Already Taken
Error:Username is not availableSolution:
Try a different username
Add numbers or special characters (dots, underscores, hyphens)
Consider using email prefix or unique identifiers
Password Validation Failed
Error:user.password must have at least 1 uppercase and lowercase character, a number, and special characterSolution:
Ensure password is 8-22 characters long
Include at least one uppercase letter (A-Z)
Include at least one lowercase letter (a-z)
Include at least one number (0-9)
Include at least one special character from: #?!@$%^&*-
Example valid password:SecurePass123!
Next Steps
Generate JWT Token
Create a JWT Bearer Token for authentication
Onboard Merchant
Complete merchant onboarding with the account ID
Upload Documents
Upload required KYC documents
Error Handling
Learn about error codes and handling
Authorizations
Authorization
string
header
required
JWT Bearer token authentication
Body
application/json
contact
object
required
Contact information for the account
Show child attributes
user
object
required
User credentials and personal information
Show child attributes
Response
Account created successfully
id
integer
required
The new account id. Use it as the JWT sub for subsequent merchant-scoped calls and as merchantId for file upload.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Modulus Labs API","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/moduluslabsinc/-g2JuykdH6NQMhpI/logo/light.svg?fit=max\u0026auto=format\u0026n=-g2JuykdH6NQMhpI\u0026q=85\u0026s=cdd5299c31d35441c6c6cab379ca0363","dark":"https://mintcdn.com/moduluslabsinc/-g2JuykdH6NQMhpI/logo/dark.svg?fit=max\u0026auto=format\u0026n=-g2JuykdH6NQMhpI\u0026q=85\u0026s=4be7c52f34d4ef4a0ca4b775b9e6792e"},"favicon":"https://mintcdn.com/moduluslabsinc/Hug35GYfKojSeqvX/favicon.svg?fit=max\u0026auto=format\u0026n=Hug35GYfKojSeqvX\u0026q=85\u0026s=65fea7bcc7fbf1163d727867c0623188","api":{"openapi":["api-reference/qr/openapi.json","api-reference/onboarding/openapi.json","api-reference/webhooks/openapi.json","api-reference/payment-webhooks/openapi.json","api-reference/terminal-gateway/openapi.json","api-reference/transaction-reporting/openapi.json","api-reference/ecom/openapi.json"],"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","php","go","java","csharp"]}},"footer":{"socials":{"website":"https://moduluslabs.io"}},"search":{"prompt":"Search Modulus Labs API documentation..."},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@moduluslabs.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"moduluslabsinc","hasAudioNarration":false,"actualSubdomain":"moduluslabsinc","customDomains":["docs.moduluslabs.io"],"gitSource":{"type":"github","owner":"modulus-labs-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae44ceef49f5b7aedfd0755","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Documentation","count":51},{"language":"default","tag":"API Reference","count":40},{"language":"default","tag":"Webhooks API","count":27},{"language":"default","tag":"Ecom API","count":17},{"language":"default","tag":"Payment Webhooks","count":16},{"language":"default","tag":"Onboarding API","count":11},{"language":"default","tag":"Terminal Gateway API","count":10},{"language":"default","tag":"QR Ph Webhooks (Legacy)","count":10},{"language":"default","tag":"Transaction Reporting API","count":9},{"language":"default","tag":"Payment Links","count":8}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6979644a4ee895505c300ecd","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"What is JWE","status":"active","generatedBy":"manual","createdAt":"2026-01-28T01:20:10.549Z","updatedAt":"2026-01-28T01:20:10.549Z","__v":0},{"_id":"6979643f4ee895505c300ea5","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"How do I test before going live?","status":"active","generatedBy":"manual","createdAt":"2026-01-28T01:19:59.128Z","updatedAt":"2026-01-28T01:19:59.128Z","__v":0},{"_id":"6979643a4ee895505c300ea0","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"What authentication does the API need?","status":"active","generatedBy":"manual","createdAt":"2026-01-28T01:19:54.290Z","updatedAt":"2026-01-28T01:19:54.290Z","__v":0}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/onboarding/create-account","slug":"/api-reference/onboarding/create-account","pageMetadata":{"title":"Create Account","openapi":"POST /v2/onboard/signup","description":"Create a new user account with contact information and credentials","href":"/api-reference/onboarding/create-account"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new user account with contact information and credentials\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Heading,Note,Step,Steps,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Creates a new user account with associated contact information and credentials. This is the first step in the merchant onboarding process.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Account approval required:`}),` New accounts require review and approval before they become active. Once approved, a merchant branch is created for the account.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Password security:`}),` Passwords expire after 90 days from creation. Credentials are stored securely.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(_components.p,{children:`This endpoint requires JWT Bearer Token authentication.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Authorization:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/docs/onboarding/authentication`,children:`Authentication Guide`}),` for details on generating JWT tokens.`]}),`\n`,_jsx(Heading,{level:`2`,id:`account-lifecycle`,children:`Account Lifecycle`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Create Account`,children:_jsx(_components.p,{children:`Call this endpoint to create a new user account`})}),_jsx(Step,{title:`Pending Approval`,children:_jsx(_components.p,{children:`Account is created and awaits review and approval`})}),_jsx(Step,{title:`Admin Review`,children:_jsx(_components.p,{children:`Modulus Labs admin reviews and approves the account`})}),_jsx(Step,{title:`Account Activation`,children:_jsx(_components.p,{children:`Upon approval, a new merchant branch is created and assigned to the account`})}),_jsx(Step,{title:`Begin Onboarding`,children:_jsx(_components.p,{children:`Use the account ID to generate JWT token and proceed with merchant onboarding`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`security-notes`,children:`Security Notes`}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`Password Security`,icon:`lock`,id:`password-security`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Passwords are stored securely`}),`\n`,_jsx(_components.li,{children:`Passwords expire after 90 days and must be changed`}),`\n`,_jsx(_components.li,{children:`Never send passwords over unencrypted connections`}),`\n`,_jsx(_components.li,{children:`Implement strong password requirements on the client side`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Username Already Taken`,icon:`user`,id:`username-already-taken`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` `,_jsx(_components.code,{children:`Username is not available`})]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Try a different username`}),`\n`,_jsx(_components.li,{children:`Add numbers or special characters (dots, underscores, hyphens)`}),`\n`,_jsx(_components.li,{children:`Consider using email prefix or unique identifiers`}),`\n`]})]}),_jsxs(Accordion,{title:`Password Validation Failed`,icon:`triangle-exclamation`,id:`password-validation-failed`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` `,_jsx(_components.code,{children:`user.password must have at least 1 uppercase and lowercase character, a number, and special character`})]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Ensure password is 8-22 characters long`}),`\n`,_jsx(_components.li,{children:`Include at least one uppercase letter (A-Z)`}),`\n`,_jsx(_components.li,{children:`Include at least one lowercase letter (a-z)`}),`\n`,_jsx(_components.li,{children:`Include at least one number (0-9)`}),`\n`,_jsx(_components.li,{children:`Include at least one special character from: #?!@$%^\u0026*-`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Example valid password:`}),` `,_jsx(_components.code,{children:`SecurePass123!`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Generate JWT Token`,icon:`key`,href:`/docs/onboarding/authentication`,children:_jsx(_components.p,{children:`Create a JWT Bearer Token for authentication`})}),_jsx(Card,{title:`Onboard Merchant`,icon:`plus`,href:`/api-reference/onboarding/onboard-merchant`,children:_jsx(_components.p,{children:`Complete merchant onboarding with the account ID`})}),_jsx(Card,{title:`Upload Documents`,icon:`upload`,href:`/docs/onboarding/introduction`,children:_jsx(_components.p,{children:`Upload required KYC documents`})}),_jsx(Card,{title:`Error Handling`,icon:`triangle-exclamation`,href:`/docs/errors`,children:_jsx(_components.p,{children:`Learn about error codes and handling`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Account","openapi":"POST /v2/onboard/signup","description":"Create a new user account with contact information and credentials","href":"/api-reference/onboarding/create-account"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Account Lifecycle","slug":"account-lifecycle","depth":2,"children":[]},{"title":"Security Notes","slug":"security-notes","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createAccount","summary":"Create Account","description":"Create a new user account with contact information and credentials","tags":["Account"],"security":["321f12f4-ab24-4654-bf42-ffbde2bd701e"],"requestBody":"b59dfc7e-4e90-4d40-86a6-f9470a9d3c75","responses":{"201":"0ef79aab-7865-4612-9850-aa1e503ccb6a","400":"678060c3-ad0c-4370-bd24-48352fd373c0","401":"705cffb6-b3b5-4ae9-80fd-5906fd3468c8"},"method":"post","type":"path","servers":["782942e0-ba61-4a6d-9c63-1e825c9af994"],"path":"/v2/onboard/signup","baseUrlOptions":["https://kyc.sbx.moduluslabs.io"],"title":"Create Account","codeSamples":[],"requestExampleLanguages":["bash","python","javascript","php","go","java","csharp"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["contact","user"],"properties":{"contact":{"type":"object","required":["email","phone"],"description":"Contact information for the account","properties":{"email":{"type":"string","format":"email","maxLength":100,"description":"Email address for the account","isRequired":true,"uniqueKey":"contact.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","pattern":"^\\d+$","maxLength":30,"description":"Phone number (digits only)","isRequired":true,"uniqueKey":"contact.phone","typeLabel":"string"}},"isRequired":true,"uniqueKey":"contact","typeLabel":"object"},"user":{"type":"object","required":["firstName","lastName","username","password","pin"],"description":"User credentials and personal information","properties":{"firstName":{"type":"string","minLength":1,"maxLength":100,"description":"First name of the account holder","isRequired":true,"uniqueKey":"user.firstName","typeLabel":"string"},"lastName":{"type":"string","minLength":1,"maxLength":100,"description":"Last name of the account holder","isRequired":true,"uniqueKey":"user.lastName","typeLabel":"string"},"username":{"type":"string","minLength":1,"maxLength":50,"description":"Unique username for the account","isRequired":true,"uniqueKey":"user.username","typeLabel":"string"},"password":{"type":"string","minLength":8,"maxLength":22,"description":"Account password (min 8 characters, must contain uppercase, lowercase, number, and special character)","isRequired":true,"uniqueKey":"user.password","typeLabel":"string"},"pin":{"type":"string","pattern":"^\\d{4}$","description":"4-digit PIN for account security","isRequired":true,"uniqueKey":"user.pin","typeLabel":"string"},"middleName":{"type":"string","maxLength":100,"description":"Middle name (optional)","uniqueKey":"user.middleName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"user","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"contact":{"email":"john.doe@example.com","phone":"9876543212"},"user":{"firstName":"John","middleName":"Michael","lastName":"Doe","username":"johndoe123","password":"SecureP@ssw0rd!","pin":"1234"}},"examples":{"Example":{"title":"Example","value":{"contact":{"email":"john.doe@example.com","phone":"9876543212"},"user":{"firstName":"John","middleName":"Michael","lastName":"Doe","username":"johndoe123","password":"SecureP@ssw0rd!","pin":"1234"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"0ef79aab-7865-4612-9850-aa1e503ccb6a":{"description":"Account created successfully","content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The new account id. Use it as the JWT `sub` for subsequent merchant-scoped calls and as `merchantId` for file upload.","isRequired":true,"uniqueKey":"id","typeLabel":"integer"}},"example":{"id":12345},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":12345}}},"exampleType":"generated"}},"exampleType":"generated"},"678060c3-ad0c-4370-bd24-48352fd373c0":{"description":"Bad Request - Validation error or username already exists","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP status code","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Error message","uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Error type","uniqueKey":"error","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":123,"message":"\u003cstring>","error":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"705cffb6-b3b5-4ae9-80fd-5906fd3468c8":{"description":"Unauthorized - Invalid API Key","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP status code","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Error message","uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Error type","uniqueKey":"error","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":123,"message":"\u003cstring>","error":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"321f12f4-ab24-4654-bf42-ffbde2bd701e":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT Bearer token authentication","scopes":[]}}},"servers":{"782942e0-ba61-4a6d-9c63-1e825c9af994":{"url":"https://kyc.sbx.moduluslabs.io","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT Bearer token authentication","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT Bearer token authentication","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/onboarding/openapi.json"},"subdomain":"moduluslabsinc","siteName":"Modulus Labs API","title":"Create Account - Modulus Labs API","contextualStarterQuestions":[{"_id":"6a9a880970f2052206eddcba","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"Why is my username unavailable?","status":"active","generatedBy":"contextual","path":"api-reference/onboarding/create-account","createdAt":"2026-09-04T08:57:45.483Z","updatedAt":"2026-09-04T08:57:45.483Z","__v":0},{"_id":"6a9a880970f2052206eddcbb","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"When do passwords expire?","status":"active","generatedBy":"contextual","path":"api-reference/onboarding/create-account","createdAt":"2026-09-04T08:57:45.483Z","updatedAt":"2026-09-04T08:57:45.483Z","__v":0},{"_id":"6a9a880970f2052206eddcb9","deploymentId":"68ec6943b3c0516c1a13b4bf","questionText":"How do I create a user account?","status":"active","generatedBy":"contextual","path":"api-reference/onboarding/create-account","createdAt":"2026-09-04T08:57:45.483Z","updatedAt":"2026-09-04T08:57:45.483Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-04T08:57:19.911Z","originalFileLocation":"api-reference/onboarding/create-account.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new user account with contact information and credentials\">\u003cmeta data-mint-head name=\"application-name\" content=\"Modulus Labs API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Account - Modulus Labs API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new user account with contact information and credentials\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Modulus Labs API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.moduluslabs.io/api-reference/onboarding/create-account\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://moduluslabsinc.mintlify.site/_mintlify/api/og/v2?division=Onboarding+API\u0026amp;title=Create+Account\u0026amp;description=Create+a+new+user+account+with+contact+information+and+credentials\u0026amp;theme=0e23bf0ca39f87857ce30bad\u0026amp;signature=ed68b29cf4597acd5b847c6f66d2748ab955db88ace14fe13b23159f4238047e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Account - Modulus Labs API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new user account with contact information and credentials\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://moduluslabsinc.mintlify.site/_mintlify/api/og/v2?division=Onboarding+API\u0026amp;title=Create+Account\u0026amp;description=Create+a+new+user+account+with+contact+information+and+credentials\u0026amp;theme=0e23bf0ca39f87857ce30bad\u0026amp;signature=ed68b29cf4597acd5b847c6f66d2748ab955db88ace14fe13b23159f4238047e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/moduluslabsinc/b12xWXezBf3lDUti/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Modulus Labs API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.moduluslabs.io/api-reference/onboarding/create-account\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/onboarding/create-account.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.moduluslabs.io/#organization\",\"name\":\"Modulus Labs API\",\"url\":\"https://docs.moduluslabs.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/moduluslabsinc/-g2JuykdH6NQMhpI/logo/light.svg?fit=max\u0026auto=format\u0026n=-g2JuykdH6NQMhpI\u0026q=85\u0026s=cdd5299c31d35441c6c6cab379ca0363\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.moduluslabs.io#website\",\"name\":\"Modulus Labs API\",\"url\":\"https://docs.moduluslabs.io\",\"publisher\":{\"@id\":\"https://docs.moduluslabs.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account#webpage\",\"url\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account\",\"name\":\"Create Account\",\"description\":\"Create a new user account with contact information and credentials\",\"dateModified\":\"2026-09-04T08:57:19.911Z\",\"isPartOf\":{\"@id\":\"https://docs.moduluslabs.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Onboarding API\",\"item\":\"https://docs.moduluslabs.io/api-reference/onboarding/ping\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Account\",\"item\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account#apireference\",\"headline\":\"Create Account\",\"name\":\"Create Account\",\"description\":\"Create a new user account with contact information and credentials\",\"url\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account\",\"mainEntityOfPage\":{\"@id\":\"https://docs.moduluslabs.io/api-reference/onboarding/create-account#webpage\"},\"dateModified\":\"2026-09-04T08:57:19.911Z\",\"publisher\":{\"@id\":\"https://docs.moduluslabs.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.moduluslabs.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Modulus Labs API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Modulus Labs API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/onboarding/create-account.md","siteName":"Modulus Labs API","nav":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@moduluslabs.io"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"QR API","pages":[{"title":"Ping","openapi":"api-reference/qr/openapi.json GET /ping","href":"/api-reference/qr/ping"},{"title":"Create Dynamic QR Ph","openapi":"POST /v1/pay/qr","href":"/api-reference/qr/create"}]},{"group":"Webhooks API","pages":[{"group":"Payment Webhooks","pages":[{"title":"Create Webhook Endpoint","openapi":"api-reference/payment-webhooks/openapi.json POST /v1/webhook_endpoints","href":"/api-reference/payment-webhooks/create-endpoint"},{"title":"List Webhook Endpoints","openapi":"api-reference/payment-webhooks/openapi.json GET /v1/webhook_endpoints","href":"/api-reference/payment-webhooks/list-endpoints"},{"title":"Retrieve Webhook Endpoint","openapi":"api-reference/payment-webhooks/openapi.json GET /v1/webhook_endpoints/{id}","href":"/api-reference/payment-webhooks/get-endpoint"},{"title":"Update Webhook Endpoint","openapi":"api-reference/payment-webhooks/openapi.json PATCH /v1/webhook_endpoints/{id}","href":"/api-reference/payment-webhooks/update-endpoint"},{"title":"Delete Webhook Endpoint","openapi":"api-reference/payment-webhooks/openapi.json DELETE /v1/webhook_endpoints/{id}","href":"/api-reference/payment-webhooks/delete-endpoint"},{"title":"Retrieve Signing Secret","openapi":"api-reference/payment-webhooks/openapi.json GET /v1/webhook_endpoints/{id}/signing_secret","href":"/api-reference/payment-webhooks/get-signing-secret"},{"title":"Rotate Signing Secret","openapi":"api-reference/payment-webhooks/openapi.json POST /v1/webhook_endpoints/{id}/signing_secret/rotate","href":"/api-reference/payment-webhooks/rotate-signing-secret"},{"title":"List Webhook Events","openapi":"api-reference/payment-webhooks/openapi.json GET /v1/webhook_events","href":"/api-reference/payment-webhooks/list-events"},{"title":"Retrieve Webhook Event","openapi":"api-reference/payment-webhooks/openapi.json GET /v1/webhook_events/{event_id}","href":"/api-reference/payment-webhooks/get-event"},{"title":"Retrigger Webhook Event","openapi":"api-reference/payment-webhooks/openapi.json POST /v1/webhook_events/{event_id}/retrigger","href":"/api-reference/payment-webhooks/retrigger-event"}]},{"group":"QR Ph Webhooks (Legacy)","pages":[{"title":"Ping","openapi":"api-reference/webhooks/openapi.json GET /ping","href":"/api-reference/webhooks/ping"},{"title":"Create Webhook","openapi":"POST /v1/webhooks","href":"/api-reference/webhooks/create"},{"title":"List Webhooks","openapi":"GET /v1/webhooks","href":"/api-reference/webhooks/list"},{"title":"Update Webhook","openapi":"PUT /v1/webhooks/{id}","href":"/api-reference/webhooks/update"},{"title":"Delete Webhook","openapi":"DELETE /v1/webhooks/{id}","href":"/api-reference/webhooks/delete"},{"title":"Simulate Webhook","openapi":"POST /v1/webhooks/qrph/simulate","href":"/api-reference/webhooks/simulate"}]}]},{"group":"Onboarding API","pages":[{"title":"Ping","openapi":"api-reference/onboarding/openapi.json GET /ping","description":"Health check for the Onboarding API","href":"/api-reference/onboarding/ping"},{"title":"Create Account","openapi":"POST /v2/onboard/signup","href":"/api-reference/onboarding/create-account"},{"title":"Onboard Merchant","openapi":"POST /v2/onboard","description":"Onboard a merchant to accept payments through Modulus Labs","href":"/api-reference/onboarding/onboard-merchant"},{"title":"Retrieve Onboarding Data","openapi":"GET /v2/onboard/{refNo}","href":"/api-reference/onboarding/retrieve-onboarding-data"},{"title":"Retrieve Onboarding Status","openapi":"GET /v2/onboard/{refNo}/status","href":"/api-reference/onboarding/retrieve-onboarding-status"},{"title":"Update Onboarding Data","openapi":"PUT /v2/onboard/{refNo}","href":"/api-reference/onboarding/update-onboarding-data"},{"title":"Upload Onboarding Files","openapi":"POST /v2/onboard/{merchantId}/files","href":"/api-reference/onboarding/upload-onboarding-files"}]},{"group":"Transaction Reporting API","pages":[{"title":"Ping","openapi":"api-reference/transaction-reporting/openapi.json GET /ping","href":"/api-reference/transaction-reporting/ping"},{"title":"List Transactions","openapi":"api-reference/transaction-reporting/openapi.json GET /v1/transactions","href":"/api-reference/transaction-reporting/list-transactions"},{"title":"Retrieve Transaction","openapi":"api-reference/transaction-reporting/openapi.json GET /v1/transactions/{id}","href":"/api-reference/transaction-reporting/get-transaction"},{"title":"List Merchants","openapi":"api-reference/transaction-reporting/openapi.json GET /v1/merchants","href":"/api-reference/transaction-reporting/list-merchants"},{"title":"List Branches","openapi":"api-reference/transaction-reporting/openapi.json GET /v1/branches","href":"/api-reference/transaction-reporting/list-branches"}]},{"group":"Terminal Gateway API","pages":[{"title":"List Terminals","openapi":"api-reference/terminal-gateway/openapi.json GET /v1/terminals","href":"/api-reference/terminal-gateway/list-terminals"},{"title":"Create Payment","openapi":"api-reference/terminal-gateway/openapi.json POST /v1/terminals/{terminalId}/payments","href":"/api-reference/terminal-gateway/create-payment"},{"title":"Retrieve Transaction","openapi":"api-reference/terminal-gateway/openapi.json GET /v1/transactions/{transactionId}","href":"/api-reference/terminal-gateway/get-transaction"}]},{"group":"Ecom API","pages":[{"group":"Payment Links","pages":[{"title":"Create Payment Link","openapi":"api-reference/ecom/openapi.json POST /payment-links","href":"/api-reference/ecom/create-payment-link"},{"title":"Retrieve Payment Link","openapi":"api-reference/ecom/openapi.json GET /payment-links/{id}","href":"/api-reference/ecom/retrieve-payment-link"},{"title":"List Payment Links","openapi":"api-reference/ecom/openapi.json GET /payment-links","href":"/api-reference/ecom/list-payment-links"},{"title":"Update Payment Link","openapi":"api-reference/ecom/openapi.json PATCH /payment-links/{id}","href":"/api-reference/ecom/update-payment-link"},{"title":"Cancel Payment Link","openapi":"api-reference/ecom/openapi.json POST /payment-links/{id}/cancel","href":"/api-reference/ecom/cancel-payment-link"}]},{"group":"JavaScript SDK","pages":[{"title":"Create Payment Intent","openapi":"api-reference/ecom/openapi.json POST /payment-intents","href":"/api-reference/ecom/create-payment-intent"},{"title":"Retrieve Payment Intent","openapi":"api-reference/ecom/openapi.json GET /payment-intents/{id}","href":"/api-reference/ecom/retrieve-payment-intent"}]}]}]}]},"basePath":"","title":"Create Account - Modulus Labs API","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DbeN8Wo6.js","utils-CwSb5Doc.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BmREeM3N.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-AYjWerCj.js","snippetPresets-QD4ULQlp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-Digj5cjF.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CiHrzluR.js","shallow-D7h7pFGg.js","getApiPlaygroundDisplay-mlxkpAUf.js","CodeSnippet-D2rH5lZI.js","CodeSnippets-B53ulOaL.js","Page-CqcDm2To.js","getPastedJson-DxGeNMih.js","icon-BHbyrebp.js","MethodPill-C7F_KEEJ.js","DuplicateIcon-j3c5-73z.js","createIcon-OvCnyFqD.js","DynamicMarkdown-DpAS3GCb.js","SectionHeading-DMPpdrvW.js","axios-vUo_bRtp.js","Markdown-D7pDRguu.js","clsx-2_c6mSt_.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cu7_SikL.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ydqCcy4b.js"]}