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

POST
https://localhost:4401/partner/v1/register-user
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

GET
https://localhost:4401/partner/v1/all-users
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

GET
https://localhost:4401/partner/v1/get-user?userId
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

PATCH
https://localhost:4401/partner/v1/update-user
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

DELETE
https://localhost:4401/partner/v1/remove-user
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"
  }
}

Was this page helpful?