GET
/
external
/
users
/
{id}
Fetch User by ID
curl --request GET \
  --url https://direct-pub-api.directgh.com/api/v1/external/users/{id} \
  --header 'Authorization: <api-key>'
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"firstName": "John",
"lastName": "Doe",
"otherName": "Michael",
"email": "john.doe@example.com",
"mobileNumber": "+233241234567",
"ghanaCardNumber": "GHA-123456789-1",
"isGhanaCardVerified": true,
"account": {
"id": "770e8400-e29b-41d4-a716-446655440000",
"accountType": "MOMO",
"accountNumber": "0241234567",
"network": "MTN",
"accountName": "John Doe",
"createdAt": "2024-01-15T10:30:00Z"
},
"createdAt": "2024-01-15T10:30:00Z"
}

Authorizations

Authorization
string
header
required

HMAC signature authentication. The Authorization header must contain your public key and HMAC signature in the format: public_key:signature

Format: Authorization: public_key:signature

Example: Authorization: pub_abc123xyz:abc123def456ghi789...

The signature is generated by creating an HMAC hash of the request body (JSON stringified) using your secret key for POST/PUT requests. For GET requests, the signature is generated using the query parameters (JSON stringified) instead of the request body. Contact your account manager to obtain your public key and secret key for generating signatures.

Path Parameters

id
string<uuid>
required

Unique identifier of the user to fetch

Response

User fetched successfully

User information

id
string<uuid>

Unique identifier of the user

Example:

"550e8400-e29b-41d4-a716-446655440000"

firstName
string

User's first name

Example:

"John"

lastName
string

User's last name

Example:

"Doe"

otherName
string | null

User's middle name or other name

Example:

"Michael"

email
string<email>

User's email address

Example:

"john.doe@example.com"

gender
string | null

User's gender

Example:

"male"

dateOfBirth
string<date-time> | null

User's date of birth

Example:

"2026-04-01T10:09:09.886Z"

kyc
object

KYC details for the user

mobileNumber
string | null

User's mobile phone number

Example:

"+233241234567"

ghanaCardNumber
string | null

User's Ghana Card number

Example:

"GHA-123456789-1"

ghanaCardImage
string | null

URL of the user's Ghana Card image

Example:

"https://example.com/images/ghana-card.jpg"

userImage
string | null

URL of the user's profile image

Example:

"https://example.com/images/user-profile.jpg"

isGhanaCardVerified
boolean

Whether the user's Ghana Card has been verified

Example:

true

documents
string[]

List of document identifiers or URLs

Example:
["document1.pdf"]
account
object

User's account details (Mobile Money or Bank account)

createdAt
string<date-time> | null

Date and time when the user was created

Example:

"2026-04-01T10:09:09.886Z"