Partner Management
The Partner Management API provides secure and comprehensive client management for business partners using Signet's identity verification services. It allows partners to register new clients, retrieve all clients, fetch specific client details, update client information (including metadata and status), and remove client access when needed. By ensuring secure access to enrollment records and maintaining full audit trails, these endpoints enable partners to efficiently manage their client base and keep identity data accurate and up to date for verification workflows.
The client management model
The client management model handles the data fields used in the Partner Management API endpoints for managing client enrollments. It enables partners to retrieve, update, and manage client information within their organization.
Properties
- Name
clientId- Type
- string (UUID)
- Description
- Unique identifier for the client (UUID format). Required for client-related operations.
- Name
name- Type
- string
- Description
- Display name of the client. Can be updated via the update-client endpoint.
- Name
email- Type
- string (email)
- Description
- Email address of the client. Can be updated via the update-client endpoint.
- Name
status- Type
- active | inactive | suspended | deleted
- Description
- Current status of the client. Possible values: active, inactive, suspended, or deleted.
- Name
registeredAt- Type
- string (date-time)
- Description
- ISO 8601 timestamp when the client was registered.
- Name
updatedAt- Type
- string (date-time)
- Description
- ISO 8601 timestamp when the client was last updated.
- Name
limit- Type
- integer
- Description
- Maximum number of records to return in a single response. Used for pagination (1-100, default: 20).
- Name
offset- Type
- integer
- Description
- Number of records to skip before starting to return results. Used with limit for pagination.
- Name
total- Type
- integer
- Description
- Total number of records matching the query.
- Name
hasMore- Type
- boolean
- Description
- Whether more records are available.
Client Management
Get All Clients
The all-clients endpoint retrieves a paginated list of all clients under the authenticated organization. It supports offset and limit parameters for pagination and returns client details including ID, name, email, status, and timestamps.
Parameters
- Name
offset- Type
- integer
- Description
- Number of records to skip (default: 0)
- Name
limit- Type
- integer
- Description
- Maximum number of clients per page (1-100, default: 20)
Request
curl -X GET "{{baseUrl}}/partner/v1/clients?offset=0&limit=20" \
-H "Authorization: Bearer YOUR_DPOP_TOKEN"Success (1/2)
{
"success": true,
"message": "Clients retrieved successfully.",
"data": {
"clients": [
{
"clientId": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"email": "john.doe@example.com",
"status": "active",
"registeredAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 45,
"hasMore": true
}
}
}Register Client
The register-client endpoint lets partners add new clients by name and email. It prevents duplicates, creates an active client record, and returns the client's ID, name, email, status, and registration details.
Request body
- Name
name- Type
- string
- Description
- Display name of the client.
- Name
email- Type
- string
- Description
- Email address of the client (must be unique per organization).
Request
curl -X POST "{{baseUrl}}/partner/v1/clients" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_DPOP_TOKEN" \
-d '{
"name": "John Doe",
"email": "john.doe@example.com"
}'Success (1/2)
{
"success": true,
"message": "Client registered successfully.",
"data": {
"clientId": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"email": "john.doe@example.com",
"status": "active",
"registeredAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}Get Client by ID
The get-client endpoint retrieves detailed information for a specific client by their UUID. It verifies the client belongs to the authenticated organization and returns the client's ID, name, email, status, registration date, and last update timestamp.
Parameters
- Name
clientId- Type
- string
- Description
- Client UUID - The unique identifier of the client to retrieve
Request
curl -X GET "{{baseUrl}}/partner/v1/clients/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer YOUR_DPOP_TOKEN"Success (1/2)
{
"success": true,
"message": "Client retrieved successfully.",
"data": {
"clientId": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"email": "john.doe@example.com",
"status": "active",
"registeredAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}Update Client
The update-client endpoint allows partners to modify an existing client's information including name, email, or status. It validates the client belongs to the organization, checks for email uniqueness, updates the specified fields, and returns the updated client data.
Path / Query parameters
- Name
clientId- Type
- string
- Description
- Client UUID to update - The unique identifier of the client to modify
Request body
- Name
name- Type
- string
- Description
- Display name of the client.
- Name
email- Type
- string
- Description
- Email address of the client (must be unique per organization).
- Name
status- Type
- active | inactive | suspended | deleted
- Description
- Current status of the client. Use 'suspended' to restrict access, 'deleted' to soft-remove.
Request
curl -X PATCH "{{baseUrl}}/partner/v1/clients/123e4567-e89b-12d3-a456-426614174000" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_DPOP_TOKEN" \
-d '{
"name": "Jane Doe",
"email": "jane.doe@example.com",
"status": "suspended"
}'Success (1/2)
{
"success": true,
"message": "Client updated successfully.",
"data": {
"clientId": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"email": "john.doe@example.com",
"status": "active"
}
}Remove Client
The remove-client endpoint soft deletes a client from the system by marking it as deleted. It verifies the client belongs to the organization, updates the client status to deleted, sends a removal webhook, and returns a success confirmation. The client record is not permanently removed from the database.
Parameters
- Name
clientId- Type
- string
- Description
- Client UUID to remove - The unique identifier of the client to soft delete
Request
curl -X DELETE "{{baseUrl}}/partner/v1/clients/123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer YOUR_DPOP_TOKEN"Success (1/2)
{
"success": true,
"message": "Client removed successfully.",
"data": {
"clientId": "123e4567-e89b-12d3-a456-426614174000"
}
}