Partner Management
The Partner Management API provides secure and comprehensive user management for business partners using Signet’s identity verification services. It allows partners to register new users, retrieve all users, fetch specific user details, update user information (including metadata and status), and remove user access when needed. By ensuring secure access to enrollment records and maintaining full audit trails, these endpoints enable partners to efficiently manage their user base and keep identity data accurate and up to date for verification workflows.
The user management model
The user management model handles the data fields used in the Partner Management API endpoints for managing user enrollments. It enables partners to retrieve, update, and manage user information within their organization.
Properties
- Name
userId- Type
- string
- Description
Unique identifier for the user (UUID format). Required for user-related operations.
- Name
name- Type
- string
- Description
Display name of the user. Can be updated via the update-user endpoint.
- Name
email- Type
- string
- Description
Email address of the user. Can be updated via the update-user endpoint.
- Name
status- Type
- string
- Description
Current status of the user. Possible values: active, inactive, or suspended.
- Name
limit- Type
- integer
- Description
Maximum number of records to return in a single response. Used for pagination.
- Name
offset- Type
- integer
- Description
Number of records to skip before starting to return results. Used with "limit" for pagination.
User Management
Register User
The register-user endpoint lets partners add new users by name and email. It prevents duplicates, creates an active user record, and returns the user’s ID, name, email, status, and registration details.
Required attributes
- Name
name- Type
- string
- Description
The unique identifier of the business.
- Name
email- Type
- string
- Description
The unique identifier of the business.
Request
curl -X POST https://localhost:4401/partner/v1/register-user \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"name": "John Doe",
"email": "johasdn.doe@example.com"
}'
Response True (1/2)
{
"success": true,
"message": "User registered successfully.",
"data": {
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a",
"name": "John Doe",
"email": "johasdn.doe@example.com",
"status": "active"
}
}
Retrieve All Users
The all-users endpoint returns a paginated list of users under a partner’s account. Supports limit and offset for pagination, and responds with user details plus pagination metadata.
Optional attributes
- Name
limit- Type
- integer
- Description
Maximum number of records to return
- Name
offset- Type
- integer
- Description
Number of records to skip
Request
curl -X GET https://localhost:4401/partner/v1/all-users \
-H "Authorization: Bearer YOUR_API_KEY"
Response True (1/2)
{
"success": true,
"message": "Users retrieved successfully.",
"data": {
"users": [
{
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a",
"name": "John Doe",
"email": "johasdn.doe@example.com",
"status": "active",
"registeredAt": "2025-09-30T15:01:53.188Z",
"updatedAt": "2025-09-30T15:01:53.188Z"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 1,
"hasMore": false
}
}
}
Get Specific User
The get-user endpoint retrieves details for a specific user by userId. It validates ownership under the partner account and returns the user’s ID, name, email, status, and timestamps.
Required attributes
- Name
userId- Type
- string
- Description
Unique identifier for the user (UUID format).
Request
curl -X GET https://localhost:4401/partner/v1/get-user?userId \
-H "Authorization: Bearer YOUR_API_KEY"
Response True (1/2)
{
"success": true,
"data": {
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a",
"name": "John Doe",
"email": "johasdn.doe@example.com",
"status": "active",
"registeredAt": "2025-09-30T15:11:41.955Z",
"updatedAt": "2025-09-30T15:11:41.955Z"
}
}
Update User
The update-user endpoint modifies a user’s details by userId. It validates ownership, prevents duplicate emails, updates fields like name, email, or status, and returns the updated user record with timestamps.
Required attributes
- Name
userId- Type
- string
- Description
Unique identifier for the user (UUID format).
- Name
status- Type
- string
- Description
Either status active, inactive or suspended.
Request
curl -X PATCH https://localhost:4401/partner/v1/update-user \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a",
"status": "suspended"
}'
Response True (1/2)
{
"success": true,
"message": "User updated successfully.",
"data": {
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a",
"name": "John Doe",
"email": "johasdn.doe@example.com",
"status": "suspended"
}
}
Remove User
The remove-user endpoint performs a soft delete by marking a user inactive. It validates ownership, updates the record, and returns confirmation with the user’s ID and removal timestamp.
Required attributes
- Name
userId- Type
- string
- Description
Unique identifier for the user (UUID format).
Request
curl -X DELETE https://localhost:4401/partner/v1/remove-user \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a"
}'
Response True (1/2)
{
"success": true,
"message": "User removed successfully.",
"data": {
"userId": "1a123288-24e8-4c6d-a847-501bab184f5a"
}
}