Reputation
GET/api/v1/reputation/affinity/{domain}/{entity_kind}/{entity_id}/edges
Authorization
bearer_token In: header
Path Parameters
Query Parameters
Whether to rank by strongest positive or strongest negative edges.
Value in
- "positive"
- "negative"
Maximum number of edges to return.
int640 <= valueNumber of leading edges to skip.
int640 <= valueResponse Body
application/json
curl -X GET "https://example.com/api/v1/reputation/affinity/string/string/string/edges"{ "count": 0, "edges": [ { "domain": "string", "from": { "id": "string", "kind": "auth_user" }, "last_update": "2019-08-24T14:15:22Z", "last_update_ts": 0, "nemesis": null, "score": 0.1, "state": "string", "state_history": [ { "entered_at": "2019-08-24T14:15:22Z", "state": "string" } ], "to": { "id": "string", "kind": "auth_user" }, "updated_at": "2019-08-24T14:15:22Z" } ]}GET/api/v1/reputation/affinity/{domain}/{from_kind}/{from_id}/{to_kind}/{to_id}
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/v1/reputation/affinity/string/string/string/string/string"{ "edge": { "domain": "string", "from": { "id": "string", "kind": "auth_user" }, "last_update": "2019-08-24T14:15:22Z", "last_update_ts": 0, "nemesis": null, "score": 0.1, "state": "string", "state_history": [ { "entered_at": "2019-08-24T14:15:22Z", "state": "string" } ], "to": { "id": "string", "kind": "auth_user" }, "updated_at": "2019-08-24T14:15:22Z" }}GET/api/v1/reputation/nemesis/{domain}/{entity_kind}/{entity_id}
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/v1/reputation/nemesis/string/string/string"{ "count": 0, "nemeses": [ { "edge": { "domain": "string", "from": { "id": "string", "kind": "auth_user" }, "last_update": "2019-08-24T14:15:22Z", "last_update_ts": 0, "nemesis": null, "score": 0.1, "state": "string", "state_history": [ { "entered_at": "2019-08-24T14:15:22Z", "state": "string" } ], "to": { "id": "string", "kind": "auth_user" }, "updated_at": "2019-08-24T14:15:22Z" }, "level": 0 } ]}GET/api/v1/reputation/scores/{domain}/leaderboard
Authorization
bearer_token In: header
Path Parameters
Query Parameters
Optional tier filter (only entities currently in this tier).
Maximum number of ranked entries to return.
int640 <= valueResponse Body
application/json
curl -X GET "https://example.com/api/v1/reputation/scores/string/leaderboard"{ "domain": "string", "entries": [ { "entity_id": "string", "entity_kind": "string", "rank": 0, "score": 0.1, "tier": "string" } ]}GET/api/v1/reputation/scores/{domain}/{entity_kind}/{entity_id}
Authorization
bearer_token In: header
Path Parameters
Query Parameters
Optional historical timestamp; the score is recomputed as of this time.
date-timeResponse Body
application/json
curl -X GET "https://example.com/api/v1/reputation/scores/string/string/string"{ "score": { "decay_half_life_days": 0.1, "domain": "string", "entity": { "id": "string", "kind": "auth_user" }, "flags": [ "string" ], "last_update": "2019-08-24T14:15:22Z", "last_update_ts": 0, "rating_count": 0, "raw_score": 0.1, "score": 0.1, "tier": "string", "tier_entered_at": "2019-08-24T14:15:22Z", "tier_entered_ts": 0, "unique_raters": 0, "updated_at": "2019-08-24T14:15:22Z" }}GET/api/v1/reputation/{domain}/config
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/v1/reputation/string/config"{ "config": { "affinity": { "decay_toward_neutral_half_life_days": 0.1, "event_deltas": { "property1": 0.1, "property2": 0.1 }, "neutral_point": 0.1, "states": [ { "max": 0.1, "name": "string", "nemesis_suite": true } ] }, "created_at": "2019-08-24T14:15:22Z", "domain": "string", "reputation": { "decay_half_life_days": 0.1, "gain_multiplier": 0.1, "loss_multiplier": 0.1, "min_rater_account_age_days": 0, "repeat_rater_falloff": 0.1, "source_weighting": "string", "tiers": [ { "min": 0.1, "name": "string" } ], "velocity_cap": { "max_events_per_rater_per_day": 0 } }, "updated_at": "2019-08-24T14:15:22Z" }}PUT/api/v1/reputation/{domain}/config
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Upsert the per-domain scoring configuration.
Response Body
application/json
curl -X PUT "https://example.com/api/v1/reputation/string/config" \ -H "Content-Type: application/json" \ -d '{ "affinity": { "decay_toward_neutral_half_life_days": 0.1, "event_deltas": { "property1": 0.1, "property2": 0.1 }, "neutral_point": 0.1, "states": [ { "max": 0.1, "name": "string" } ] }, "reputation": { "decay_half_life_days": 0.1, "gain_multiplier": 0.1, "loss_multiplier": 0.1, "min_rater_account_age_days": 0, "repeat_rater_falloff": 0.1, "tiers": [ { "min": 0.1, "name": "string" } ], "velocity_cap": { "max_events_per_rater_per_day": 0 } } }'{ "config": { "affinity": { "decay_toward_neutral_half_life_days": 0.1, "event_deltas": { "property1": 0.1, "property2": 0.1 }, "neutral_point": 0.1, "states": [ { "max": 0.1, "name": "string", "nemesis_suite": true } ] }, "created_at": "2019-08-24T14:15:22Z", "domain": "string", "reputation": { "decay_half_life_days": 0.1, "gain_multiplier": 0.1, "loss_multiplier": 0.1, "min_rater_account_age_days": 0, "repeat_rater_falloff": 0.1, "source_weighting": "string", "tiers": [ { "min": 0.1, "name": "string" } ], "velocity_cap": { "max_events_per_rater_per_day": 0 } }, "updated_at": "2019-08-24T14:15:22Z" }}POST/api/v1/reputation/{domain}/events
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A single interaction event to ingest into both projections.
Response Body
application/json
curl -X POST "https://example.com/api/v1/reputation/string/events" \ -H "Content-Type: application/json" \ -d '{ "actor": { "id": "string", "kind": "auth_user" }, "event_type": "string", "target": { "id": "string", "kind": "auth_user" } }'{ "accepted": true, "applied_weight": 0.1, "integrity": { "damped": true, "damping_factor": 0.1, "quarantined": true, "reasons": [ "string" ], "review_ticket": "string" }, "new_reputation_score": 0.1, "relationship_transition": null, "reputation_delta": 0.1, "tier_transition": null}POST/api/v1/reputation/{domain}/events/batch
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A batch of interaction events to ingest atomically per event.
Response Body
application/json
curl -X POST "https://example.com/api/v1/reputation/string/events/batch" \ -H "Content-Type: application/json" \ -d '{ "events": [ { "actor": { "id": "string", "kind": "auth_user" }, "event_type": "string", "target": { "id": "string", "kind": "auth_user" } } ] }'{ "accepted": 0, "results": [ { "accepted": true, "applied_weight": 0.1, "integrity": { "damped": true, "damping_factor": 0.1, "quarantined": true, "reasons": [ "string" ], "review_ticket": "string" }, "new_reputation_score": 0.1, "relationship_transition": null, "reputation_delta": 0.1, "tier_transition": null } ]}POST/api/v1/reputation/{domain}/nemesis/resolve
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Resolve and retire an active nemesis block.
Response Body
application/json
curl -X POST "https://example.com/api/v1/reputation/string/nemesis/resolve" \ -H "Content-Type: application/json" \ -d '{ "from": { "id": "string", "kind": "auth_user" }, "outcome": "nemesis_defeated_final", "to": { "id": "string", "kind": "auth_user" } }'{ "edge": { "domain": "string", "from": { "id": "string", "kind": "auth_user" }, "last_update": "2019-08-24T14:15:22Z", "last_update_ts": 0, "nemesis": null, "score": 0.1, "state": "string", "state_history": [ { "entered_at": "2019-08-24T14:15:22Z", "state": "string" } ], "to": { "id": "string", "kind": "auth_user" }, "updated_at": "2019-08-24T14:15:22Z" }, "message": "string"}PUT/api/v1/reputation/{domain}/preferences/{entity_kind}/{entity_id}
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Upsert an entity's preference profile.
Response Body
application/json
curl -X PUT "https://example.com/api/v1/reputation/string/preferences/string/string" \ -H "Content-Type: application/json" \ -d '{ "preferences": [ { "delta_multiplier": 0.1, "event_type": "string" } ] }'{ "profile": { "domain": "string", "entity": { "id": "string", "kind": "auth_user" }, "preferences": [ { "delta_multiplier": 0.1, "event_type": "string", "metadata_key": "string", "metadata_value": "string" } ], "updated_at": "2019-08-24T14:15:22Z" }}GET/api/v1/reputation/{domain}/quarantine/{entity_kind}/{entity_id}
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/v1/reputation/string/quarantine/string/string"{ "status": { "domain": "string", "entity": { "id": "string", "kind": "auth_user" }, "quarantined": true, "review_ticket": "string" }}