blob: e28c543c9ff4975d5949af506890c3c6eb767963 [file] [log] [blame]
openapi: 3.0.3
info:
title: Fineract Credit Scorecard
version: 0.1.0-SNAPSHOT
description: An API module for credit risk assessment
license:
name: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
paths:
/api/v1/algorithms:
get:
operationId: algorithms_list
description: ''
tags:
- algorithms
security:
- {}
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Algorithm'
description: ''
post:
operationId: algorithms_create
description: ''
tags:
- algorithms
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Algorithm'
multipart/form-data:
schema:
$ref: '#/components/schemas/Algorithm'
required: true
security:
- {}
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
description: ''
/api/v1/algorithms/{id}:
get:
operationId: algorithms_retrieve
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this algorithm.
required: true
tags:
- algorithms
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
description: ''
put:
operationId: algorithms_update
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this algorithm.
required: true
tags:
- algorithms
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Algorithm'
multipart/form-data:
schema:
$ref: '#/components/schemas/Algorithm'
required: true
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
description: ''
patch:
operationId: algorithms_partial_update
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this algorithm.
required: true
tags:
- algorithms
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Algorithm'
multipart/form-data:
schema:
$ref: '#/components/schemas/Algorithm'
required: true
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Algorithm'
description: ''
delete:
operationId: algorithms_destroy
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this algorithm.
required: true
tags:
- algorithms
security:
- {}
responses:
'204':
description: No response body
/api/v1/algorithms/predict:
post:
operationId: algorithms_predict
description: Predict credit risk for a loan
parameters:
- in: query
name: classifier
schema:
type: string
description: The algorithm/classifier to use
required: true
examples:
Example1:
value: RandomForestClassifier
summary: Example 1
- in: query
name: dataset
schema:
type: string
description: The name of the dataset
examples:
Example1:
value: german
summary: Example 1
- in: query
name: status
schema:
type: string
description: The status of the algorithm
deprecated: true
examples:
Example1:
value: production
summary: Example 1
- in: query
name: version
schema:
type: string
default: 0.0.1
description: Algorithm version
required: true
examples:
Example1:
value: 0.0.1
summary: Example 1
tags:
- algorithms
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: {}
description: Unspecified request body
application/x-www-form-urlencoded:
schema:
type: object
additionalProperties: {}
description: Unspecified request body
multipart/form-data:
schema:
type: object
additionalProperties: {}
description: Unspecified request body
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionResponse'
description: ''
/api/v1/datasets:
get:
operationId: datasets_list
description: ''
tags:
- datasets
security:
- {}
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Dataset'
description: ''
/api/v1/datasets/{id}:
get:
operationId: datasets_retrieve
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this dataset.
required: true
tags:
- datasets
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: ''
/api/v1/requests:
get:
operationId: requests_list
description: ''
tags:
- requests
security:
- {}
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PredictionRequest'
description: ''
post:
operationId: requests_create
description: ''
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PredictionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PredictionRequest'
required: true
security:
- {}
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
description: ''
/api/v1/requests/{id}:
get:
operationId: requests_retrieve
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this prediction request.
required: true
tags:
- requests
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
description: ''
put:
operationId: requests_update
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this prediction request.
required: true
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PredictionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PredictionRequest'
required: true
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
description: ''
patch:
operationId: requests_partial_update
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this prediction request.
required: true
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PredictionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PredictionRequest'
required: true
security:
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionRequest'
description: ''
delete:
operationId: requests_destroy
description: ''
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this prediction request.
required: true
tags:
- requests
security:
- {}
responses:
'204':
description: No response body
components:
schemas:
Algorithm:
type: object
properties:
id:
type: integer
readOnly: true
classifier:
type: string
maxLength: 128
description:
type: string
nullable: true
version:
type: string
maxLength: 128
status:
type: string
maxLength: 128
created_at:
type: string
format: date-time
readOnly: true
created_by:
type: string
maxLength: 128
dataset:
type: string
nullable: true
required:
- classifier
- created_at
- created_by
- id
- status
- version
Dataset:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 128
region:
type: string
maxLength: 128
required:
- id
- name
- region
PredictionRequest:
type: object
properties:
id:
type: integer
readOnly: true
input:
type: object
additionalProperties: {}
response:
type: object
additionalProperties: {}
prediction:
type: string
maxLength: 128
feedback:
type: string
nullable: true
maxLength: 128
notes:
type: string
nullable: true
created_at:
type: string
format: date-time
readOnly: true
created_by:
type: string
maxLength: 128
algorithm:
type: integer
required:
- created_at
- created_by
- id
- input
- prediction
- response
PredictionResponse:
type: object
properties:
probability:
type: number
format: float
label:
type: string
method:
type: string
color:
type: string
wilkis_lambda:
type: number
format: float
pillais_trace:
type: number
format: float
hotelling_tawley:
type: number
format: float
roys_reatest_roots:
type: number
format: float
request_id:
type: integer
required:
- color
- hotelling_tawley
- label
- method
- pillais_trace
- probability
- request_id
- roys_reatest_roots
- wilkis_lambda
servers:
- url: http://127.0.0.1:8000
description: server on localhost