import { NoResponse } from "@noresponse/node";
const noResponse = new NoResponse({
apiKey: process.env["NORESPONSE_API_KEY"] ?? "",
});
async function run() {
const result = await noResponse.assessments.aggregate({
from: "2026-10-19T00:00:00Z",
to: "2026-10-26T00:00:00Z",
bucket: "week",
country: "GB",
});
console.log(result);
}
run();
from noresponse import NoResponse
import os
with NoResponse(
api_key=os.getenv("NORESPONSE_API_KEY", ""),
) as no_response:
res = no_response.assessments.aggregate(from_="2026-10-19T00:00:00Z", to="2026-10-26T00:00:00Z", bucket="week", time_zone="UTC", limit=20, country="GB")
# Handle response
print(res)
package main
import(
"context"
"os"
noresponse "github.com/noresponsehq/go/v12"
"github.com/noresponsehq/go/v12/models/components"
"log"
)
func main() {
ctx := context.Background()
s := noresponse.New(
noresponse.WithSecurity(os.Getenv("NORESPONSE_API_KEY")),
)
res, err := s.Assessments.Aggregate(ctx, components.AssessmentAggregateRequest{
From: "2026-10-19T00:00:00Z",
To: "2026-10-26T00:00:00Z",
Bucket: components.BucketWeek,
Country: noresponse.Pointer("GB"),
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
using NoResponse;
using NoResponse.Models.Shared;
using System;
var sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable("NORESPONSE_API_KEY"));
AssessmentAggregateRequest req = new AssessmentAggregateRequest() {
From = "2026-10-19T00:00:00Z",
To = "2026-10-26T00:00:00Z",
Bucket = Bucket.Week,
Country = "GB",
};
var res = await sdk.Assessments.AggregateAsync(req);
// handle response
{
"type": "https://docs.noresponse.org/problems/workspace-forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The API key does not carry a scope this operation accepts.",
"code": "workspace_forbidden",
"request_id": "0123456789abcdef0123456789abcdef"
}
Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.
import { NoResponse } from "@noresponse/node";
const noResponse = new NoResponse({
apiKey: process.env["NORESPONSE_API_KEY"] ?? "",
});
async function run() {
const result = await noResponse.assessments.aggregate({
from: "2026-10-19T00:00:00Z",
to: "2026-10-26T00:00:00Z",
bucket: "week",
country: "GB",
});
console.log(result);
}
run();
from noresponse import NoResponse
import os
with NoResponse(
api_key=os.getenv("NORESPONSE_API_KEY", ""),
) as no_response:
res = no_response.assessments.aggregate(from_="2026-10-19T00:00:00Z", to="2026-10-26T00:00:00Z", bucket="week", time_zone="UTC", limit=20, country="GB")
# Handle response
print(res)
package main
import(
"context"
"os"
noresponse "github.com/noresponsehq/go/v12"
"github.com/noresponsehq/go/v12/models/components"
"log"
)
func main() {
ctx := context.Background()
s := noresponse.New(
noresponse.WithSecurity(os.Getenv("NORESPONSE_API_KEY")),
)
res, err := s.Assessments.Aggregate(ctx, components.AssessmentAggregateRequest{
From: "2026-10-19T00:00:00Z",
To: "2026-10-26T00:00:00Z",
Bucket: components.BucketWeek,
Country: noresponse.Pointer("GB"),
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
using NoResponse;
using NoResponse.Models.Shared;
using System;
var sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable("NORESPONSE_API_KEY"));
AssessmentAggregateRequest req = new AssessmentAggregateRequest() {
From = "2026-10-19T00:00:00Z",
To = "2026-10-26T00:00:00Z",
Bucket = Bucket.Week,
Country = "GB",
};
var res = await sdk.Assessments.AggregateAsync(req);
// handle response
{
"type": "https://docs.noresponse.org/problems/workspace-forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The API key does not carry a scope this operation accepts.",
"code": "workspace_forbidden",
"request_id": "0123456789abcdef0123456789abcdef"
}
Your API key, sent as Authorization: Bearer <key>. A key is nrk_live_ or nrk_test_, a 26-character key id, _ and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.
assess creates and reads assessments, records outcomes and reports key usage. investigate reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy history scope also permits account exports, submitted identifiers and enforcement reports. delete permits account and assessment deletion.
evidence or detailed adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. exports permits exports with the underlying account or audit scope. audit reads audit events and usage reads usage. audit_manage manages audit streams and retention, and includes audit-read and export authority.
webhooks manages webhook endpoints. integrations manages hosted auth-provider integrations. management manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.
settings reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires settings and policy_publish together, or the legacy management scope.
groups creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.
members reads the workspace directory. members_manage also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. management does not grant team access. API keys cannot change owners or accept invitations.
A missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.
Body
application/json
Count this environment's assessments created in [from,to) by bucket, from counts kept as each assessment is first answered, not by scanning assessments. Each assessment counts once, by its first answer (the answer served when it was first answered); later revisions and late results do not count it again, and late_flips counts its later account decision changes. from and to start a bucket (an hour, or a day or a week from Monday that starts at midnight in time_zone, UTC by default), cover at most 366 days (31 for hour buckets, 92 for day and week buckets in a time_zone other than UTC) and from is inside the retention period. The filters are POST /v1/assessments/search's and describe the first answer, so a cell drills down to search with the same filters, revision first and the cell's bucket as from and to. Counts hold no identifier and stay when an assessment or account is deleted or erased; they expire with retention and go with the workspace. Reasons are counted by code and impact band, not by weight. No Idempotency-Key. Select retained_first_answers for exact facet filters and pairs over retained detail. This mode supports count, score_histogram and score_outcomes, and refuses late_flips. It has a 31-day and 100000-record work budget.
from
string<date-time>
required
The first bucket's start.
to
string<date-time>
required
The end, excluded: the start of the bucket after the last.
bucket
enum<string>
required
The period each count covers: an hour, or a day or a week (from Monday) in time_zone. Hour buckets are whole UTC hours in any time zone.
Available options:
hour,
day,
week
time_zone
string
default:UTC
The IANA time zone whose local midnight starts each day and week bucket, such as Europe/London or Asia/Kolkata; daylight saving changes make those days 23 or 25 hours long. A name the zone database does not know is refused (400 invalid_request naming time_zone). Day and week buckets in a zone other than UTC cover at most 92 days (400 invalid_request naming to); a year of them reads too many hourly counts to answer in time. Hour buckets stay whole UTC hours. Bucket starts, from and to stay instants. With the default population, a zone whose local midnight falls inside a UTC hour (a half-hour offset such as Asia/Kolkata) is refused for day and week buckets, as those counts are kept by the hour; retained_first_answers counts it.
At most two dimensions to count by, of which at most one is reason, lane, country or asn. An assessment counts once in each of its reasons and incomplete lanes, so those groups can add up to more than the bucket's count. With population retained_first_answers, both dimensions can be facets; counts cover retained first answers only.
Maximum array length: 2
decision, recommendation and band: the first answer's. flow: the assessment's. list_match: the action of the list entry that decided the account when it was first answered. reason: a reason the first answer fired, with its impact band. lane: an evidence lane the first answer listed in incomplete_sources. country and asn: the submitted IP's, from the IP data.
Available options:
decision,
flow,
recommendation,
band,
reason,
lane,
country,
asn,
list_match
metrics
enum<string>[]
count: each bucket's count and groups. score_histogram: first answers by flow and 5-point score bucket. score_outcomes: the histogram's first answers that have a reported outcome, by flow, 5-point score bucket and the latest outcome reported for the assessment (POST /v1/assessments/{assessment_id}/outcomes); the rest of a bin has none reported. late_flips: changes of an assessment's account decision for its flow after its first answer, by from, to and delay.
Required array length: 1 - 4 elements
Available options:
count,
score_histogram,
score_outcomes,
late_flips
limit
integer
default:20
The most groups answered: the largest over the whole range, then by value. groups_truncated says when there were more.
Required range: 1 <= x <= 100
flow
enum<string>
The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.
Available options:
account_creation,
login,
purchase
status
enum<string>
The first answer's status.
Available options:
complete,
partial,
pending
recommendation
enum<string>
The first answer's recommendation.
Available options:
allow,
step_up,
review
decision
enum<string>
The first answer's decision: block when its risk.block was true, otherwise its recommendation. Combined with recommendation using AND.
Available options:
allow,
step_up,
review,
block
revision
enum<string>
Always first: the aggregate counts first answers. Accepted so a filter can be sent to search unchanged; latest is refused.
Available options:
latest,
first
population
enum<string>
default:first_answers
first_answers uses anonymous counters that can include erased detail. retained_first_answers computes exact intersections over retained first answers within 31 days. Requests exceeding the 100000-record work budget are refused.
Available options:
first_answers,
retained_first_answers
band
enum<string>
Available options:
low,
medium,
high,
critical
reason
enum<string>
requiredifimpactis set
A reason fired by the selected stored revision.
Available options:
no_digital_footprint,
voip_number,
disposable_email,
new_email,
no_email_matches,
spam_reports,
fraud_flag,
identity_mismatch,
country_mismatch,
proxy_ip,
seen_before,
shared_ip,
many_recent_accounts,
established_accounts,
aged_identity,
breach_name_match,
breach_cooccurrence,
breach_name_mismatch,
breach_phone_mismatch,
recent_password_exposure,
credential_list_exposure,
abuse_ecosystem_member,
no_breach_history,
automation_fast_submit,
client_clock_skew,
bot_or_automation,
auth_email_verified,
auth_phone_verified,
auth_mfa_recent,
auth_new_session,
auth_new_account,
auth_impersonated,
context_timezone_mismatch,
context_locale_mismatch,
context_line_country_mismatch,
prior_abuse_link,
test_scenario,
shared_api_key,
list_match,
young_email_domain,
email_domain_no_mx,
email_domain_nonexistent,
google_account_missing,
google_empty_account,
google_active_profile,
google_aged_account,
google_name_match,
google_name_mismatch,
google_country_match,
google_country_mismatch,
forum_sanctioned,
prior_payment_abuse,
ip_history_match,
identity_attribute_conflict,
impossible_identity_age,
breach_shared_ip,
nationality_mismatch,
minor_identity,
reported_account_abuse,
breach_city_match,
breach_city_mismatch
impact
enum<string>
The selected reason's served impact band. Requires reason.
Available options:
none,
low,
medium,
high
lane
enum<string>
An incomplete lane in the selected stored revision.
Available options:
accounts,
phone,
breach,
domain,
ip
country
string
Pattern: ^[A-Z]{2}$
asn
integer
Required range: 1 <= x <= 4294967295
score_min
integer
Inclusive lower score bound. Pending answers without a score do not match.
Required range: 0 <= x <= 100
score_max
integer
Inclusive upper score bound, at least score_min when both are supplied.
Required range: 0 <= x <= 100
list_match
enum<string>
The list action captured at the first answer. Requires revision first. Older answers without captured list state do not match, including none.
Available options:
allow,
block,
none
Response
Counts of first answers per bucket.
Body of the 200 answer to POST /v1/assessments/aggregate: one entry per bucket of [from,to), empty buckets included. Counts are of first answers and stay when an assessment or account is deleted or erased; search returns only assessments still retained.
schema_version
any
required
Version of the body shape.
from
string<date-time>
required
to
string<date-time>
required
bucket
enum<string>
required
Available options:
hour,
day,
week
group_by
enum<string>[]
required
Maximum array length: 2
decision, recommendation and band: the first answer's. flow: the assessment's. list_match: the action of the list entry that decided the account when it was first answered. reason: a reason the first answer fired, with its impact band. lane: an evidence lane the first answer listed in incomplete_sources. country and asn: the submitted IP's, from the IP data.
Available options:
decision,
flow,
recommendation,
band,
reason,
lane,
country,
asn,
list_match
metrics
enum<string>[]
required
Required array length: 1 - 4 elements
Available options:
count,
score_histogram,
score_outcomes,
late_flips
time_zone
string
required
The time zone whose local midnight started each day and week bucket, as requested; UTC when the request named none.
Maximum string length: 64
retention_days
integer
default:365
required
The calling workspace's configured retention period in days. Default 365 (12 months), which is also the maximum: a workspace may only shorten it, to at least 1 day. Each record expires from its own created_at; see assessment expires_at.
Required range: 1 <= x <= 365
groups_truncated
boolean
required
true when more groups had counts than limit allowed.
buckets
object[]
required
Maximum array length: 744
Show child attributes
coverage
object
Captured in the same database snapshot as the counts. Capture start times describe when counting began, not the earliest creation time counted: an older assessment may first answer later. Older outcomes are not inferred to be absent. Erased detail cannot be returned by drill-down even while its anonymous count remains.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"NoResponse docs","description":"Developer docs for the NoResponse API: one current risk score, decision and reasons for every account.","colors":{"primary":"#2c38d4","light":"#8d95ff","dark":"#6a4de0"},"logo":{"light":"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/light.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=71c49eae03789201280dc175d672a9af","dark":"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/dark.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=98832e074a26eaea5af1cc027afba09b","href":"https://docs.noresponse.org"},"favicon":"https://mintcdn.com/no-response/5W6mRom2UXSxqqQG/favicon.svg?fit=max\u0026auto=format\u0026n=5W6mRom2UXSxqqQG\u0026q=85\u0026s=7bf9d7629b3f760b9c07ac491176b847","api":{"playground":{"display":"simple","proxy":false},"examples":{"prefill":true,"autogenerate":false}},"appearance":{"default":"dark"},"background":{"color":{"light":"#f2f0e6","dark":"#0e1038"}},"navbar":{"links":[{"href":"https://noresponse.org","label":"noresponse.org"}],"primary":{"type":"button","label":"Book a demo","href":"https://noresponse.org/demo/"}},"footer":{"socials":{"website":"https://noresponse.org","github":"https://github.com/noresponsehq"}},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Schibsted Grotesk","weight":600,"source":"fonts/SchibstedGrotesk-Variable.woff2","format":"woff2"},"body":{"family":"Schibsted Grotesk","weight":400,"source":"fonts/SchibstedGrotesk-Variable.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"latex":false},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page does not exist. The address may have changed when the docs moved. Go to the [overview](/) or open the [API reference](/api-reference)."}},"contextual":{"options":["copy","view","download-spec","chatgpt","claude"],"display":"header"},"thumbnails":{"preset":"classic","appearance":"dark","surface":"brand","fonts":{"family":"Schibsted Grotesk","source":"fonts/SchibstedGrotesk-600.ttf","format":"ttf"},"eyebrow":{"source":"tab","style":"plain"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"no-response","hasAudioNarration":false,"actualSubdomain":"no-response","customDomains":["docs.noresponse.org"],"gitSource":{"type":"github","owner":"noresponsehq","repo":"noresponse","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":"","_id":"6adb8358cea73fcb111d0b4e"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af90801dc65debd1bc11a73","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API reference","count":198},{"language":"default","tag":"Endpoints","count":127},{"language":"default","tag":"Errors","count":55},{"language":"default","tag":"Problem types","count":54},{"language":"default","tag":"Guides","count":29},{"language":"default","tag":"Workspaces","count":22},{"language":"default","tag":"Accounts","count":18},{"language":"default","tag":"Reviews","count":17},{"language":"default","tag":"Webhooks","count":17},{"language":"default","tag":"Groups","count":16}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Azeret Mono\";src:url(\"/fonts/AzeretMono-Variable.woff2\") format(\"woff2\");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:\"Schibsted Grotesk\";src:url(\"/fonts/SchibstedGrotesk-Variable-Italic.woff2\") format(\"woff2\");font-weight:400 900;font-style:italic;font-display:swap}code,pre,kbd,samp{font-family:\"Azeret Mono\", ui-monospace, Menlo, monospace!important}:root.dark{--gray-50: 242 240 230;--gray-100: 236 234 246;--gray-200: 236 234 246;--gray-300: 188 191 226;--gray-400: 159 162 202;--gray-500: 147 150 191;--gray-600: 108 112 156;--gray-700: 58 63 128;--gray-800: 32 35 77;--gray-900: 15 18 54;--gray-950: 8 10 34}html.dark .code-block,html.dark [data-component-part=\"code-block-root\"],html.dark pre.shiki{background-color:#0f1236!important;border-color:#3a3f80}html.dark ::selection{background:#6a4de0;color:#f2f0e6}"}],"page":{"pagePath":"api-reference/assess/count-assessments-by-time-decision-and-reason","slug":"/api-reference/assess/count-assessments-by-time-decision-and-reason","pageMetadata":{"title":"Count assessments by time, decision and reason","description":"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/aggregate","href":"/api-reference/assess/count-assessments-by-time-decision-and-reason","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"config":{},"pageMetadata":{"title":"Count assessments by time, decision and reason","description":"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/aggregate","href":"/api-reference/assess/count-assessments-by-time-decision-and-reason","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"aggregateAssessments","tags":["assess"],"summary":"Count assessments by time, decision and reason","description":"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.","requestBody":"8892d932-933a-464d-909b-7de4bd05c301","responses":{"200":"a607555d-ce81-486f-a13f-7926a52f6593","400":"99c31e5d-3e0a-493b-9b41-76764d1a65b1","401":"9446e572-0e8f-4a48-b59f-e97204fadd54","403":"311b44aa-9ecd-4f8b-9d53-d5392df6136e","404":"f6e558a2-abc3-4aba-9d0d-e3c52eff01c5","409":"9f790c50-8db6-46b5-8cf5-3d96be000749","413":"8af30d11-0846-421a-8c94-ecca01392d4b","415":"a46c923c-45fa-4815-ace1-55f11d7e3b6c","429":"bec389f1-9a47-4022-b220-d6f5a5176ae9","503":"10cda771-5c04-47c1-ad1b-c15351fbf2e8"},"security":["88320056-a5ff-4ffc-8c5d-160b42d3700c"],"x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl --request POST \\\n --url 'https://api.noresponse.org/v1/assessments/aggregate' \\\n --header \"Authorization: Bearer $NORESPONSE_API_KEY\" \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"from\": \"2026-10-19T00:00:00Z\",\n \"to\": \"2026-10-26T00:00:00Z\",\n \"bucket\": \"week\",\n \"time_zone\": \"UTC\",\n \"limit\": 20,\n \"country\": \"GB\"\n}'\n"},{"lang":"typescript","label":"TypeScript","source":"import { NoResponse } from \"@noresponse/node\";\n\nconst noResponse = new NoResponse({\n apiKey: process.env[\"NORESPONSE_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await noResponse.assessments.aggregate({\n from: \"2026-10-19T00:00:00Z\",\n to: \"2026-10-26T00:00:00Z\",\n bucket: \"week\",\n country: \"GB\",\n });\n\n console.log(result);\n}\n\nrun();\n"},{"lang":"python","label":"Python","source":"from noresponse import NoResponse\nimport os\n\n\nwith NoResponse(\n api_key=os.getenv(\"NORESPONSE_API_KEY\", \"\"),\n) as no_response:\n\n res = no_response.assessments.aggregate(from_=\"2026-10-19T00:00:00Z\", to=\"2026-10-26T00:00:00Z\", bucket=\"week\", time_zone=\"UTC\", limit=20, country=\"GB\")\n\n # Handle response\n print(res)\n"},{"lang":"go","label":"Go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tnoresponse \"github.com/noresponsehq/go/v12\"\n\t\"github.com/noresponsehq/go/v12/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := noresponse.New(\n noresponse.WithSecurity(os.Getenv(\"NORESPONSE_API_KEY\")),\n )\n\n res, err := s.Assessments.Aggregate(ctx, components.AssessmentAggregateRequest{\n From: \"2026-10-19T00:00:00Z\",\n To: \"2026-10-26T00:00:00Z\",\n Bucket: components.BucketWeek,\n Country: noresponse.Pointer(\"GB\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}\n"},{"lang":"java","label":"Java","source":"package hello.world;\n\nimport java.lang.Exception;\nimport org.noresponse.NoResponse;\nimport org.noresponse.models.errors.AuthenticationException;\nimport org.noresponse.models.errors.BadRequestException;\nimport org.noresponse.models.errors.ConflictException;\nimport org.noresponse.models.errors.NotFoundException;\nimport org.noresponse.models.errors.PermissionDeniedException;\nimport org.noresponse.models.errors.RateLimitException;\nimport org.noresponse.models.operations.AggregateAssessmentsResponse;\nimport org.noresponse.models.shared.AssessmentAggregateRequest;\nimport org.noresponse.models.shared.Bucket;\n\npublic class Application {\n\n public static void main(String[] args) throws Exception {\n\n NoResponse sdk = NoResponse.builder()\n .apiKey(System.getenv().getOrDefault(\"NORESPONSE_API_KEY\", \"\"))\n .build();\n\n AssessmentAggregateRequest req = AssessmentAggregateRequest.builder()\n .from(\"2026-10-19T00:00:00Z\")\n .to(\"2026-10-26T00:00:00Z\")\n .bucket(Bucket.WEEK)\n .country(\"GB\")\n .build();\n\n AggregateAssessmentsResponse res = sdk.assessments().aggregate()\n .request(req)\n .call();\n\n if (res.assessmentAggregate().isPresent()) {\n System.out.println(res.assessmentAggregate().get());\n }\n }\n}\n"},{"lang":"csharp","label":"C#","source":"using NoResponse;\nusing NoResponse.Models.Shared;\nusing System;\n\nvar sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable(\"NORESPONSE_API_KEY\"));\n\nAssessmentAggregateRequest req = new AssessmentAggregateRequest() {\n From = \"2026-10-19T00:00:00Z\",\n To = \"2026-10-26T00:00:00Z\",\n Bucket = Bucket.Week,\n Country = \"GB\",\n};\n\nvar res = await sdk.Assessments.AggregateAsync(req);\n\n// handle response\n"},{"lang":"php","label":"PHP","source":"\u003c?php\n\ndeclare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse NoResponse;\nuse NoResponse\\Models\\Shared;\n\n$sdk = NoResponse\\NoResponseClient::builder()\n ->setSecurity(\n getenv('NORESPONSE_API_KEY') ?: ''\n )\n ->build();\n\n$request = new Shared\\AssessmentAggregateRequest(\n from: '2026-10-19T00:00:00Z',\n to: '2026-10-26T00:00:00Z',\n bucket: Shared\\Bucket::Week,\n country: 'GB',\n);\n\n$response = $sdk->assessments->aggregate(\n request: $request\n);\n\n$result = $response->result;\n// handle response\n"},{"lang":"ruby","label":"Ruby","source":"require 'noresponse'\n\nModels = ::NoResponse::Models\ns = ::NoResponse::NoResponseClient.new(\n api_key: ENV.fetch('NORESPONSE_API_KEY', '')\n)\n\nreq = Models::Shared::AssessmentAggregateRequest.new(\n from: '2026-10-19T00:00:00Z',\n to: '2026-10-26T00:00:00Z',\n bucket: Models::Shared::Bucket::WEEK,\n country: 'GB'\n)\nres = s.assessments.aggregate(request: req)\n\nunless res.nil?\n # handle response\nend\n"}],"method":"post","type":"path","servers":["18cd78c2-9cd8-4db8-8b92-63f5298dc2b9"],"path":"/v1/assessments/aggregate","baseUrlOptions":["https://api.noresponse.org"],"title":"Count assessments by time, decision and reason","codeSamples":[{"label":"cURL","lang":"curl","source":"curl --request POST \\\n --url 'https://api.noresponse.org/v1/assessments/aggregate' \\\n --header \"Authorization: Bearer $NORESPONSE_API_KEY\" \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"from\": \"2026-10-19T00:00:00Z\",\n \"to\": \"2026-10-26T00:00:00Z\",\n \"bucket\": \"week\",\n \"time_zone\": \"UTC\",\n \"limit\": 20,\n \"country\": \"GB\"\n}'\n"},{"label":"TypeScript","lang":"typescript","source":"import { NoResponse } from \"@noresponse/node\";\n\nconst noResponse = new NoResponse({\n apiKey: process.env[\"NORESPONSE_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await noResponse.assessments.aggregate({\n from: \"2026-10-19T00:00:00Z\",\n to: \"2026-10-26T00:00:00Z\",\n bucket: \"week\",\n country: \"GB\",\n });\n\n console.log(result);\n}\n\nrun();\n"},{"label":"Python","lang":"python","source":"from noresponse import NoResponse\nimport os\n\n\nwith NoResponse(\n api_key=os.getenv(\"NORESPONSE_API_KEY\", \"\"),\n) as no_response:\n\n res = no_response.assessments.aggregate(from_=\"2026-10-19T00:00:00Z\", to=\"2026-10-26T00:00:00Z\", bucket=\"week\", time_zone=\"UTC\", limit=20, country=\"GB\")\n\n # Handle response\n print(res)\n"},{"label":"Go","lang":"go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tnoresponse \"github.com/noresponsehq/go/v12\"\n\t\"github.com/noresponsehq/go/v12/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := noresponse.New(\n noresponse.WithSecurity(os.Getenv(\"NORESPONSE_API_KEY\")),\n )\n\n res, err := s.Assessments.Aggregate(ctx, components.AssessmentAggregateRequest{\n From: \"2026-10-19T00:00:00Z\",\n To: \"2026-10-26T00:00:00Z\",\n Bucket: components.BucketWeek,\n Country: noresponse.Pointer(\"GB\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}\n"},{"label":"Java","lang":"java","source":"package hello.world;\n\nimport java.lang.Exception;\nimport org.noresponse.NoResponse;\nimport org.noresponse.models.errors.AuthenticationException;\nimport org.noresponse.models.errors.BadRequestException;\nimport org.noresponse.models.errors.ConflictException;\nimport org.noresponse.models.errors.NotFoundException;\nimport org.noresponse.models.errors.PermissionDeniedException;\nimport org.noresponse.models.errors.RateLimitException;\nimport org.noresponse.models.operations.AggregateAssessmentsResponse;\nimport org.noresponse.models.shared.AssessmentAggregateRequest;\nimport org.noresponse.models.shared.Bucket;\n\npublic class Application {\n\n public static void main(String[] args) throws Exception {\n\n NoResponse sdk = NoResponse.builder()\n .apiKey(System.getenv().getOrDefault(\"NORESPONSE_API_KEY\", \"\"))\n .build();\n\n AssessmentAggregateRequest req = AssessmentAggregateRequest.builder()\n .from(\"2026-10-19T00:00:00Z\")\n .to(\"2026-10-26T00:00:00Z\")\n .bucket(Bucket.WEEK)\n .country(\"GB\")\n .build();\n\n AggregateAssessmentsResponse res = sdk.assessments().aggregate()\n .request(req)\n .call();\n\n if (res.assessmentAggregate().isPresent()) {\n System.out.println(res.assessmentAggregate().get());\n }\n }\n}\n"},{"label":"C#","lang":"csharp","source":"using NoResponse;\nusing NoResponse.Models.Shared;\nusing System;\n\nvar sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable(\"NORESPONSE_API_KEY\"));\n\nAssessmentAggregateRequest req = new AssessmentAggregateRequest() {\n From = \"2026-10-19T00:00:00Z\",\n To = \"2026-10-26T00:00:00Z\",\n Bucket = Bucket.Week,\n Country = \"GB\",\n};\n\nvar res = await sdk.Assessments.AggregateAsync(req);\n\n// handle response\n"},{"label":"PHP","lang":"php","source":"\u003c?php\n\ndeclare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse NoResponse;\nuse NoResponse\\Models\\Shared;\n\n$sdk = NoResponse\\NoResponseClient::builder()\n ->setSecurity(\n getenv('NORESPONSE_API_KEY') ?: ''\n )\n ->build();\n\n$request = new Shared\\AssessmentAggregateRequest(\n from: '2026-10-19T00:00:00Z',\n to: '2026-10-26T00:00:00Z',\n bucket: Shared\\Bucket::Week,\n country: 'GB',\n);\n\n$response = $sdk->assessments->aggregate(\n request: $request\n);\n\n$result = $response->result;\n// handle response\n"},{"label":"Ruby","lang":"ruby","source":"require 'noresponse'\n\nModels = ::NoResponse::Models\ns = ::NoResponse::NoResponseClient.new(\n api_key: ENV.fetch('NORESPONSE_API_KEY', '')\n)\n\nreq = Models::Shared::AssessmentAggregateRequest.new(\n from: '2026-10-19T00:00:00Z',\n to: '2026-10-26T00:00:00Z',\n bucket: Models::Shared::Bucket::WEEK,\n country: 'GB'\n)\nres = s.assessments.aggregate(request: req)\n\nunless res.nil?\n # handle response\nend\n"}],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.from":"2023-11-07T05:31:56Z","body.to":"2023-11-07T05:31:56Z","body.time_zone":"UTC","body.metrics.items.0":"count","body.limit":20,"body.population":"first_answers","body.country":"\u003cstring>","body.asn":2147483648,"body.score_min":50,"body.score_max":50}],"disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Workspace assessment aggregate","description":"Count this environment's assessments created in [from,to) by bucket, from counts kept as each assessment is first answered, not by scanning assessments. Each assessment counts once, by its first answer (the answer served when it was first answered); later revisions and late results do not count it again, and late_flips counts its later account decision changes. from and to start a bucket (an hour, or a day or a week from Monday that starts at midnight in time_zone, UTC by default), cover at most 366 days (31 for hour buckets, 92 for day and week buckets in a time_zone other than UTC) and from is inside the retention period. The filters are POST /v1/assessments/search's and describe the first answer, so a cell drills down to search with the same filters, revision first and the cell's bucket as from and to. Counts hold no identifier and stay when an assessment or account is deleted or erased; they expire with retention and go with the workspace. Reasons are counted by code and impact band, not by weight. No Idempotency-Key. Select retained_first_answers for exact facet filters and pairs over retained detail. This mode supports count, score_histogram and score_outcomes, and refuses late_flips. It has a 31-day and 100000-record work budget.","required":["from","to","bucket"],"conditionallyRequiredProperties":{"reason":[{"when":[[{"property":"impact"}]]}]},"properties":{"from":{"type":"string","format":"date-time","description":"The first bucket's start.","isRequired":true,"uniqueKey":"from","typeLabel":"string\u003cdate-time>"},"to":{"type":"string","format":"date-time","description":"The end, excluded: the start of the bucket after the last.","isRequired":true,"uniqueKey":"to","typeLabel":"string\u003cdate-time>"},"bucket":{"enum":["hour","day","week"],"description":"The period each count covers: an hour, or a day or a week (from Monday) in time_zone. Hour buckets are whole UTC hours in any time zone.","type":"string","isRequired":true,"uniqueKey":"bucket","typeLabel":"enum\u003cstring>"},"time_zone":{"type":"string","maxLength":64,"pattern":"^(?:UTC|[A-Za-z_]+(?:/[A-Za-z0-9_+.-]+)+)$","not":{"pattern":"\\n"},"default":"UTC","description":"The IANA time zone whose local midnight starts each day and week bucket, such as Europe/London or Asia/Kolkata; daylight saving changes make those days 23 or 25 hours long. A name the zone database does not know is refused (400 invalid_request naming time_zone). Day and week buckets in a zone other than UTC cover at most 92 days (400 invalid_request naming to); a year of them reads too many hourly counts to answer in time. Hour buckets stay whole UTC hours. Bucket starts, from and to stay instants. With the default population, a zone whose local midnight falls inside a UTC hour (a half-hour offset such as Asia/Kolkata) is refused for day and week buckets, as those counts are kept by the hour; retained_first_answers counts it.","uniqueKey":"time_zone","typeLabel":"string"},"group_by":{"type":"array","maxItems":2,"uniqueItems":true,"items":{"enum":["decision","flow","recommendation","band","reason","lane","country","asn","list_match"],"description":"decision, recommendation and band: the first answer's. flow: the assessment's. list_match: the action of the list entry that decided the account when it was first answered. reason: a reason the first answer fired, with its impact band. lane: an evidence lane the first answer listed in incomplete_sources. country and asn: the submitted IP's, from the IP data.","type":"string","uniqueKey":"group_by.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"At most two dimensions to count by, of which at most one is reason, lane, country or asn. An assessment counts once in each of its reasons and incomplete lanes, so those groups can add up to more than the bucket's count. With population retained_first_answers, both dimensions can be facets; counts cover retained first answers only.","uniqueKey":"group_by","typeLabel":"enum\u003cstring>[]"},"metrics":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"items":{"enum":["count","score_histogram","score_outcomes","late_flips"],"type":"string","uniqueKey":"metrics.items.[INDEX]","typeLabel":"enum\u003cstring>"},"default":["count"],"description":"count: each bucket's count and groups. score_histogram: first answers by flow and 5-point score bucket. score_outcomes: the histogram's first answers that have a reported outcome, by flow, 5-point score bucket and the latest outcome reported for the assessment (POST /v1/assessments/{assessment_id}/outcomes); the rest of a bin has none reported. late_flips: changes of an assessment's account decision for its flow after its first answer, by from, to and delay.","uniqueKey":"metrics","typeLabel":"enum\u003cstring>[]"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"The most groups answered: the largest over the whole range, then by value. groups_truncated says when there were more.","uniqueKey":"limit","typeLabel":"integer"},"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.","type":"string","uniqueKey":"flow","typeLabel":"enum\u003cstring>"},"status":{"enum":["complete","partial","pending"],"description":"The first answer's status.","type":"string","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"recommendation":{"enum":["allow","step_up","review"],"description":"The first answer's recommendation.","type":"string","uniqueKey":"recommendation","typeLabel":"enum\u003cstring>"},"decision":{"type":"string","enum":["allow","step_up","review","block"],"description":"The first answer's decision: block when its risk.block was true, otherwise its recommendation. Combined with recommendation using AND.","uniqueKey":"decision","typeLabel":"enum\u003cstring>"},"revision":{"enum":["latest","first"],"description":"Always first: the aggregate counts first answers. Accepted so a filter can be sent to search unchanged; latest is refused.","type":"string","uniqueKey":"revision","typeLabel":"enum\u003cstring>"},"population":{"enum":["first_answers","retained_first_answers"],"default":"first_answers","description":"first_answers uses anonymous counters that can include erased detail. retained_first_answers computes exact intersections over retained first answers within 31 days. Requests exceeding the 100000-record work budget are refused.","type":"string","uniqueKey":"population","typeLabel":"enum\u003cstring>"},"band":{"enum":["low","medium","high","critical"],"type":"string","uniqueKey":"band","typeLabel":"enum\u003cstring>"},"reason":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A reason fired by the selected stored revision.","type":"string","conditionalRequirements":[{"when":[[{"property":"impact"}]]}],"uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"impact":{"enum":["none","low","medium","high"],"description":"The selected reason's served impact band. Requires reason.","type":"string","uniqueKey":"impact","typeLabel":"enum\u003cstring>"},"lane":{"enum":["accounts","phone","breach","domain","ip"],"description":"An incomplete lane in the selected stored revision.","type":"string","uniqueKey":"lane","typeLabel":"enum\u003cstring>"},"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"pattern":"\\n"},"uniqueKey":"country","typeLabel":"string"},"asn":{"type":"integer","minimum":1,"maximum":4294967295,"uniqueKey":"asn","typeLabel":"integer"},"score_min":{"type":"integer","minimum":0,"maximum":100,"description":"Inclusive lower score bound. Pending answers without a score do not match.","uniqueKey":"score_min","typeLabel":"integer"},"score_max":{"type":"integer","minimum":0,"maximum":100,"description":"Inclusive upper score bound, at least score_min when both are supplied.","uniqueKey":"score_max","typeLabel":"integer"},"list_match":{"enum":["allow","block","none"],"description":"The list action captured at the first answer. Requires revision first. Older answers without captured list state do not match, including none.","type":"string","uniqueKey":"list_match","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Workspace assessment aggregate · object"},"examples":{"Example":{"title":"Example","value":{"from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z","time_zone":"UTC","group_by":[],"metrics":["count"],"limit":20,"population":"first_answers","country":"\u003cstring>","asn":2147483648,"score_min":50,"score_max":50}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a607555d-ce81-486f-a13f-7926a52f6593":{"description":"Counts of first answers per bucket.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/json":{"schema":{"title":"Workspace assessment aggregate","description":"Body of the 200 answer to POST /v1/assessments/aggregate: one entry per bucket of [from,to), empty buckets included. Counts are of first answers and stay when an assessment or account is deleted or erased; search returns only assessments still retained.","type":"object","additionalProperties":false,"required":["schema_version","from","to","bucket","group_by","metrics","time_zone","retention_days","groups_truncated","buckets"],"properties":{"schema_version":{"const":"1","description":"Version of the body shape.","isRequired":true,"uniqueKey":"schema_version","typeLabel":"any"},"from":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"from","typeLabel":"string\u003cdate-time>"},"to":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"to","typeLabel":"string\u003cdate-time>"},"bucket":{"enum":["hour","day","week"],"type":"string","isRequired":true,"uniqueKey":"bucket","typeLabel":"enum\u003cstring>"},"group_by":{"type":"array","maxItems":2,"items":{"enum":["decision","flow","recommendation","band","reason","lane","country","asn","list_match"],"description":"decision, recommendation and band: the first answer's. flow: the assessment's. list_match: the action of the list entry that decided the account when it was first answered. reason: a reason the first answer fired, with its impact band. lane: an evidence lane the first answer listed in incomplete_sources. country and asn: the submitted IP's, from the IP data.","type":"string","uniqueKey":"group_by.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"group_by","typeLabel":"enum\u003cstring>[]"},"metrics":{"type":"array","minItems":1,"maxItems":4,"items":{"enum":["count","score_histogram","score_outcomes","late_flips"],"type":"string","uniqueKey":"metrics.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"metrics","typeLabel":"enum\u003cstring>[]"},"time_zone":{"type":"string","maxLength":64,"description":"The time zone whose local midnight started each day and week bucket, as requested; UTC when the request named none.","isRequired":true,"uniqueKey":"time_zone","typeLabel":"string"},"retention_days":{"type":"integer","minimum":1,"maximum":365,"default":365,"description":"The calling workspace's configured retention period in days. Default 365 (12 months), which is also the maximum: a workspace may only shorten it, to at least 1 day. Each record expires from its own created_at; see assessment expires_at.","isRequired":true,"uniqueKey":"retention_days","typeLabel":"integer"},"groups_truncated":{"type":"boolean","description":"true when more groups had counts than limit allowed.","isRequired":true,"uniqueKey":"groups_truncated","typeLabel":"boolean"},"buckets":{"type":"array","maxItems":744,"items":{"type":"object","additionalProperties":false,"required":["start"],"properties":{"start":{"type":"string","format":"date-time","description":"The bucket's first instant, in UTC. A day or week bucket in a time zone starts at local midnight there, so in Asia/Tokyo a day starts at 15:00Z the day before.","isRequired":true,"uniqueKey":"buckets.items.[INDEX].start","typeLabel":"string\u003cdate-time>"},"count":{"type":"integer","minimum":0,"description":"Assessments first answered whose creation falls in the bucket. With metric count.","uniqueKey":"buckets.items.[INDEX].count","typeLabel":"integer"},"groups":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["count"],"description":"One group's count in one bucket. It holds each grouped dimension the counted assessments had a value for: a pending first answer has no decision, recommendation or band; an answer that fired no reason, listed no incomplete lane, matched no list entry or whose IP has no known country or ASN leaves that dimension out.","properties":{"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].count","typeLabel":"integer"},"decision":{"type":"string","enum":["allow","step_up","review","block"],"description":"The first answer's decision.","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].decision","typeLabel":"enum\u003cstring>"},"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].flow","typeLabel":"enum\u003cstring>"},"recommendation":{"enum":["allow","step_up","review"],"description":"Advisory only. The provider decides and enforces.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].recommendation","typeLabel":"enum\u003cstring>"},"band":{"enum":["low","medium","high","critical"],"type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].band","typeLabel":"enum\u003cstring>"},"list_match":{"enum":["block","allow","none"],"description":"The list action captured when the assessment was first answered; none means capture found no matching entry. With population retained_first_answers, absent means the answer predates list-state capture and must not be treated as none.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].list_match","typeLabel":"enum\u003cstring>"},"reason":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A risk reason from the reviewed list. new_email is retained only for historical decisions: it never measured email age and is no longer emitted. no_email_matches is neutral and requires explicit, complete no-match answers from supported account and breach searches for the email; unsupported, failed, partial or running searches cannot establish it. no_breach_history is neutral and records only a complete email breach search with no matches, independently of account coverage. no_digital_footprint keeps its existing weight for confirmed absence across the searched account and breach families; no extra age proxy is added. old_breach_history and consistent_identity were replaced by the breach codes (aged_identity, breach_name_match, breach_cooccurrence and the mismatches) and are refused. young_email_domain, email_domain_no_mx and email_domain_nonexistent describe the email's domain (the deferred RDAP registration age and the request-time mail answer: email_domain_no_mx means a null MX, or neither an MX nor an address record); a lookup that failed writes nothing and fires none of them. forum_sanctioned and prior_payment_abuse describe the conduct the email's or username's breach rows record: a forum ban, warning or infraction, and recorded chargebacks or many declined payments. ip_history_match means the signup IP is one the email's or username's own breach rows used, from a typed address that is no proxy or hosting network, once the address's own breach search found fewer than twenty people. identity_attribute_conflict means independent breach records and profiles disagree on the birth date, gender or nationality, or the breach gender differs from the submitted first name's usual one; impossible_identity_age means the email address appears in breach records from before, or soon after, the birth date they report, or that birth date is 110 or more years ago; nationality_mismatch means the breach nationality's country differs from three or more of the IP, phone, timezone and locale countries; minor_identity flags a breach birth date under 18 years ago. breach_city_match means two or more breach tables give the city of the IP, from a typed address that is no proxy, hosting or mobile network. breach_city_mismatch is neutral: the breach records give one city and the IP country, and the IP is in a different city, under the same conditions; a missing IP city or a name that cannot be compared makes no claim. breach_shared_ip means the signup IP's own breach records hold five or more different people besides the signup, from a typed address that is no proxy or hosting network; one record's emails and usernames are one person. Mobile carrier addresses are not yet detected. test_scenario appears only on an assessment made with a test key (nrk_test_), which the deterministic simulator answers: its impact is the scenario the magic email or phone chose, and none for any other identifier. A live assessment never carries it. shared_api_key is an account reason, never an assessment one: it appears only in the risk of GET /v1/accounts/{account_id} and the account an assessment carries, when a key your account creation gate issued to the account (issued_credential.sha256) was used from many IP addresses or countries within 24 hours (POST /v1/keys/usage). list_match is an account reason too: one of the account's admitted assessments sent an email, or an email of a domain, on the environment's list (GET /v1/workspaces/{workspace_id}/lists/{environment}). It names the entry in list_entry_id; it raises for a block entry and lowers for an allow entry, and it decides the account whatever the score, which it leaves unchanged. reported_account_abuse is an account-only, tenant-local assertion from a known abuse outcome; it is not independently corroborated evidence and is withdrawn by a correction of that report.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"impact":{"enum":["none","low","medium","high"],"description":"The reason's impact band in the first answer. Present with reason.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].impact","typeLabel":"enum\u003cstring>"},"lane":{"enum":["accounts","phone","breach","domain","ip"],"description":"An evidence lane: accounts (account presence for email and username), phone, breach, domain (the email domain's registration) and ip.","type":"string","uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].lane","typeLabel":"enum\u003cstring>"},"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"pattern":"\\n"},"uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].country","typeLabel":"string"},"asn":{"type":"integer","minimum":1,"maximum":4294967295,"uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX].asn","typeLabel":"integer"}},"uniqueKey":"buckets.items.[INDEX].groups.items.[INDEX]","typeLabel":"object"},"description":"With metric count and group_by: the bucket's counts of the groups answered, largest group first.","uniqueKey":"buckets.items.[INDEX].groups","typeLabel":"object[]"},"score_histogram":{"type":"array","maxItems":60,"items":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max]: 0-4, 5-9 up to 95-100. A pending answer has no score.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_histogram.items.[INDEX].flow","typeLabel":"enum\u003cstring>"},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5.","isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_histogram.items.[INDEX].score_min","typeLabel":"integer"},"score_max":{"type":"integer","minimum":4,"maximum":100,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_histogram.items.[INDEX].score_max","typeLabel":"integer"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_histogram.items.[INDEX].count","typeLabel":"integer"}},"uniqueKey":"buckets.items.[INDEX].score_histogram.items.[INDEX]","typeLabel":"object"},"uniqueKey":"buckets.items.[INDEX].score_histogram","typeLabel":"object[]"},"score_outcomes":{"type":"array","maxItems":360,"items":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","outcome","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max] and whose assessment's latest reported outcome (the latest received) is outcome. Counted when the first answer is counted and moved when a later outcome wins; outcomes reported before the first answer was counted are counted with it. An outcome reported before this count existed is counted only once another outcome is reported for the assessment.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX].flow","typeLabel":"enum\u003cstring>"},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5.","isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX].score_min","typeLabel":"integer"},"score_max":{"type":"integer","minimum":4,"maximum":100,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX].score_max","typeLabel":"integer"},"outcome":{"enum":["confirmed_abuse","account_takeover","chargeback","false_positive","legitimate","unknown"],"description":"What the provider later learned about the assessed account. confirmed_abuse, account_takeover and chargeback report abuse; false_positive and legitimate withdraw an earlier abuse report of this workspace for the assessment; unknown is recorded only. Outcomes are append-only and the latest one recorded for an assessment wins.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX].outcome","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX].count","typeLabel":"integer"}},"uniqueKey":"buckets.items.[INDEX].score_outcomes.items.[INDEX]","typeLabel":"object"},"description":"With metric score_outcomes: the score_histogram's first answers whose assessment has a reported outcome, by its latest. A bin's count less its score_outcomes is the first answers with none reported.","uniqueKey":"buckets.items.[INDEX].score_outcomes","typeLabel":"object[]"},"late_flips":{"type":"array","maxItems":180,"items":{"type":"object","additionalProperties":false,"required":["from","to","delay","count"],"description":"Changes of the account decision for an assessment's flow after its first answer, as account.risk_changed announces them, counted in the bucket of the assessment's creation. from is the decision announced before (allow before the first announcement); an assessment that changes twice counts twice.","properties":{"from":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].late_flips.items.[INDEX].from","typeLabel":"enum\u003cstring>"},"to":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].late_flips.items.[INDEX].to","typeLabel":"enum\u003cstring>"},"delay":{"enum":["under_10s","under_1m","under_10m","under_1h","under_1d","over_1d"],"description":"How long after the assessment's creation the change was made.","type":"string","isRequired":true,"uniqueKey":"buckets.items.[INDEX].late_flips.items.[INDEX].delay","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"buckets.items.[INDEX].late_flips.items.[INDEX].count","typeLabel":"integer"}},"uniqueKey":"buckets.items.[INDEX].late_flips.items.[INDEX]","typeLabel":"object"},"uniqueKey":"buckets.items.[INDEX].late_flips","typeLabel":"object[]"}},"uniqueKey":"buckets.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"buckets","typeLabel":"object[]"},"coverage":{"type":"object","additionalProperties":false,"required":["as_of","first_answers_started_at","score_outcomes_started_at","retained_from","population","erased_records_included","overlapping_groups","late_flip_unit","historical_backfill"],"description":"Captured in the same database snapshot as the counts. Capture start times describe when counting began, not the earliest creation time counted: an older assessment may first answer later. Older outcomes are not inferred to be absent. Erased detail cannot be returned by drill-down even while its anonymous count remains.","properties":{"as_of":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage.as_of","typeLabel":"string\u003cdate-time>"},"first_answers_started_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage.first_answers_started_at","typeLabel":"string\u003cdate-time>"},"score_outcomes_started_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage.score_outcomes_started_at","typeLabel":"string\u003cdate-time>"},"retained_from":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage.retained_from","typeLabel":"string\u003cdate-time>"},"population":{"enum":["first_answers","retained_first_answers"],"type":"string","isRequired":true,"uniqueKey":"coverage.population","typeLabel":"enum\u003cstring>"},"erased_records_included":{"type":"boolean","isRequired":true,"uniqueKey":"coverage.erased_records_included","typeLabel":"boolean"},"overlapping_groups":{"type":"boolean","isRequired":true,"uniqueKey":"coverage.overlapping_groups","typeLabel":"boolean"},"late_flip_unit":{"const":"decision_transitions","isRequired":true,"uniqueKey":"coverage.late_flip_unit","typeLabel":"any"},"historical_backfill":{"const":false,"isRequired":true,"uniqueKey":"coverage.historical_backfill","typeLabel":"any"}},"uniqueKey":"coverage","typeLabel":"object"}},"$defs":{"aggregate_bucket":{"type":"object","additionalProperties":false,"required":["start"],"properties":{"start":{"type":"string","format":"date-time","description":"The bucket's first instant, in UTC. A day or week bucket in a time zone starts at local midnight there, so in Asia/Tokyo a day starts at 15:00Z the day before."},"count":{"type":"integer","minimum":0,"description":"Assessments first answered whose creation falls in the bucket. With metric count."},"groups":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["count"],"description":"One group's count in one bucket. It holds each grouped dimension the counted assessments had a value for: a pending first answer has no decision, recommendation or band; an answer that fired no reason, listed no incomplete lane, matched no list entry or whose IP has no known country or ASN leaves that dimension out.","properties":{"decision":{"type":"string","enum":["allow","step_up","review","block"],"description":"The first answer's decision."},"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"recommendation":{"enum":["allow","step_up","review"],"description":"Advisory only. The provider decides and enforces."},"band":{"enum":["low","medium","high","critical"]},"list_match":{"enum":["block","allow","none"],"description":"The list action captured when the assessment was first answered; none means capture found no matching entry. With population retained_first_answers, absent means the answer predates list-state capture and must not be treated as none."},"reason":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A risk reason from the reviewed list. new_email is retained only for historical decisions: it never measured email age and is no longer emitted. no_email_matches is neutral and requires explicit, complete no-match answers from supported account and breach searches for the email; unsupported, failed, partial or running searches cannot establish it. no_breach_history is neutral and records only a complete email breach search with no matches, independently of account coverage. no_digital_footprint keeps its existing weight for confirmed absence across the searched account and breach families; no extra age proxy is added. old_breach_history and consistent_identity were replaced by the breach codes (aged_identity, breach_name_match, breach_cooccurrence and the mismatches) and are refused. young_email_domain, email_domain_no_mx and email_domain_nonexistent describe the email's domain (the deferred RDAP registration age and the request-time mail answer: email_domain_no_mx means a null MX, or neither an MX nor an address record); a lookup that failed writes nothing and fires none of them. forum_sanctioned and prior_payment_abuse describe the conduct the email's or username's breach rows record: a forum ban, warning or infraction, and recorded chargebacks or many declined payments. ip_history_match means the signup IP is one the email's or username's own breach rows used, from a typed address that is no proxy or hosting network, once the address's own breach search found fewer than twenty people. identity_attribute_conflict means independent breach records and profiles disagree on the birth date, gender or nationality, or the breach gender differs from the submitted first name's usual one; impossible_identity_age means the email address appears in breach records from before, or soon after, the birth date they report, or that birth date is 110 or more years ago; nationality_mismatch means the breach nationality's country differs from three or more of the IP, phone, timezone and locale countries; minor_identity flags a breach birth date under 18 years ago. breach_city_match means two or more breach tables give the city of the IP, from a typed address that is no proxy, hosting or mobile network. breach_city_mismatch is neutral: the breach records give one city and the IP country, and the IP is in a different city, under the same conditions; a missing IP city or a name that cannot be compared makes no claim. breach_shared_ip means the signup IP's own breach records hold five or more different people besides the signup, from a typed address that is no proxy or hosting network; one record's emails and usernames are one person. Mobile carrier addresses are not yet detected. test_scenario appears only on an assessment made with a test key (nrk_test_), which the deterministic simulator answers: its impact is the scenario the magic email or phone chose, and none for any other identifier. A live assessment never carries it. shared_api_key is an account reason, never an assessment one: it appears only in the risk of GET /v1/accounts/{account_id} and the account an assessment carries, when a key your account creation gate issued to the account (issued_credential.sha256) was used from many IP addresses or countries within 24 hours (POST /v1/keys/usage). list_match is an account reason too: one of the account's admitted assessments sent an email, or an email of a domain, on the environment's list (GET /v1/workspaces/{workspace_id}/lists/{environment}). It names the entry in list_entry_id; it raises for a block entry and lowers for an allow entry, and it decides the account whatever the score, which it leaves unchanged. reported_account_abuse is an account-only, tenant-local assertion from a known abuse outcome; it is not independently corroborated evidence and is withdrawn by a correction of that report."},"impact":{"enum":["none","low","medium","high"],"description":"The reason's impact band in the first answer. Present with reason."},"lane":{"enum":["accounts","phone","breach","domain","ip"],"description":"An evidence lane: accounts (account presence for email and username), phone, breach, domain (the email domain's registration) and ip."},"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"pattern":"\\n"}},"asn":{"type":"integer","minimum":1,"maximum":4294967295},"count":{"type":"integer","minimum":1}}},"description":"With metric count and group_by: the bucket's counts of the groups answered, largest group first."},"score_histogram":{"type":"array","maxItems":60,"items":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max]: 0-4, 5-9 up to 95-100. A pending answer has no score.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5."},"score_max":{"type":"integer","minimum":4,"maximum":100},"count":{"type":"integer","minimum":1}}}},"score_outcomes":{"type":"array","maxItems":360,"items":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","outcome","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max] and whose assessment's latest reported outcome (the latest received) is outcome. Counted when the first answer is counted and moved when a later outcome wins; outcomes reported before the first answer was counted are counted with it. An outcome reported before this count existed is counted only once another outcome is reported for the assessment.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5."},"score_max":{"type":"integer","minimum":4,"maximum":100},"outcome":{"enum":["confirmed_abuse","account_takeover","chargeback","false_positive","legitimate","unknown"],"description":"What the provider later learned about the assessed account. confirmed_abuse, account_takeover and chargeback report abuse; false_positive and legitimate withdraw an earlier abuse report of this workspace for the assessment; unknown is recorded only. Outcomes are append-only and the latest one recorded for an assessment wins."},"count":{"type":"integer","minimum":1}}},"description":"With metric score_outcomes: the score_histogram's first answers whose assessment has a reported outcome, by its latest. A bin's count less its score_outcomes is the first answers with none reported."},"late_flips":{"type":"array","maxItems":180,"items":{"type":"object","additionalProperties":false,"required":["from","to","delay","count"],"description":"Changes of the account decision for an assessment's flow after its first answer, as account.risk_changed announces them, counted in the bucket of the assessment's creation. from is the decision announced before (allow before the first announcement); an assessment that changes twice counts twice.","properties":{"from":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces."},"to":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces."},"delay":{"enum":["under_10s","under_1m","under_10m","under_1h","under_1d","over_1d"],"description":"How long after the assessment's creation the change was made."},"count":{"type":"integer","minimum":1}}}}}},"aggregate_group":{"type":"object","additionalProperties":false,"required":["count"],"description":"One group's count in one bucket. It holds each grouped dimension the counted assessments had a value for: a pending first answer has no decision, recommendation or band; an answer that fired no reason, listed no incomplete lane, matched no list entry or whose IP has no known country or ASN leaves that dimension out.","properties":{"decision":{"type":"string","enum":["allow","step_up","review","block"],"description":"The first answer's decision."},"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"recommendation":{"enum":["allow","step_up","review"],"description":"Advisory only. The provider decides and enforces."},"band":{"enum":["low","medium","high","critical"]},"list_match":{"enum":["block","allow","none"],"description":"The list action captured when the assessment was first answered; none means capture found no matching entry. With population retained_first_answers, absent means the answer predates list-state capture and must not be treated as none."},"reason":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A risk reason from the reviewed list. new_email is retained only for historical decisions: it never measured email age and is no longer emitted. no_email_matches is neutral and requires explicit, complete no-match answers from supported account and breach searches for the email; unsupported, failed, partial or running searches cannot establish it. no_breach_history is neutral and records only a complete email breach search with no matches, independently of account coverage. no_digital_footprint keeps its existing weight for confirmed absence across the searched account and breach families; no extra age proxy is added. old_breach_history and consistent_identity were replaced by the breach codes (aged_identity, breach_name_match, breach_cooccurrence and the mismatches) and are refused. young_email_domain, email_domain_no_mx and email_domain_nonexistent describe the email's domain (the deferred RDAP registration age and the request-time mail answer: email_domain_no_mx means a null MX, or neither an MX nor an address record); a lookup that failed writes nothing and fires none of them. forum_sanctioned and prior_payment_abuse describe the conduct the email's or username's breach rows record: a forum ban, warning or infraction, and recorded chargebacks or many declined payments. ip_history_match means the signup IP is one the email's or username's own breach rows used, from a typed address that is no proxy or hosting network, once the address's own breach search found fewer than twenty people. identity_attribute_conflict means independent breach records and profiles disagree on the birth date, gender or nationality, or the breach gender differs from the submitted first name's usual one; impossible_identity_age means the email address appears in breach records from before, or soon after, the birth date they report, or that birth date is 110 or more years ago; nationality_mismatch means the breach nationality's country differs from three or more of the IP, phone, timezone and locale countries; minor_identity flags a breach birth date under 18 years ago. breach_city_match means two or more breach tables give the city of the IP, from a typed address that is no proxy, hosting or mobile network. breach_city_mismatch is neutral: the breach records give one city and the IP country, and the IP is in a different city, under the same conditions; a missing IP city or a name that cannot be compared makes no claim. breach_shared_ip means the signup IP's own breach records hold five or more different people besides the signup, from a typed address that is no proxy or hosting network; one record's emails and usernames are one person. Mobile carrier addresses are not yet detected. test_scenario appears only on an assessment made with a test key (nrk_test_), which the deterministic simulator answers: its impact is the scenario the magic email or phone chose, and none for any other identifier. A live assessment never carries it. shared_api_key is an account reason, never an assessment one: it appears only in the risk of GET /v1/accounts/{account_id} and the account an assessment carries, when a key your account creation gate issued to the account (issued_credential.sha256) was used from many IP addresses or countries within 24 hours (POST /v1/keys/usage). list_match is an account reason too: one of the account's admitted assessments sent an email, or an email of a domain, on the environment's list (GET /v1/workspaces/{workspace_id}/lists/{environment}). It names the entry in list_entry_id; it raises for a block entry and lowers for an allow entry, and it decides the account whatever the score, which it leaves unchanged. reported_account_abuse is an account-only, tenant-local assertion from a known abuse outcome; it is not independently corroborated evidence and is withdrawn by a correction of that report."},"impact":{"enum":["none","low","medium","high"],"description":"The reason's impact band in the first answer. Present with reason."},"lane":{"enum":["accounts","phone","breach","domain","ip"],"description":"An evidence lane: accounts (account presence for email and username), phone, breach, domain (the email domain's registration) and ip."},"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"pattern":"\\n"}},"asn":{"type":"integer","minimum":1,"maximum":4294967295},"count":{"type":"integer","minimum":1}}},"aggregate_score_count":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max]: 0-4, 5-9 up to 95-100. A pending answer has no score.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5."},"score_max":{"type":"integer","minimum":4,"maximum":100},"count":{"type":"integer","minimum":1}}},"aggregate_score_outcome":{"type":"object","additionalProperties":false,"required":["flow","score_min","score_max","outcome","count"],"description":"First answers of one flow whose risk.score is in [score_min, score_max] and whose assessment's latest reported outcome (the latest received) is outcome. Counted when the first answer is counted and moved when a later outcome wins; outcomes reported before the first answer was counted are counted with it. An outcome reported before this count existed is counted only once another outcome is reported for the assessment.","properties":{"flow":{"enum":["account_creation","login","purchase"],"description":"The event an assessment is made for: account_creation (a user creates an account), login (a user returns to an existing account) or purchase (a payment or a credit grant). The account's risk is reported with the decision for this flow."},"score_min":{"type":"integer","minimum":0,"maximum":95,"description":"A multiple of 5."},"score_max":{"type":"integer","minimum":4,"maximum":100},"outcome":{"enum":["confirmed_abuse","account_takeover","chargeback","false_positive","legitimate","unknown"],"description":"What the provider later learned about the assessed account. confirmed_abuse, account_takeover and chargeback report abuse; false_positive and legitimate withdraw an earlier abuse report of this workspace for the assessment; unknown is recorded only. Outcomes are append-only and the latest one recorded for an assessment wins."},"count":{"type":"integer","minimum":1}}},"aggregate_late_flip":{"type":"object","additionalProperties":false,"required":["from","to","delay","count"],"description":"Changes of the account decision for an assessment's flow after its first answer, as account.risk_changed announces them, counted in the bucket of the assessment's creation. from is the decision announced before (allow before the first announcement); an assessment that changes twice counts twice.","properties":{"from":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces."},"to":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces."},"delay":{"enum":["under_10s","under_1m","under_10m","under_1h","under_1d","over_1d"],"description":"How long after the assessment's creation the change was made."},"count":{"type":"integer","minimum":1}}}},"uniqueKey":"","typeLabel":"Workspace assessment aggregate · object"},"examples":{"Example":{"title":"Example","value":{"schema_version":"1","from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z","bucket":"hour","group_by":["decision"],"metrics":["count"],"time_zone":"\u003cstring>","retention_days":365,"groups_truncated":true,"buckets":[{"start":"2023-11-07T05:31:56Z","count":1,"groups":[{"count":2,"decision":"allow","flow":"account_creation","recommendation":"allow","band":"low","list_match":"block","reason":"no_digital_footprint","impact":"none","lane":"accounts","country":"\u003cstring>","asn":2147483648}],"score_histogram":[{"flow":"account_creation","score_min":47,"score_max":52,"count":2}],"score_outcomes":[{"flow":"account_creation","score_min":47,"score_max":52,"outcome":"confirmed_abuse","count":2}],"late_flips":[{"from":"allow","to":"allow","delay":"under_10s","count":2}]}],"coverage":{"as_of":"2023-11-07T05:31:56Z","first_answers_started_at":"2023-11-07T05:31:56Z","score_outcomes_started_at":"2023-11-07T05:31:56Z","retained_from":"2023-11-07T05:31:56Z","population":"first_answers","erased_records_included":true,"overlapping_groups":true,"late_flip_unit":"decision_transitions","historical_backfill":false}}}},"exampleType":"generated"}},"exampleType":"generated"},"99c31e5d-3e0a-493b-9b41-76764d1a65b1":{"description":"The body does not match the aggregate request schema, or its time_zone is unknown, or its range is not bucket aligned in that zone, too long (over 92 days for day or week buckets in a time_zone other than UTC) or before the retention period, or it groups by two of reason, lane, country and asn, or it asks the default population for day or week buckets in a zone whose midnight falls inside an hour.","content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":400,"detail":"\u003cstring>","code":"invalid_request","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"exampleType":"generated"},"9446e572-0e8f-4a48-b59f-e97204fadd54":{"description":"No API key, or one that is malformed, unknown, revoked or expired.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"WWW-Authenticate":{"schema":{"type":"string","const":"Bearer realm=\"noresponse-assessments\""},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":401,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":401,"detail":"\u003cstring>","code":"unauthorized","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"311b44aa-9ecd-4f8b-9d53-d5392df6136e":{"description":"The API key is valid but may not use this operation: it lacks the operation's scope, or its workspace is not entitled or is suspended.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":403,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["workspace_forbidden"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"missingScope":{"title":"missingScope","value":{"type":"https://docs.noresponse.org/problems/workspace-forbidden","title":"Forbidden","status":403,"detail":"The API key does not carry a scope this operation accepts.","code":"workspace_forbidden","request_id":"0123456789abcdef0123456789abcdef"}}},"exampleType":"examples"}},"exampleType":"examples"},"f6e558a2-abc3-4aba-9d0d-e3c52eff01c5":{"description":"No unexpired assessment with this id for the calling workspace, or a malformed assessment_id.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["not_found"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":404,"detail":"\u003cstring>","code":"not_found","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"9f790c50-8db6-46b5-8cf5-3d96be000749":{"description":"The first-answer window includes erased contributions. Use retained_first_answers for an eligible retained window.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"}},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}}}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":409,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["aggregate_erased_data"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":409,"detail":"\u003cstring>","code":"aggregate_erased_data","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"8af30d11-0846-421a-8c94-ecca01392d4b":{"description":"The body exceeds 32768 bytes. Refused before parsing.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":413,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["payload_too_large"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":413,"detail":"\u003cstring>","code":"payload_too_large","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"a46c923c-45fa-4815-ace1-55f11d7e3b6c":{"description":"Content-Type is not application/json.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":415,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["unsupported_media_type"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":415,"detail":"\u003cstring>","code":"unsupported_media_type","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"bec389f1-9a47-4022-b220-d6f5a5176ae9":{"description":"The workspace's rate or concurrency limit is exhausted. Retry-After says when to retry; the provider applies its own fallback meanwhile.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"Retry-After":{"description":"Whole seconds to wait before polling or retrying. Required on 202, 429 and 503.","schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$","description":"Whole decimal seconds; wait at least this long."},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":429,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["rate_limited"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"limited":{"title":"limited","value":{"type":"https://docs.noresponse.org/problems/rate-limited","title":"Rate limited","status":429,"detail":"The tenant's assessment rate is exhausted; retry after the Retry-After interval.","code":"rate_limited","request_id":"0123456789abcdef0123456789abcdef"}}},"exampleType":"examples"}},"exampleType":"examples"},"10cda771-5c04-47c1-ad1b-c15351fbf2e8":{"description":"The assessment could not be admitted at all (overload, shutdown or a dependency down). An assessment that was admitted answers partial or pending instead of 503.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"Retry-After":{"description":"Whole seconds to wait before polling or retrying. Required on 202, 429 and 503.","schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$","description":"Whole decimal seconds; wait at least this long."},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":503,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["service_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":503,"detail":"\u003cstring>","code":"service_unavailable","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"88320056-a5ff-4ffc-8c5d-160b42d3700c":{"tenantBearer":{"type":"http","scheme":"bearer","description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","scopes":[],"schemeName":"tenantBearer"}}},"servers":{"18cd78c2-9cd8-4db8-8b92-63f5298dc2b9":{"url":"https://api.noresponse.org","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","scopes":[],"schemeName":"tenantBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"tenantBearer","name":"Authorization"}],"title":"tenantBearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"no-response","siteName":"NoResponse docs","title":"Count assessments by time, decision and reason - NoResponse docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-15T01:10:04.478Z","originalFileLocation":"api-reference/assess/count-assessments-by-time-decision-and-reason.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NoResponse docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Count assessments by time, decision and reason - NoResponse docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NoResponse docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://no-response.mintlify.site/_mintlify/api/og/v2?division=API+reference\u0026amp;title=Count+assessments+by+time%2C+decision+and+reason\u0026amp;description=Count+the+assessments+of+this+environment+created+in+%5Bfrom%2Cto%29%2C+by+hour%2C+day+or+week.+Each+assessment+counts+one+time%2C+by+its+first+answer.+Group+by+up+to+two+o\u0026amp;theme=5d641b211405822996c6177f\u0026amp;signature=a62c82008ab2db6e755932a8ff522d828078d878418129c1ef33767025366f93\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Count assessments by time, decision and reason - NoResponse docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://no-response.mintlify.site/_mintlify/api/og/v2?division=API+reference\u0026amp;title=Count+assessments+by+time%2C+decision+and+reason\u0026amp;description=Count+the+assessments+of+this+environment+created+in+%5Bfrom%2Cto%29%2C+by+hour%2C+day+or+week.+Each+assessment+counts+one+time%2C+by+its+first+answer.+Group+by+up+to+two+o\u0026amp;theme=5d641b211405822996c6177f\u0026amp;signature=a62c82008ab2db6e755932a8ff522d828078d878418129c1ef33767025366f93\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NoResponse docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c38d4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/assess/count-assessments-by-time-decision-and-reason.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.noresponse.org/#organization\",\"name\":\"NoResponse docs\",\"url\":\"https://docs.noresponse.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/light.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=71c49eae03789201280dc175d672a9af\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.noresponse.org#website\",\"name\":\"NoResponse docs\",\"url\":\"https://docs.noresponse.org\",\"publisher\":{\"@id\":\"https://docs.noresponse.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason#webpage\",\"url\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason\",\"name\":\"Count assessments by time, decision and reason\",\"description\":\"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\",\"dateModified\":\"2026-11-15T01:10:04.478Z\",\"isPartOf\":{\"@id\":\"https://docs.noresponse.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.noresponse.org/api-reference/assess/create-an-assessment\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Assessments\",\"item\":\"https://docs.noresponse.org/api-reference/assess/create-an-assessment\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Count assessments by time, decision and reason\",\"item\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason#apireference\",\"headline\":\"Count assessments by time, decision and reason\",\"name\":\"Count assessments by time, decision and reason\",\"description\":\"Count the assessments of this environment created in [from,to), by hour, day or week. Each assessment counts one time, by its first answer. Group by up to two of decision, flow, recommendation, band, reason, lane, country, ASN and list match, and add a score histogram for each flow and the account decisions that changed after the first answer. Reasons show their code and impact band only. The filters are the same as search: send them to search with revision first to find the assessments behind a count. This read does not require an idempotency key.\",\"url\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason\",\"mainEntityOfPage\":{\"@id\":\"https://docs.noresponse.org/api-reference/assess/count-assessments-by-time-decision-and-reason#webpage\"},\"dateModified\":\"2026-11-15T01:10:04.478Z\",\"publisher\":{\"@id\":\"https://docs.noresponse.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.noresponse.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NoResponse docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"NoResponse docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/assess/count-assessments-by-time-decision-and-reason.md","siteName":"NoResponse docs","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","icon":"square-terminal","groups":[{"group":"Overview","icon":"compass","pages":[{"title":"API reference","sidebarTitle":"Overview","icon":"square-terminal","href":"/api-reference"}]},{"group":"Using the API","icon":"book-marked","pages":[{"title":"Create an assessment","icon":"square-plus","href":"/reference/create-assessment"},{"title":"The assessment object","sidebarTitle":"Assessment object","icon":"file-search","href":"/reference/assessment"},{"title":"Reason codes","icon":"list-checks","href":"/reference/reason-codes"},{"title":"Get and query assessments","sidebarTitle":"Read assessments","icon":"search","href":"/reference/get-and-query"},{"title":"Accounts","icon":"user-round","href":"/reference/accounts"},{"title":"Feedback and investigations","href":"/reference/investigation"},{"title":"Reviews","href":"/reference/reviews"},{"title":"Assessment counts","href":"/reference/aggregates"},{"title":"Workspace settings","icon":"sliders-horizontal","href":"/reference/settings"},{"title":"Policy changes","icon":"history","href":"/reference/policy-changes"},{"title":"Allow and block lists","icon":"list-checks","href":"/reference/lists"},{"title":"Groups and screenings","icon":"users","href":"/reference/groups"},{"title":"Key usage batches","icon":"key-round","href":"/reference/key-usage"},{"title":"Team, audit log and usage","icon":"users","href":"/reference/team-and-audit"},{"title":"Data retention","icon":"archive","href":"/reference/data-retention"}]},{"group":"Endpoints","icon":"braces","pages":[{"group":"Assessments","pages":[{"title":"Create an assessment","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments","href":"/api-reference/assess/create-an-assessment"},{"title":"Retrieve an assessment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assessments/{assessment_id}","href":"/api-reference/assess/retrieve-an-assessment"},{"title":"Delete an assessment","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/assessments/{assessment_id}","href":"/api-reference/assess/delete-an-assessment"},{"title":"Report an outcome","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/{assessment_id}/outcomes","href":"/api-reference/assess/report-an-outcome"},{"title":"List an account's assessments","description":"Pages through the unexpired assessments for one of your accounts, newest first, each at its latest version.\n\nIt is a POST so that `account_id` stays out of URLs and access logs. It is read-only and safe to retry, and takes no `Idempotency-Key`. An account with no assessments answers 200 with empty `items`.\n\nPass `next_cursor` back unchanged to read the next page. A changed, foreign or expired cursor answers 400 `invalid_cursor`.\n\nRequires the `history` scope. `response_mode: \"detailed\"` also needs the `detailed` scope.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/query","href":"/api-reference/assess/list-an-accounts-assessments"},{"title":"Count assessments by time, decision and reason","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/aggregate","href":"/api-reference/assess/count-assessments-by-time-decision-and-reason"},{"title":"Search assessments across this environment","description":"Search retained assessments created in [from,to), over at most 366 days. Filters use each assessment decision, rather than the current account decision. Results can change between pages. Keep the assessment version to retrieve the exact decision later. This read does not require an idempotency key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/search","href":"/api-reference/assess/search-assessments-across-this-environment"},{"title":"Retrieve an exact assessment revision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assessments/{assessment_id}/versions/{version}","href":"/api-reference/assess/retrieve-an-exact-assessment-revision"},{"title":"Summarise retained request attempts","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/requests/aggregate","href":"/api-reference/assess/summarise-retained-request-attempts"},{"title":"Summarise retained webhook attempts and delivery queue","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/aggregate","href":"/api-reference/assess/summarise-retained-webhook-attempts-and-delivery-queue"}]},{"group":"Accounts","pages":[{"title":"List changed accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts","href":"/api-reference/accounts/list-changed-accounts"},{"title":"Retrieve an account","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}","href":"/api-reference/accounts/retrieve-an-account"},{"title":"Erase an account","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/accounts/{account_id}","href":"/api-reference/accounts/erase-an-account"},{"title":"List an account's assessments by URL","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/assessments","href":"/api-reference/accounts/list-an-accounts-assessments-by-url"},{"title":"List accounts that share a submitted identifier","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/links","href":"/api-reference/accounts/list-accounts-that-share-a-submitted-identifier"},{"title":"Page through account enforcements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/enforcements","href":"/api-reference/accounts/page-through-account-enforcements"},{"title":"Record an enforcement","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/enforcements","href":"/api-reference/accounts/record-an-enforcement"},{"title":"List retained account feedback","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/outcomes","href":"/api-reference/accounts/list-retained-account-feedback"},{"title":"Record or correct an account outcome","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/outcomes","href":"/api-reference/accounts/record-or-correct-an-account-outcome"},{"title":"Retrieve an exact historical account decision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/decisions/{risk_version}","href":"/api-reference/accounts/retrieve-an-exact-historical-account-decision"},{"title":"List issued credential associations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/credentials","href":"/api-reference/accounts/list-issued-credential-associations"},{"title":"Associate a customer-issued API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/credentials","href":"/api-reference/accounts/associate-a-customer-issued-api-key"},{"title":"Retire an issued credential association","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/accounts/{account_id}/credentials/{credential_id}","href":"/api-reference/accounts/retire-an-issued-credential-association"},{"title":"Bind a provisional signup account","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/{assessment_id}/bind","href":"/api-reference/accounts/bind-a-provisional-signup-account"},{"title":"Export an account","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/export","href":"/api-reference/accounts/export-an-account"},{"title":"Page through recorded account decisions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/decisions","href":"/api-reference/accounts/page-through-recorded-account-decisions"},{"title":"Read an erasure receipt","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/erasures/{erasure_id}","href":"/api-reference/accounts/read-an-erasure-receipt"},{"title":"Search distinct observed accounts by email or account ID","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/search","href":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id"}]},{"group":"Key usage","pages":[{"title":"Report key usage","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/usage","href":"/api-reference/usage/report-key-usage"}]},{"group":"API keys","pages":[{"title":"Rotate your API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/rotate","href":"/api-reference/keys/rotate-your-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/keys","href":"/api-reference/keys/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/keys","href":"/api-reference/keys/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/keys/{key_id}","href":"/api-reference/keys/revoke-an-api-key"}]},{"group":"Integrations","pages":[{"title":"List integrations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/integrations","href":"/api-reference/integrations/list-integrations"},{"title":"Register an integration","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations","href":"/api-reference/integrations/register-an-integration"},{"title":"Delete an integration","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/integrations/{integration_id}","href":"/api-reference/integrations/delete-an-integration"},{"title":"Rotate an integration's secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations/{integration_id}/rotate","href":"/api-reference/integrations/rotate-an-integrations-secret"}]},{"group":"Webhooks","pages":[{"title":"List your webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks","href":"/api-reference/webhooks/list-your-webhook-endpoints"},{"title":"Register a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks","href":"/api-reference/webhooks/register-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/{endpoint_id}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Rotate a webhook signing key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/rotate","href":"/api-reference/webhooks/rotate-a-webhook-signing-key"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/test","href":"/api-reference/webhooks/send-a-test-event"},{"title":"List delivery attempts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{endpoint_id}/deliveries","href":"/api-reference/webhooks/list-delivery-attempts"},{"title":"Replay a delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/deliveries/{event_id}/replay","href":"/api-reference/webhooks/replay-a-delivery"},{"title":"Assessment updated","version":null,"deprecated":null,"openapi":"/openapi.json webhook assessment.updated","href":"/api-reference/webhooks/assessment-updated"},{"title":"Endpoint verification","version":null,"deprecated":null,"openapi":"/openapi.json webhook endpoint.verification","href":"/api-reference/webhooks/endpoint-verification"},{"title":"Account erased","version":null,"deprecated":null,"openapi":"/openapi.json webhook account.deleted","href":"/api-reference/webhooks/account-erased"},{"title":"Workspace deleted","version":null,"deprecated":null,"openapi":"/openapi.json webhook workspace.deleted","href":"/api-reference/webhooks/workspace-deleted"},{"title":"Webhook endpoint disabled","version":null,"deprecated":null,"openapi":"/openapi.json webhook webhook_endpoint.disabled","href":"/api-reference/webhooks/webhook-endpoint-disabled"},{"title":"Account decision changed","version":null,"deprecated":null,"openapi":"/openapi.json webhook account.risk_changed","href":"/api-reference/webhooks/account-decision-changed"},{"title":"Audit event recorded","version":null,"deprecated":null,"openapi":"/openapi.json webhook audit.event","href":"/api-reference/webhooks/audit-event-recorded"},{"title":"Screening finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook screening.completed","href":"/api-reference/webhooks/screening-finished"},{"title":"Person flagged","version":null,"deprecated":null,"openapi":"/openapi.json webhook person.flagged","href":"/api-reference/webhooks/person-flagged"},{"title":"Person decided","version":null,"deprecated":null,"openapi":"/openapi.json webhook person.decided","href":"/api-reference/webhooks/person-decided"}]},{"group":"Workspaces","pages":[{"title":"List workspace members","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/members","href":"/api-reference/workspaces/list-workspace-members"},{"title":"Remove a member","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/members/{member_id}","href":"/api-reference/workspaces/remove-a-member"},{"title":"Change a member's access","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/members/{member_id}","href":"/api-reference/workspaces/change-a-members-access"},{"title":"List a workspace's audit log","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/audit","href":"/api-reference/workspaces/list-a-workspaces-audit-log"},{"title":"Read a workspace's usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/usage","href":"/api-reference/workspaces/read-a-workspaces-usage"},{"title":"List pending invitations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/invites","href":"/api-reference/workspaces/list-pending-invitations"},{"title":"Invite a member","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/invites","href":"/api-reference/workspaces/invite-a-member"},{"title":"Revoke an invitation","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/invites/{invite_id}","href":"/api-reference/workspaces/revoke-an-invitation"},{"title":"List export jobs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports","href":"/api-reference/workspaces/list-export-jobs"},{"title":"Start an account or audit export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports","href":"/api-reference/workspaces/start-an-account-or-audit-export"},{"title":"Read export status and progress","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports/{export_id}","href":"/api-reference/workspaces/read-export-status-and-progress"},{"title":"Cancel an export and delete its artifact","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports/{export_id}/cancel","href":"/api-reference/workspaces/cancel-an-export-and-delete-its-artifact"},{"title":"Retry a failed export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports/{export_id}/retry","href":"/api-reference/workspaces/retry-a-failed-export"},{"title":"Download an export chunk","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports/{export_id}/chunks/{chunk_index}","href":"/api-reference/workspaces/download-an-export-chunk"},{"title":"Read audit retention","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/retention/{environment}","href":"/api-reference/workspaces/read-audit-retention"},{"title":"Change audit retention","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/retention/{environment}","href":"/api-reference/workspaces/change-audit-retention"},{"title":"List audit streams","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/streams/{environment}","href":"/api-reference/workspaces/list-audit-streams"},{"title":"Configure an audit stream","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/streams/{environment}","href":"/api-reference/workspaces/configure-an-audit-stream"},{"title":"Stop an audit stream","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/streams/{environment}/{endpoint_id}","href":"/api-reference/workspaces/stop-an-audit-stream"},{"title":"Replay a retained audit delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/streams/{environment}/{endpoint_id}/replay","href":"/api-reference/workspaces/replay-a-retained-audit-delivery"},{"title":"Reissue an invitation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/invites/{invite_id}/resend","href":"/api-reference/workspaces/reissue-an-invitation"},{"title":"Summarize outcomes, enforcements and reviews","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/operations/summary","href":"/api-reference/workspaces/summarize-outcomes-enforcements-and-reviews"}]},{"group":"Settings","pages":[{"title":"Get your settings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/settings/{environment}","href":"/api-reference/settings/get-your-settings"},{"title":"Change your settings","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/settings/{environment}","href":"/api-reference/settings/change-your-settings"},{"title":"Read immutable configuration versions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/settings/{environment}/history","href":"/api-reference/settings/read-immutable-configuration-versions"},{"title":"Restore captured settings as a new guarded version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/settings/{environment}/restore","href":"/api-reference/settings/restore-captured-settings-as-a-new-guarded-version"},{"title":"Preview exact retained-score threshold transitions without side effects","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/settings/{environment}/preview","href":"/api-reference/settings/preview-exact-retained-score-threshold-transitions-without-side-effects"},{"title":"List policy evaluations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}","href":"/api-reference/settings/list-policy-evaluations"},{"title":"Start a policy evaluation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}","href":"/api-reference/settings/start-a-policy-evaluation"},{"title":"Read policy evaluation status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}","href":"/api-reference/settings/read-policy-evaluation-status"},{"title":"Read a policy evaluation report","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/result","href":"/api-reference/settings/read-a-policy-evaluation-report"},{"title":"Cancel a policy evaluation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/cancel","href":"/api-reference/settings/cancel-a-policy-evaluation"},{"title":"Publish a reviewed policy proposal","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/publish","href":"/api-reference/settings/publish-a-reviewed-policy-proposal"}]},{"group":"Request diagnostics","pages":[{"title":"Search request diagnostics","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/requests","href":"/api-reference/requests/search-request-diagnostics"}]},{"group":"Lists","pages":[{"title":"List your list entries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/lists/{environment}","href":"/api-reference/lists/list-your-list-entries"},{"title":"Add a list entry","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}","href":"/api-reference/lists/add-a-list-entry"},{"title":"Delete a list entry","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/lists/{environment}/{list_entry_id}","href":"/api-reference/lists/delete-a-list-entry"},{"title":"Preview a list override change without side effects","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}/preview","href":"/api-reference/lists/preview-a-list-override-change-without-side-effects"},{"title":"Apply an idempotent atomic bulk list change","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}/bulk","href":"/api-reference/lists/apply-an-idempotent-atomic-bulk-list-change"},{"title":"Read a bulk list change and propagation progress","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/changes/{environment}/{change_id}","href":"/api-reference/lists/read-a-bulk-list-change-and-propagation-progress"}]},{"group":"Reviews","pages":[{"title":"List retained account reviews","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}","href":"/api-reference/reviews/list-retained-account-reviews"},{"title":"Open a review for a retained account","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}","href":"/api-reference/reviews/open-a-review-for-a-retained-account"},{"title":"Read an account review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}","href":"/api-reference/reviews/read-an-account-review"},{"title":"Assign, prioritize or reopen a guarded review","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}","href":"/api-reference/reviews/assign-prioritize-or-reopen-a-guarded-review"},{"title":"Resolve a review against an exact account risk version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/resolve","href":"/api-reference/reviews/resolve-a-review-against-an-exact-account-risk-version"},{"title":"Read retained review comments","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/comments","href":"/api-reference/reviews/read-retained-review-comments"},{"title":"Append a comment against the current review version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/comments","href":"/api-reference/reviews/append-a-comment-against-the-current-review-version"},{"title":"Read immutable review resolution history","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/resolutions","href":"/api-reference/reviews/read-immutable-review-resolution-history"},{"title":"List your private and shared review filters","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/views/{environment}","href":"/api-reference/reviews/list-your-private-and-shared-review-filters"},{"title":"Save a tenant-local review filter","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/views/{environment}","href":"/api-reference/reviews/save-a-tenant-local-review-filter"},{"title":"Delete your saved filter with optimistic concurrency","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/views/{environment}/{view_id}","href":"/api-reference/reviews/delete-your-saved-filter-with-optimistic-concurrency"},{"title":"Replace your saved filter with optimistic concurrency","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/views/{environment}/{view_id}","href":"/api-reference/reviews/replace-your-saved-filter-with-optimistic-concurrency"},{"title":"Export an account review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/export","href":"/api-reference/reviews/export-an-account-review"},{"title":"List evidence linked to a review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects","href":"/api-reference/reviews/list-evidence-linked-to-a-review"},{"title":"Link evidence to a review","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects","href":"/api-reference/reviews/link-evidence-to-a-review"},{"title":"Delete a review evidence link","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects/{subject_id}","href":"/api-reference/reviews/delete-a-review-evidence-link"},{"title":"Query retained account reviews","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/query","href":"/api-reference/reviews/query-retained-account-reviews"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}","href":"/api-reference/groups/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}","href":"/api-reference/groups/create-a-group"},{"title":"Read a group","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/read-a-group"},{"title":"Delete a group","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/delete-a-group"},{"title":"Change a group","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/change-a-group"},{"title":"List people","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people","href":"/api-reference/groups/list-people"},{"title":"Add people","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people","href":"/api-reference/groups/add-people"},{"title":"Read a person","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}","href":"/api-reference/groups/read-a-person"},{"title":"Record a decision","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/review","href":"/api-reference/groups/record-a-decision"},{"title":"Join or reject a record","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/records","href":"/api-reference/groups/join-or-reject-a-record"},{"title":"Search again on a value","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/searches","href":"/api-reference/groups/search-again-on-a-value"},{"title":"Run a counted search","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/searches/{search_id}/run","href":"/api-reference/groups/run-a-counted-search"},{"title":"List screenings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings","href":"/api-reference/groups/list-screenings"},{"title":"Start a screening","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings","href":"/api-reference/groups/start-a-screening"},{"title":"Read a screening","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings/{screening_id}","href":"/api-reference/groups/read-a-screening"},{"title":"Cancel a screening","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings/{screening_id}/cancel","href":"/api-reference/groups/cancel-a-screening"}]}]},{"group":"Errors","icon":"triangle-alert","pages":[{"title":"Errors and limits","icon":"triangle-alert","href":"/reference/errors"},{"group":"Problem types","expanded":false,"pages":[{"title":"400 invalid_request","sidebarTitle":"invalid_request","href":"/problems/invalid-request"},{"title":"400 invalid_idempotency_key","sidebarTitle":"invalid_idempotency_key","href":"/problems/invalid-idempotency-key"},{"title":"400 invalid_cursor","sidebarTitle":"invalid_cursor","href":"/problems/invalid-cursor"},{"title":"401 unauthorized","sidebarTitle":"unauthorized","href":"/problems/unauthorized"},{"title":"403 workspace_forbidden","sidebarTitle":"workspace_forbidden","href":"/problems/workspace-forbidden"},{"title":"404 not_found","sidebarTitle":"not_found","href":"/problems/not-found"},{"title":"409 outcome_conflict","sidebarTitle":"outcome_conflict","href":"/problems/outcome-conflict"},{"title":"405 method_not_allowed","sidebarTitle":"method_not_allowed","href":"/problems/method-not-allowed"},{"title":"409 idempotency_key_reused","sidebarTitle":"idempotency_key_reused","href":"/problems/idempotency-key-reused"},{"title":"409 key_rotation_in_progress","sidebarTitle":"key_rotation_in_progress","href":"/problems/key-rotation-in-progress"},{"title":"403 role_forbidden","sidebarTitle":"role_forbidden","href":"/problems/role-forbidden"},{"title":"403 email_unverified","sidebarTitle":"email_unverified","href":"/problems/email-unverified"},{"title":"403 onboarding_in_review","sidebarTitle":"onboarding_in_review","href":"/problems/onboarding-in-review"},{"title":"403 onboarding_refused","sidebarTitle":"onboarding_refused","href":"/problems/onboarding-refused"},{"title":"409 key_limit_reached","sidebarTitle":"key_limit_reached","href":"/problems/key-limit-reached"},{"title":"409 self_revocation","sidebarTitle":"self_revocation","href":"/problems/self-revocation"},{"title":"409 list_entry_exists","sidebarTitle":"list_entry_exists","href":"/problems/list-entry-exists"},{"title":"409 list_limit_reached","sidebarTitle":"list_limit_reached","href":"/problems/list-limit-reached"},{"title":"409 list_entry_too_broad","sidebarTitle":"list_entry_too_broad","href":"/problems/list-entry-too-broad"},{"title":"400 webhook_url_refused","sidebarTitle":"webhook_url_refused","href":"/problems/webhook-url-refused"},{"title":"409 webhook_endpoint_limit_reached","sidebarTitle":"webhook_endpoint_limit_reached","href":"/problems/webhook-endpoint-limit-reached"},{"title":"409 webhook_endpoint_unverified","sidebarTitle":"webhook_endpoint_unverified","href":"/problems/webhook-endpoint-unverified"},{"title":"409 too_many_integrations","sidebarTitle":"too_many_integrations","href":"/problems/too-many-integrations"},{"title":"409 risk_version_ahead","sidebarTitle":"risk_version_ahead","href":"/problems/risk-version-ahead"},{"title":"401 invalid_hook_signature","sidebarTitle":"invalid_hook_signature","href":"/problems/invalid-hook-signature"},{"title":"413 payload_too_large","sidebarTitle":"payload_too_large","href":"/problems/payload-too-large"},{"title":"415 unsupported_media_type","sidebarTitle":"unsupported_media_type","href":"/problems/unsupported-media-type"},{"title":"429 rate_limited","sidebarTitle":"rate_limited","href":"/problems/rate-limited"},{"title":"429 lookup_limit_reached","sidebarTitle":"lookup_limit_reached","href":"/problems/lookup-limit-reached"},{"title":"500 internal_error","sidebarTitle":"internal_error","href":"/problems/internal-error"},{"title":"503 service_unavailable","sidebarTitle":"service_unavailable","href":"/problems/service-unavailable"},{"title":"409 binding_conflict","sidebarTitle":"binding_conflict","href":"/problems/binding-conflict"},{"title":"409 credential_conflict","sidebarTitle":"credential_conflict","href":"/problems/credential-conflict"},{"title":"413 export_too_large","sidebarTitle":"export_too_large","href":"/problems/export-too-large"},{"title":"409 aggregate_erased_data","sidebarTitle":"aggregate_erased_data","href":"/problems/aggregate-erased-data"},{"title":"429 assessment_budget_exhausted","sidebarTitle":"assessment_budget_exhausted","href":"/problems/assessment-budget-exhausted"},{"title":"409 export_conflict","sidebarTitle":"export_conflict","href":"/problems/export-conflict"},{"title":"429 export_limit_reached","sidebarTitle":"export_limit_reached","href":"/problems/export-limit-reached"},{"title":"409 evaluation_conflict","sidebarTitle":"evaluation_conflict","href":"/problems/evaluation-conflict"},{"title":"409 evaluation_no_proposal","sidebarTitle":"evaluation_no_proposal","href":"/problems/evaluation-no-proposal"},{"title":"409 evaluation_limit_reached","sidebarTitle":"evaluation_limit_reached","href":"/problems/evaluation-limit-reached"},{"title":"413 evaluation_evidence_limit","sidebarTitle":"evaluation_evidence_limit","href":"/problems/evaluation-evidence-limit"},{"title":"409 group_conflict","sidebarTitle":"group_conflict","href":"/problems/group-conflict"},{"title":"409 group_limit_reached","sidebarTitle":"group_limit_reached","href":"/problems/group-limit-reached"},{"title":"409 screening_cap_exceeded","sidebarTitle":"screening_cap_exceeded","href":"/problems/screening-cap-exceeded"},{"title":"409 screening_unavailable","sidebarTitle":"screening_unavailable","href":"/problems/screening-unavailable"},{"title":"409 policy_version_conflict","sidebarTitle":"policy_version_conflict","href":"/problems/policy-version-conflict"},{"title":"409 review_version_conflict","sidebarTitle":"review_version_conflict","href":"/problems/review-version-conflict"},{"title":"409 review_exists","sidebarTitle":"review_exists","href":"/problems/review-exists"},{"title":"409 review_limit_reached","sidebarTitle":"review_limit_reached","href":"/problems/review-limit-reached"},{"title":"413 review_export_too_large","sidebarTitle":"review_export_too_large","href":"/problems/review-export-too-large"},{"title":"409 already_member","sidebarTitle":"already_member","href":"/problems/already-member"},{"title":"409 member_limit_reached","sidebarTitle":"member_limit_reached","href":"/problems/member-limit-reached"},{"title":"409 owner_invite_pending","sidebarTitle":"owner_invite_pending","href":"/problems/owner-invite-pending"}]}]}]}]},"basePath":"","title":"Count assessments by time, decision and reason - NoResponse docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}