Smile Identity Users API
The Users API from Smile Identity — 1 operation(s) for users.
The Users API from Smile Identity — 1 operation(s) for users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/smile-identity-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Smile ID V3 Authentication Users API
version: 1.0.0
description: 'Smile ID V3 identity verification API for Africa: Biometric KYC, Document Verification, Enhanced KYC/Doc Verification, SmartSelfie enrollment/authentication/compare, plus core service and user resources. Assembled verbatim from the per-endpoint OpenAPI fragments published in the Smile ID GitBook API reference (docs.usesmileid.com/api-reference).'
contact:
name: Smile ID Support
url: https://docs.usesmileid.com/
x-logo:
url: https://smileidentity.com
servers:
- url: https://api.smileidentity.com
description: Production
- url: https://api.sandbox.smileidentity.com
description: Sandbox
security:
- SmileIDToken: []
tags:
- name: Users
paths:
/v3/users/{user_id}/report_fraud:
post:
operationId: reportUserFraud
tags:
- Users
summary: Flag or clear fraud status for a user
description: 'Records a fraud report (or fraud-clearance) for a previously enrolled
user.
Use `is_fraud: true` to flag a user as fraudulent, or `is_fraud: false`
to clear a previous flag. Flagging propagates the user''s face, device,
and biometric clusters to the relevant block lists so that subsequent
verifications matching them are rejected. Clearing the flag reverses
these effects.
The response is `202 Accepted` once the request has been validated
and handled.
'
parameters:
- name: user_id
in: path
required: true
description: 'The partner-scoped user identifier of the enrolled user being
reported. This is the `user_id` value originally provided during
enrollment.
'
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/ReportUserFraudRequest'
responses:
'202':
description: Fraud report accepted and queued for processing.
content:
application/json:
schema:
$ref: '#/components/schemas/ReportUserFraudAcceptedResponse'
'400':
description: "Validation error. Possible causes:\n- `user_id` path parameter is missing.\n- `is_fraud` is missing or not a boolean.\n- `reason` is missing when `is_fraud` is `true`, or is not one of\n the allowed values.\n- `notes` is missing when `is_fraud` is `false` or `reason` is\n `OTHER`.\n- `notes` exceeds 500 characters.\n- `reported_by` is missing or is not a valid email address.\n"
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Authentication failed (invalid or missing token).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: 'Access denied. Possible causes:
- IP address is on the blocklist.
- IP not in partner''s allowlist.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: No enrollee found for the given `user_id` and partner.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'415':
description: 'Wrong or missing `Content-Type` header. The request body must be
sent as `multipart/form-data`.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ReportUserFraudRequest:
type: object
required:
- is_fraud
- reported_by
properties:
is_fraud:
type: boolean
description: '`true` to flag the user as fraudulent, `false` to clear a previous
fraud flag.
'
reason:
type: string
description: 'Reason for the fraud report. **Required when `is_fraud` is `true`**;
ignored when `is_fraud` is `false`. If `OTHER` is selected, `notes`
becomes required.
'
enum:
- FIRST_PARTY_FRAUD
- SECOND_PARTY_FRAUD
- THIRD_PARTY_FRAUD
- SYNTHETIC_IDENTITY
- ACCOUNT_TAKEOVER
- DOCUMENT_FORGERY
- IDENTITY_FARMING
- MULE_ACCOUNT
- OTHER
notes:
type: string
maxLength: 500
description: 'Free-form notes describing the fraud report. **Required when**
either `is_fraud` is `false` or `reason` is `OTHER`. Optional in
all other cases. Capped at 500 characters.
'
reported_by:
type: string
format: email
description: Email address of the person submitting the report.
additionalProperties: true
ReportUserFraudAcceptedResponse:
type: object
required:
- status
- user_id
properties:
status:
type: string
enum:
- accepted
description: Always `accepted` when the request was queued for processing.
message:
type: string
description: Human-readable result message.
user_id:
type: string
description: The `user_id` that was reported.
ErrorResponse:
type: object
required:
- status
- message
properties:
status:
type: string
description: HTTP status text.
message:
type: string
description: Human-readable error message.
securitySchemes:
SmileIDToken:
type: apiKey
in: header
name: SmileID-Token
description: JWT token obtained from `POST /v3/token`.