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

GET
{{baseUrl}}/partner/v1/clients
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

POST
{{baseUrl}}/partner/v1/clients
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

GET
{{baseUrl}}/partner/v1/clients/{clientId}
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

PATCH
{{baseUrl}}/partner/v1/clients/{clientId}
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

DELETE
{{baseUrl}}/partner/v1/clients/{clientId}
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"
  }
}

Was this page helpful?