API reference · Access & roles

Users

POST Create a user

POST /user

Registers a new user. A PASSWORD credential is created from the supplied password, and a CLIENT_SECRET credential is generated automatically. The generated secret key is returned only once, in this response — it cannot be retrieved again afterwards. The user is created with status ACTIVE and unverified mobile number / email address.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: UserRequest · Response: UserCreationResponse

curl -X POST "https://api.bridgemoni.com/user" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
    "mobileNumber": "+2348012345678",
    "emailAddress": "ada@example.com",
    "username": "ada.obi",
    "roleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
    "password": "a-strong-password"
  }'

Responses

StatusWhen
200User created successfully, including the one-time secret key
409The mobile number, email address, or username is already registered to another user

DELETE Delete a user

DELETE /user/{id}

Soft-deletes the user by setting their status to DELETED. Associated credentials and OTP records are retained.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: Void

curl -X DELETE "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200User deleted successfully
404No user exists for the given reference

GET Fetch a user by reference

GET /user/{id}

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X GET "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200User fetched successfully
404No user exists for the given reference

PUT Update a user

PUT /user/{id}

Partially updates a user's mobile number, email address, username, or role. Only non-null fields in the request body are applied. Changing the mobile number or email address does not reset its verification status automatically — re-verify explicitly if required.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
id

Example

Request body: UpdateUserRequest · Response: UserResponse

curl -X PUT "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
    "mobileNumber": "+2348012345678",
    "emailAddress": "ada@example.com",
    "username": "ada.obi",
    "roleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
  }'

Responses

StatusWhen
200User updated successfully
404No user exists for the given reference
409The new mobile number, email address, or username is already registered to another user

POST Block a user

POST /user/{id}/block

Sets the user's status to BLOCKED, preventing them from authenticating.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X POST "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/block" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200User blocked successfully
404No user exists for the given reference

POST Disable two-factor authentication

POST /user/{id}/mfa/disable

Reverts login to require only the primary credential (password). Refused for a user who holds any role outside the customer category, since those roles always require two-factor authentication, and refused when the caller targets themselves.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X POST "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/mfa/disable" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Two-factor authentication disabled
404No user exists for the given reference

POST Enable two-factor authentication

POST /user/{id}/mfa/enable

Requires an OTP, sent to the user's mobile number or email address, to be supplied and verified via POST /token/mfa on every subsequent login.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X POST "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/mfa/enable" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Two-factor authentication enabled
404No user exists for the given reference

POST Issue or rotate a client secret

POST /user/{id}/secret

Generates a new CLIENT_SECRET for the user and returns it in clientSecret. This is the only response, apart from user creation, that ever carries the secret: it is stored as a keyed hash and every read returns clientSecret as null. If the user already has a client secret it is replaced, and the previous secret stops working immediately.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X POST "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/secret" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Client secret ensured and returned
404No user exists for the given reference

POST Unblock a user

POST /user/{id}/unblock

Sets a previously blocked user's status back to ACTIVE.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
id

Example

Response: UserResponse

curl -X POST "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/unblock" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200User unblocked successfully
404No user exists for the given reference

GET Fetch a user by mobile number, email address, or username

GET /user/{type}/{value}

Resolves a user from a raw identifier value. The type segment tells the authorization service which field to match against (msisdn, email, or username); id matches the value against mobile number, username, and email address, for callers that don't know which field it corresponds to. Callers never resolve the reference themselves — they always send the raw identifier and get the resolved user back.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
type
value

Example

Response: UserResponse

curl -X GET "https://api.bridgemoni.com/user/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200User fetched successfully
404No user matches the given identifier

GET List users

GET /users

Returns a paginated list of all registered users.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Query parameters

NameDefault
pageOptional
sizeOptional

Example

Response: PageResponse<UserResponse>

curl -X GET "https://api.bridgemoni.com/users?page=value&size=value" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Users fetched successfully

Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors