POST
/
v0
/
users
/
create
curl --request POST \
  --url https://api.fungies.io/v0/users/create \
  --header 'Content-Type: application/json' \
  --header 'x-fngs-public-key: <api-key>' \
  --header 'x-fngs-secret-key: <api-key>' \
  --data '{
  "email": "test@example.com",
  "password": "Password123!",
  "username": "test-user",
  "internalId": "abcd-1234-5678-90ab-cdef-1234-5678-90ab",
  "billingDetails": {
    "type": "individual",
    "countryCode": "US",
    "state": "CA",
    "firstName": "John",
    "lastName": "Doe",
    "dialCode": "+1",
    "phoneNumber": "1234567890",
    "address": "123 Main St",
    "addressLine2": "Apt 1",
    "city": "San Francisco",
    "postalCode": "94101"
  },
  "paymentData": {
    "stripeCustomerId": "cus_QzHuLRwfKfp2WX",
    "paypalCustomerId": "KCE4828GQ37LL"
  }
}'
{
  "status": "<string>",
  "data": {
    "user": {
      "object": "user",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "username": null,
      "email": null,
      "details": null,
      "internalId": null
    }
  }
}

Authorizations

x-fngs-public-key
string
header
required
x-fngs-secret-key
string
header
required

Body

application/json
POST /v0/users/create Request body
email
string
required

Email of the user.

Example:

"test@example.com"

password
string | null

User password used for logging in to the Store application. Password must contain at least one special character, one number and one uppercase letter. Password must be between 8 and 72 characters long.

Required string length: 8 - 72
Example:

"Password123!"

username
string | null

Username of the User.

Minimum length: 1
Example:

"test-user"

internalId
string | null

A custom identifier for external system integration. This ID: - Can be used to link users with external systems - Will be included in all webhook notifications - Is optional but recommended for system integration

Minimum length: 1
Example:

"abcd-1234-5678-90ab-cdef-1234-5678-90ab"

billingDetails
object

Billing information used for payments and invoices. Following fields are required for the payments: - countryCode: ISO 3166-1 alpha-2 country code (e.g., "US", "GB") - postalCode: Required for specific countries (US, CA, UA, IN)

All other fields are optional but recommended for a complete billing profile.
Example:
{
  "type": "individual",
  "countryCode": "US",
  "state": "CA",
  "firstName": "John",
  "lastName": "Doe",
  "dialCode": "+1",
  "phoneNumber": "1234567890",
  "address": "123 Main St",
  "addressLine2": "Apt 1",
  "city": "San Francisco",
  "postalCode": "94101"
}
paymentData
object

Pre-existing payment provider (Stripe/Paypal) customer IDs. Only provide this if: - You're migrating users from another system - You want to link existing Stripe/PayPal customers - You need to preserve payment history in provider's system

This is typically handled automatically during the first payment.
Example:
{
  "stripeCustomerId": "cus_QzHuLRwfKfp2WX",
  "paypalCustomerId": "KCE4828GQ37LL"
}

Response

200
application/json
POST /v0/users/create Positive response
status
string
required
Allowed value: "success"
data
object
required