create_scoring_model
POST /v1/scoring_models creates a scoring model from its criteria or from labeled examples, and returns its model_id and a job to wait for.
Up to 100 new scoring models per organization per day. Created from labeled examples, a scoring model is calibrated from the start; created from its criteria alone, it scores with estimated weights until you calibrate it. See Creating a scoring model. To add questions of your own, send add_questions (Changing questions).
Creates a scoring model and returns 202 at once with its model_id and a job_id. Wait for the job, then score records. Create it from:
- Its
nameandcriteriaalone. Finic writes its questions from the criteria and estimates how much each one counts. It's ready in less than a minute and scores any record; calibrate it later with labeled examples or outcomes to fit it to your data. - Labeled examples in
data: past records whose outcomes you know. It's calibrated to them from the start, in about two minutes. For what to send, see Example data.
To try it here, open the playground and pick the 300 sample payments example: they're synthetic card payments in the same shape as the score example (also as sample-payments.csv). A scoring model built on sample data is only for trying Finic out.
Request body
multipart/form-data or application/json
| Field | Type | Description |
|---|---|---|
data | array of object or string | Optional. The examples: a JSON array of objects, or CSV text with a header row. Every row needs |
namerequired | string | Required. A few words for people to recognize the scoring model by, such as "Card-not-present payment fraud". |
criteria | string | What the decision is and what a bad outcome ( |
add_questions | array of string | Optional. Your own yes/no questions about a record, used alongside Finic's, such as "Was the account opened less than a week before the payment?". Created from examples, the scoring model uses the ones that help, and the others are listed as not used on its page in the Finic Portal; created from criteria alone, it uses them all, with weights Finic estimates. Up to 20 at a time, and 50 per scoring model. |
| Field | Type | Description |
|---|---|---|
file | string | Optional. The examples, as CSV with a header row or a JSON array, every row with |
namerequired | string | Required. A few words for people to recognize the scoring model by, such as "Card-not-present payment fraud". |
criteria | string | What the decision is and what a bad outcome ( |
add_questions | string | Optional. Your own questions, one per field (repeat it), or as a JSON array of strings. See |
Responses
The scoring model is being created.
| Field | Type | Description |
|---|---|---|
model_id | string | The scoring model's id, |
job_id | string | The job creating it, |
request_id | string |
|
| Status | Type and when |
|---|---|
400 |
|
401 |
|
413 |
|
429 |
|
503 |
|
Every error has the same shape; see Errors.
Examples
curl -X POST 'https://api.finic.ai/v1/scoring_models' \ -H "Authorization: Bearer $FINIC_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "name": "Card-not-present payment fraud", "criteria": "Card-not-present payments at an online store. Bad: the payment was charged back as fraud within 90 days."}'{ "model_id": "scm_01M4XRC000RT2GZSKYPD8J86G9", "job_id": "job_01M4XZXNCRZBPXV30MSF7RN5H3", "request_id": "req_01M4Y7FASG9DB7MMWCS672J0JD"}