account_id that you send with your assessments. It holds one current risk: the risk of its latest assessment with a decision. Its assessments are its history. Every assessment updates its account. So when an assessment completes, the account carries its risk.
Your account creation gate can issue an API key to the account. When that key has use from many IP addresses or countries, the risk of the account also carries the shared_api_key reason. See Report key usage.
Every assessment answer carries the same object as its account. So the call that you assess with already tells you the decision for the account. Get the account when a later request needs the risk that you already paid for. Examples are a login, a purchase or an admin review, long after the account creation.
When a user asks you to delete their data, delete the account. Every route is in the interactive reference.
Get an account
GET /v1/accounts/{account_id} needs the history scope. It only reads, and a retry is safe.
TypeScript
Parameters
string
required
The account, in the same shape as on create. It has 1 to 128 characters. The first is a letter or a digit. The others are letters, digits,
., _, :, | and -.Percent-encode : and | if your HTTP client needs it.Response
200 OK with the account.
string
"1".string
The
account_id that you asked about.object
object
The decision for
account_creation, login and purchase, each under the thresholds of that flow. A flow that you did not set uses your account creation thresholds.string
The assessment that the current risk comes from. To get its
detail, call GET /v1/assessments/{assessment_id}.string
When NoResponse wrote the latest version of that assessment.
Account
status is complete or partial, newest by created_at. A pending assessment does not replace it until it settles. NoResponse scores the risk exactly as GET /v1/assessments/{assessment_id} scores that assessment. So the two always agree.
When the decision for any flow changes, NoResponse sends an account.risk_changed event with this object and the decisions it replaced. You do not need to poll this route to see the change.
List the assessments of an account
GET /v1/accounts/{account_id}/assessments answers the same pages as POST /v1/assessments/query, for the account in the path. The pages hold its unexpired assessments, newest first. Each is at its latest assessment_version, in the shape of the detail of an assessment.
The route needs the history scope. It only reads, and a retry is safe.
TypeScript
string
required
As above.
integer
default:"20"
1 to 50 items for each page.
string
The
next_cursor of the previous page, unchanged.string
default:"standard"
standard or detailed. detailed needs the detailed scope and the history scope.items.
- A cursor that is changed, foreign or expired answers 400
invalid_cursor. - A malformed
account_idanswers 400invalid_request. - An unknown, repeated or out-of-range query parameter answers 400
invalid_request.
Delete an account
DELETE /v1/accounts/{account_id} deletes one of your accounts, for example when your user asks you to delete their data. It needs the history scope.
The call acts only in the environment of your key. A delete with a test key does not change the live account, and the other way round. To delete one assessment and keep the rest of the account, see Delete an assessment.
TypeScript
account_id as Get an account. The route takes no query parameters.
What goes
In one step, NoResponse deletes every assessment of the account, with all its versions, its evidence and the outcomes that you reported on it. You cannot undo the delete.
- An abuse outcome that you reported on one of those assessments stops counting toward other assessments at once.
- NoResponse stops an assessment of the account that still ran when the call arrived.
- NoResponse refuses a create request for the account that started before the call.
GET /v1/accounts/{account_id}answers 404not_found.GET /v1/assessments/{assessment_id}answers 404 for each deleted assessment. An outcome report on one of them also answers 404.- The history of the account is an empty page on both history routes.
account_id itself. A new assessment for it after the delete starts a new account with a new history.
Response
200 OK with what the call deleted.
string
"1".string
The
account_id that you deleted.boolean
Always
true.integer
The number of assessments that this call deleted.
string
When the delete took effect.
Delete response
200 with assessments_deleted: 0.
The account.deleted event
When the call deleted at least one assessment, NoResponse sends oneaccount.deleted webhook event to your verified endpoints in the same environment. Every system that holds data about the account can then delete it too.
Delete only what comes from assessments created at or before its deleted_at. NoResponse can already have assessed the account again. A repeat that deleted nothing sends no event.