NAV Navbar
Symmetrical
Shell HTTP JavaScript Node.JS Ruby Python Java Go

sym-poc API v1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Authentication

v1

v1_auction_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/auction/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/auction/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auction/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auction/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/auction/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/auction/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auction/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/auction/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/auction/

Parameters

Name In Type Required Description
ordering query string false Which field to use when ordering the results.
order query string false none
status query string false none
product query number false none

Example responses

200 Response

{
  "type": "array",
  "items": {
    "required": [
      "id",
      "auction_end"
    ],
    "type": "object",
    "properties": {
      "id": {
        "title": "Id",
        "type": "string",
        "format": "uuid"
      },
      "order": {
        "title": "Order",
        "required": [
          "id",
          "notional"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "title": "Name",
            "type": "string",
            "maxLength": 64,
            "nullable": true
          },
          "payout_date": {
            "title": "Payout date",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "product": {
            "title": "Product",
            "required": [
              "risk_attributes",
              "name",
              "description",
              "category"
            ],
            "type": "object",
            "properties": {
              "id": {
                "title": "ID",
                "type": "integer",
                "readOnly": true
              },
              "risk_attributes": {
                "title": "Risk attributes",
                "description": "It has to be JSON according to the following schema: {\"type\": \"array\", \"items\": {\"type\": \"object\", \"properties\": {\"key\": {\"type\": \"string\"}, \"mandatory\": {\"type\": \"boolean\"}, \"type\": {\"enum\": [\"number\", \"string\", \"array\"]}, \"array_for_select\": {\"type\": \"array\"}, \"personal\": {\"type\": \"boolean\"}, \"source\": {\"enum\": [\"DSP\", \"customer\"]}, \"label\": {\"type\": \"string\"}}, \"if\": {\"properties\": {\"type\": {\"enum\": [\"array\"]}}}, \"then\": {\"required\": [\"key\", \"mandatory\", \"type\", \"array_for_select\", \"personal\", \"source\", \"label\"], \"properties\": {\"array_for_select\": {\"type\": \"array\", \"minItems\": 1}}}, \"else\": {\"required\": [\"key\", \"mandatory\", \"type\", \"personal\", \"source\", \"label\"]}}}",
                "type": "string",
                "minLength": 1
              },
              "cash_flow_schedule": {
                "title": "Cash flow schedule",
                "type": "string",
                "nullable": true
              },
              "events_of_default": {
                "title": "Events of default",
                "type": "string",
                "nullable": true
              },
              "name": {
                "title": "Name",
                "type": "string",
                "maxLength": 45,
                "minLength": 1
              },
              "description": {
                "title": "Description",
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              "duration_default": {
                "title": "Duration default",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "duration_min": {
                "title": "Duration min",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "duration_max": {
                "title": "Duration max",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "category": {
                "title": "Category",
                "type": "string",
                "minLength": 1
              },
              "auction_duration": {
                "title": "Auction duration",
                "type": "number"
              },
              "currency": {
                "title": "Currency",
                "type": "string",
                "readOnly": true
              }
            }
          },
          "created": {
            "title": "Created",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "status": {
            "title": "Status",
            "type": "string",
            "readOnly": true
          },
          "notional": {
            "title": "Notional",
            "type": "string",
            "format": "decimal"
          },
          "auction_id": {
            "title": "Auction id",
            "type": "string",
            "readOnly": true
          },
          "duration": {
            "title": "Duration",
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "bank_account": {
            "title": "Bank account",
            "type": "string",
            "maxLength": 34,
            "minLength": 1,
            "nullable": true
          }
        }
      },
      "auction_end": {
        "title": "Auction end",
        "type": "string",
        "format": "date-time"
      },
      "created": {
        "title": "Created",
        "type": "string",
        "format": "date-time",
        "readOnly": true
      },
      "dsp_confirmation": {
        "title": "Dsp confirmation",
        "type": "string",
        "format": "date-time",
        "nullable": true
      },
      "status": {
        "title": "Status",
        "type": "string",
        "readOnly": true
      },
      "price": {
        "title": "Price",
        "type": "string",
        "readOnly": true
      },
      "winning_offer": {
        "title": "Winning offer",
        "type": "string",
        "format": "uuid",
        "readOnly": true
      },
      "customer_risk_attributes": {
        "title": "Customer risk attributes",
        "type": "string",
        "readOnly": true
      },
      "offers_count": {
        "title": "Offers count",
        "type": "string",
        "readOnly": true
      },
      "my_offer_is_winning": {
        "title": "My offer is winning",
        "type": "string",
        "readOnly": true
      },
      "i_am_bidding": {
        "title": "I am bidding",
        "type": "string",
        "readOnly": true
      },
      "agreement_token": {
        "title": "Agreement token",
        "type": "string",
        "readOnly": true
      },
      "amount_to_repay": {
        "title": "Amount to repay",
        "type": "string",
        "readOnly": true
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Auction] false none none
» id string(uuid) true none none
» order Order false none none
»» id string(uuid) true none none
»» name string\ null false none
»» payout_date string(date)\ null false none
»» product Product false none none
»»» id integer false read-only none
»»» risk_attributes string true none It has to be JSON according to the following schema: {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "mandatory": {"type": "boolean"}, "type": {"enum": ["number", "string", "array"]}, "array_for_select": {"type": "array"}, "personal": {"type": "boolean"}, "source": {"enum": ["DSP", "customer"]}, "label": {"type": "string"}}, "if": {"properties": {"type": {"enum": ["array"]}}}, "then": {"required": ["key", "mandatory", "type", "array_for_select", "personal", "source", "label"], "properties": {"array_for_select": {"type": "array", "minItems": 1}}}, "else": {"required": ["key", "mandatory", "type", "personal", "source", "label"]}}}
»»» cash_flow_schedule string\ null false none
»»» events_of_default string\ null false none
»»» name string true none none
»»» description string true none none
»»» duration_default integer false none none
»»» duration_min integer false none none
»»» duration_max integer false none none
»»» category string true none none
»»» auction_duration number false none none
»»» currency string false read-only none
»» created string(date-time) false read-only none
»» status string false read-only none
»» notional string(decimal) true none none
»» auction_id string false read-only none
»» duration integer false none none
»» bank_account string\ null false none
» auction_end string(date-time) true none none
» created string(date-time) false read-only none
» dsp_confirmation string(date-time)\ null false none
» status string false read-only none
» price string false read-only none
» winning_offer string(uuid) false read-only none
» customer_risk_attributes string false read-only none
» offers_count string false read-only none
» my_offer_is_winning string false read-only none
» i_am_bidding string false read-only none
» agreement_token string false read-only none
» amount_to_repay string false read-only none

v1_auction_read

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/auction/{external_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/auction/{external_id}/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auction/{external_id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/auction/{external_id}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auction/{external_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/auction/{external_id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/auction/{external_id}/

Parameters

Name In Type Required Description
external_id path string(uuid) true none

Example responses

200 Response

{
  "required": [
    "id",
    "auction_end"
  ],
  "type": "object",
  "properties": {
    "id": {
      "title": "Id",
      "type": "string",
      "format": "uuid"
    },
    "order": {
      "title": "Order",
      "required": [
        "id",
        "notional"
      ],
      "type": "object",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "title": "Name",
          "type": "string",
          "maxLength": 64,
          "nullable": true
        },
        "payout_date": {
          "title": "Payout date",
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "product": {
          "title": "Product",
          "required": [
            "risk_attributes",
            "name",
            "description",
            "category"
          ],
          "type": "object",
          "properties": {
            "id": {
              "title": "ID",
              "type": "integer",
              "readOnly": true
            },
            "risk_attributes": {
              "title": "Risk attributes",
              "description": "It has to be JSON according to the following schema: {\"type\": \"array\", \"items\": {\"type\": \"object\", \"properties\": {\"key\": {\"type\": \"string\"}, \"mandatory\": {\"type\": \"boolean\"}, \"type\": {\"enum\": [\"number\", \"string\", \"array\"]}, \"array_for_select\": {\"type\": \"array\"}, \"personal\": {\"type\": \"boolean\"}, \"source\": {\"enum\": [\"DSP\", \"customer\"]}, \"label\": {\"type\": \"string\"}}, \"if\": {\"properties\": {\"type\": {\"enum\": [\"array\"]}}}, \"then\": {\"required\": [\"key\", \"mandatory\", \"type\", \"array_for_select\", \"personal\", \"source\", \"label\"], \"properties\": {\"array_for_select\": {\"type\": \"array\", \"minItems\": 1}}}, \"else\": {\"required\": [\"key\", \"mandatory\", \"type\", \"personal\", \"source\", \"label\"]}}}",
              "type": "string",
              "minLength": 1
            },
            "cash_flow_schedule": {
              "title": "Cash flow schedule",
              "type": "string",
              "nullable": true
            },
            "events_of_default": {
              "title": "Events of default",
              "type": "string",
              "nullable": true
            },
            "name": {
              "title": "Name",
              "type": "string",
              "maxLength": 45,
              "minLength": 1
            },
            "description": {
              "title": "Description",
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "duration_default": {
              "title": "Duration default",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "duration_min": {
              "title": "Duration min",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "duration_max": {
              "title": "Duration max",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "category": {
              "title": "Category",
              "type": "string",
              "minLength": 1
            },
            "auction_duration": {
              "title": "Auction duration",
              "type": "number"
            },
            "currency": {
              "title": "Currency",
              "type": "string",
              "readOnly": true
            }
          }
        },
        "created": {
          "title": "Created",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "status": {
          "title": "Status",
          "type": "string",
          "readOnly": true
        },
        "notional": {
          "title": "Notional",
          "type": "string",
          "format": "decimal"
        },
        "auction_id": {
          "title": "Auction id",
          "type": "string",
          "readOnly": true
        },
        "duration": {
          "title": "Duration",
          "type": "integer",
          "maximum": 2147483647,
          "minimum": -2147483648
        },
        "bank_account": {
          "title": "Bank account",
          "type": "string",
          "maxLength": 34,
          "minLength": 1,
          "nullable": true
        }
      }
    },
    "auction_end": {
      "title": "Auction end",
      "type": "string",
      "format": "date-time"
    },
    "created": {
      "title": "Created",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "dsp_confirmation": {
      "title": "Dsp confirmation",
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "status": {
      "title": "Status",
      "type": "string",
      "readOnly": true
    },
    "price": {
      "title": "Price",
      "type": "string",
      "readOnly": true
    },
    "winning_offer": {
      "title": "Winning offer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "customer_risk_attributes": {
      "title": "Customer risk attributes",
      "type": "string",
      "readOnly": true
    },
    "offers_count": {
      "title": "Offers count",
      "type": "string",
      "readOnly": true
    },
    "my_offer_is_winning": {
      "title": "My offer is winning",
      "type": "string",
      "readOnly": true
    },
    "i_am_bidding": {
      "title": "I am bidding",
      "type": "string",
      "readOnly": true
    },
    "agreement_token": {
      "title": "Agreement token",
      "type": "string",
      "readOnly": true
    },
    "amount_to_repay": {
      "title": "Amount to repay",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Auction

v1_auction_offer_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/auction/{external_id}/offer/

Parameters

Name In Type Required Description
ordering query string false Which field to use when ordering the results.
external_id path string true none

Example responses

200 Response

{
  "type": "array",
  "items": {
    "required": [
      "id",
      "notional",
      "price"
    ],
    "type": "object",
    "properties": {
      "id": {
        "title": "Id",
        "type": "string",
        "format": "uuid"
      },
      "notional": {
        "title": "Notional",
        "type": "string",
        "format": "decimal"
      },
      "price": {
        "title": "Price",
        "type": "string",
        "format": "decimal"
      },
      "status": {
        "title": "Status",
        "type": "string",
        "readOnly": true
      },
      "created": {
        "title": "Created",
        "type": "string",
        "format": "date-time",
        "readOnly": true
      },
      "probability_of_default": {
        "title": "Probability of default",
        "type": "number",
        "nullable": true
      },
      "loss_given_default": {
        "title": "Loss given default",
        "type": "number",
        "nullable": true
      },
      "commission": {
        "title": "Commission",
        "type": "string",
        "readOnly": true
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Offer] false none none
» id string(uuid) true none none
» notional string(decimal) true none none
» price string(decimal) true none none
» status string false read-only none
» created string(date-time) false read-only none
» probability_of_default number\ null false none
» loss_given_default number\ null false none
» commission string false read-only none

v1_auction_offer_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "id",
    "notional",
    "price"
  ],
  "type": "object",
  "properties": {
    "id": {
      "title": "Id",
      "type": "string",
      "format": "uuid"
    },
    "notional": {
      "title": "Notional",
      "type": "string",
      "format": "decimal"
    },
    "price": {
      "title": "Price",
      "type": "string",
      "format": "decimal"
    },
    "status": {
      "title": "Status",
      "type": "string",
      "readOnly": true
    },
    "created": {
      "title": "Created",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "probability_of_default": {
      "title": "Probability of default",
      "type": "number",
      "nullable": true
    },
    "loss_given_default": {
      "title": "Loss given default",
      "type": "number",
      "nullable": true
    },
    "commission": {
      "title": "Commission",
      "type": "string",
      "readOnly": true
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/auction/{external_id}/offer/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/auction/{external_id}/offer/

Body parameter

{
  "required": [
    "id",
    "notional",
    "price"
  ],
  "type": "object",
  "properties": {
    "id": {
      "title": "Id",
      "type": "string",
      "format": "uuid"
    },
    "notional": {
      "title": "Notional",
      "type": "string",
      "format": "decimal"
    },
    "price": {
      "title": "Price",
      "type": "string",
      "format": "decimal"
    },
    "status": {
      "title": "Status",
      "type": "string",
      "readOnly": true
    },
    "created": {
      "title": "Created",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "probability_of_default": {
      "title": "Probability of default",
      "type": "number",
      "nullable": true
    },
    "loss_given_default": {
      "title": "Loss given default",
      "type": "number",
      "nullable": true
    },
    "commission": {
      "title": "Commission",
      "type": "string",
      "readOnly": true
    }
  }
}

Parameters

Name In Type Required Description
body body Offer true none
external_id path string true none

Example responses

201 Response

{
  "required": [
    "id",
    "notional",
    "price"
  ],
  "type": "object",
  "properties": {
    "id": {
      "title": "Id",
      "type": "string",
      "format": "uuid"
    },
    "notional": {
      "title": "Notional",
      "type": "string",
      "format": "decimal"
    },
    "price": {
      "title": "Price",
      "type": "string",
      "format": "decimal"
    },
    "status": {
      "title": "Status",
      "type": "string",
      "readOnly": true
    },
    "created": {
      "title": "Created",
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "probability_of_default": {
      "title": "Probability of default",
      "type": "number",
      "nullable": true
    },
    "loss_given_default": {
      "title": "Loss given default",
      "type": "number",
      "nullable": true
    },
    "commission": {
      "title": "Commission",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created Offer

v1_auth_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/auth/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/auth/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auth/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "username",
    "password"
  ],
  "type": "object",
  "properties": {
    "username": {
      "title": "Username",
      "type": "string",
      "minLength": 1
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auth/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/auth/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/auth/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auth/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/auth/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/auth/

Takes a set of user credentials and returns an access and refresh JSON web token pair to prove the authentication of those credentials.

Body parameter

{
  "required": [
    "username",
    "password"
  ],
  "type": "object",
  "properties": {
    "username": {
      "title": "Username",
      "type": "string",
      "minLength": 1
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    }
  }
}

Parameters

Name In Type Required Description
body body TokenObtainPair true none

Example responses

201 Response

{
  "required": [
    "username",
    "password"
  ],
  "type": "object",
  "properties": {
    "username": {
      "title": "Username",
      "type": "string",
      "minLength": 1
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created TokenObtainPair

v1_auth_api_key_login_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/auth/api_key_login/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/auth/api_key_login/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auth/api_key_login/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "type": "object",
  "properties": {
    "api_key": {
      "description": "bot's api_key",
      "type": "string"
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auth/api_key_login/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/auth/api_key_login/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/auth/api_key_login/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auth/api_key_login/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/auth/api_key_login/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/auth/api_key_login/

Body parameter

{
  "type": "object",
  "properties": {
    "api_key": {
      "description": "bot's api_key",
      "type": "string"
    }
  }
}

Parameters

Name In Type Required Description
body body object true none
» api_key body string false bot's api_key

Example responses

201 Response

{
  "type": "object",
  "properties": {
    "api_key": {
      "description": "bot's api_key",
      "type": "string"
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created Inline

Response Schema

Status Code 201

Name Type Required Restrictions Description
» api_key string false none bot's api_key

v1_auth_device_login_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/auth/device_login/ \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/auth/device_login/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auth/device_login/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auth/device_login/',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/auth/device_login/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/auth/device_login/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auth/device_login/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/auth/device_login/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/auth/device_login/

Responses

Status Meaning Description Schema
201 Created Created None

v1_auth_refresh_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/auth/refresh/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/auth/refresh/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/auth/refresh/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "refresh"
  ],
  "type": "object",
  "properties": {
    "refresh": {
      "title": "Refresh",
      "type": "string",
      "minLength": 1
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/auth/refresh/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/auth/refresh/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/auth/refresh/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/auth/refresh/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/auth/refresh/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/auth/refresh/

Takes a refresh type JSON web token and returns an access type JSON web token if the refresh token is valid.

Body parameter

{
  "required": [
    "refresh"
  ],
  "type": "object",
  "properties": {
    "refresh": {
      "title": "Refresh",
      "type": "string",
      "minLength": 1
    }
  }
}

Parameters

Name In Type Required Description
body body TokenRefresh true none

Example responses

201 Response

{
  "required": [
    "refresh"
  ],
  "type": "object",
  "properties": {
    "refresh": {
      "title": "Refresh",
      "type": "string",
      "minLength": 1
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created TokenRefresh

v1_customer_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/

Parameters

Name In Type Required Description
search query string false A search term.
ordering query string false Which field to use when ordering the results.
contract_type query string false none
active query number false none
active_product query number false none
page query integer false A page number within the paginated result set.
page_size query integer false Number of results to return per page.

Example responses

200 Response

{
  "required": [
    "count",
    "results"
  ],
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "next": {
      "type": "string",
      "format": "uri"
    },
    "previous": {
      "type": "string",
      "format": "uri"
    },
    "results": {
      "type": "array",
      "items": {
        "required": [
          "first_names",
          "last_name",
          "pesel_number",
          "email",
          "contract_type"
        ],
        "type": "object",
        "properties": {
          "first_names": {
            "title": "First names",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "last_name": {
            "title": "Last name",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "pesel_number": {
            "title": "Pesel number",
            "type": "string",
            "maxLength": 11,
            "minLength": 1
          },
          "customer": {
            "title": "Customer",
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "address": {
            "title": "Address",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "city": {
            "title": "City",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "zip": {
            "title": "Zip",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "email": {
            "title": "Email",
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "minLength": 1
          },
          "phone": {
            "title": "Phone",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "gross_salary": {
            "title": "Gross salary",
            "type": "string",
            "format": "decimal"
          },
          "net_salary": {
            "title": "Net salary",
            "type": "string",
            "format": "decimal"
          },
          "nip": {
            "title": "Nip",
            "type": "string",
            "maxLength": 12,
            "nullable": true
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "employed_since": {
            "title": "Employed since",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_expiration_date": {
            "title": "Contract expiration date",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_type": {
            "title": "Contract type",
            "type": "integer",
            "enum": [
              "B2B",
              "UoP na czas określony",
              "UoP na czas nieokreślony",
              "UZ",
              "Nieznany typ umowy"
            ]
          },
          "bank_account": {
            "title": "Bank account",
            "type": "string",
            "readOnly": true
          },
          "user_id": {
            "title": "User id",
            "type": "string",
            "maxLength": 256,
            "nullable": true
          },
          "date_of_birth": {
            "title": "Date of birth",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "salary_deduction_count": {
            "title": "Salary deduction count",
            "type": "string",
            "readOnly": true
          },
          "eca_month_count": {
            "title": "Eca month count",
            "type": "string",
            "readOnly": true
          },
          "max_sdl_loan": {
            "title": "Max sdl loan",
            "type": "string",
            "readOnly": true
          },
          "promo_received": {
            "title": "Promo received",
            "type": "string",
            "readOnly": true
          },
          "is_active": {
            "title": "Is active",
            "type": "string",
            "readOnly": true
          },
          "current_sdl_amount": {
            "title": "Current sdl amount",
            "type": "string",
            "readOnly": true
          },
          "current_eca_amount": {
            "title": "Current eca amount",
            "type": "string",
            "readOnly": true
          },
          "has_active_app": {
            "title": "Has active app",
            "type": "string",
            "readOnly": true
          },
          "min_sdl_loan": {
            "title": "Min sdl loan",
            "type": "string",
            "readOnly": true
          }
        }
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» count integer true none none
» next string(uri) false none none
» previous string(uri) false none none
» results [CustomerData] true none none
»» first_names string true none none
»» last_name string true none none
»» pesel_number string true none none
»» customer string(uuid) false read-only none
»» address string\ null false none
»» city string\ null false none
»» zip string\ null false none
»» email string(email) true none none
»» phone string\ null false none
»» gross_salary string(decimal) false none none
»» net_salary string(decimal) false none none
»» nip string\ null false none
»» country string false none none
»» employed_since string(date)\ null false none
»» contract_expiration_date string(date)\ null false none
»» contract_type integer true none none
»» bank_account string false read-only none
»» user_id string\ null false none
»» date_of_birth string(date)\ null false none
»» salary_deduction_count string false read-only none
»» eca_month_count string false read-only none
»» max_sdl_loan string false read-only none
»» promo_received string false read-only none
»» is_active string false read-only none
»» current_sdl_amount string false read-only none
»» current_eca_amount string false read-only none
»» has_active_app string false read-only none
»» min_sdl_loan string false read-only none

Enumerated Values

Property Value
contract_type B2B
contract_type UoP na czas określony
contract_type UoP na czas nieokreślony
contract_type UZ
contract_type Nieznany typ umowy

v1_customer_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/

Body parameter

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Parameters

Name In Type Required Description
body body CustomerData true none

Example responses

201 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created CustomerData

v1_customer_login_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/login/ \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/login/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/login/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/login/',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/login/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/login/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/login/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/login/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/login/

Responses

Status Meaning Description Schema
201 Created Created None

v1_customer_register_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/register/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/register/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/register/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "first_name",
    "last_name",
    "date_of_birth",
    "password",
    "email"
  ],
  "type": "object",
  "properties": {
    "first_name": {
      "title": "First name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date"
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "minLength": 1
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/register/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/register/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/register/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/register/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/register/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/register/

Body parameter

{
  "required": [
    "first_name",
    "last_name",
    "date_of_birth",
    "password",
    "email"
  ],
  "type": "object",
  "properties": {
    "first_name": {
      "title": "First name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date"
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "minLength": 1
    }
  }
}

Parameters

Name In Type Required Description
body body CustomerRegistration true none

Example responses

201 Response

{
  "required": [
    "first_name",
    "last_name",
    "date_of_birth",
    "password",
    "email"
  ],
  "type": "object",
  "properties": {
    "first_name": {
      "title": "First name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date"
    },
    "password": {
      "title": "Password",
      "type": "string",
      "minLength": 1
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "minLength": 1
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created CustomerRegistration

v1_customer_stats

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/stats/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/stats/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/stats/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/stats/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/stats/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/stats/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/stats/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/stats/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/stats/

Parameters

Name In Type Required Description
search query string false A search term.
ordering query string false Which field to use when ordering the results.
contract_type query string false none
active query number false none
active_product query number false none
page query integer false A page number within the paginated result set.
page_size query integer false Number of results to return per page.

Example responses

200 Response

{
  "required": [
    "count",
    "results"
  ],
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "next": {
      "type": "string",
      "format": "uri"
    },
    "previous": {
      "type": "string",
      "format": "uri"
    },
    "results": {
      "type": "array",
      "items": {
        "required": [
          "first_names",
          "last_name",
          "pesel_number",
          "email",
          "contract_type"
        ],
        "type": "object",
        "properties": {
          "first_names": {
            "title": "First names",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "last_name": {
            "title": "Last name",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "pesel_number": {
            "title": "Pesel number",
            "type": "string",
            "maxLength": 11,
            "minLength": 1
          },
          "customer": {
            "title": "Customer",
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "address": {
            "title": "Address",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "city": {
            "title": "City",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "zip": {
            "title": "Zip",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "email": {
            "title": "Email",
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "minLength": 1
          },
          "phone": {
            "title": "Phone",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "gross_salary": {
            "title": "Gross salary",
            "type": "string",
            "format": "decimal"
          },
          "net_salary": {
            "title": "Net salary",
            "type": "string",
            "format": "decimal"
          },
          "nip": {
            "title": "Nip",
            "type": "string",
            "maxLength": 12,
            "nullable": true
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "employed_since": {
            "title": "Employed since",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_expiration_date": {
            "title": "Contract expiration date",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_type": {
            "title": "Contract type",
            "type": "integer",
            "enum": [
              "B2B",
              "UoP na czas określony",
              "UoP na czas nieokreślony",
              "UZ",
              "Nieznany typ umowy"
            ]
          },
          "bank_account": {
            "title": "Bank account",
            "type": "string",
            "readOnly": true
          },
          "user_id": {
            "title": "User id",
            "type": "string",
            "maxLength": 256,
            "nullable": true
          },
          "date_of_birth": {
            "title": "Date of birth",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "salary_deduction_count": {
            "title": "Salary deduction count",
            "type": "string",
            "readOnly": true
          },
          "eca_month_count": {
            "title": "Eca month count",
            "type": "string",
            "readOnly": true
          },
          "max_sdl_loan": {
            "title": "Max sdl loan",
            "type": "string",
            "readOnly": true
          },
          "promo_received": {
            "title": "Promo received",
            "type": "string",
            "readOnly": true
          },
          "is_active": {
            "title": "Is active",
            "type": "string",
            "readOnly": true
          },
          "current_sdl_amount": {
            "title": "Current sdl amount",
            "type": "string",
            "readOnly": true
          },
          "current_eca_amount": {
            "title": "Current eca amount",
            "type": "string",
            "readOnly": true
          },
          "has_active_app": {
            "title": "Has active app",
            "type": "string",
            "readOnly": true
          },
          "min_sdl_loan": {
            "title": "Min sdl loan",
            "type": "string",
            "readOnly": true
          }
        }
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» count integer true none none
» next string(uri) false none none
» previous string(uri) false none none
» results [CustomerData] true none none
»» first_names string true none none
»» last_name string true none none
»» pesel_number string true none none
»» customer string(uuid) false read-only none
»» address string\ null false none
»» city string\ null false none
»» zip string\ null false none
»» email string(email) true none none
»» phone string\ null false none
»» gross_salary string(decimal) false none none
»» net_salary string(decimal) false none none
»» nip string\ null false none
»» country string false none none
»» employed_since string(date)\ null false none
»» contract_expiration_date string(date)\ null false none
»» contract_type integer true none none
»» bank_account string false read-only none
»» user_id string\ null false none
»» date_of_birth string(date)\ null false none
»» salary_deduction_count string false read-only none
»» eca_month_count string false read-only none
»» max_sdl_loan string false read-only none
»» promo_received string false read-only none
»» is_active string false read-only none
»» current_sdl_amount string false read-only none
»» current_eca_amount string false read-only none
»» has_active_app string false read-only none
»» min_sdl_loan string false read-only none

Enumerated Values

Property Value
contract_type B2B
contract_type UoP na czas określony
contract_type UoP na czas nieokreślony
contract_type UZ
contract_type Nieznany typ umowy

v1_customer_token_login_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/token_login/ \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/token_login/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/token_login/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/token_login/',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/token_login/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/token_login/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/token_login/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/token_login/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/token_login/

Responses

Status Meaning Description Schema
201 Created Created None

v1_customer_read

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_update

Code samples

# You can also use wget
curl -X PUT http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

PUT http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  method: 'put',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.put 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /v1/customer/{customer__external_id}/

Body parameter

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Parameters

Name In Type Required Description
body body CustomerData true none
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_partial_update

Code samples

# You can also use wget
curl -X PATCH http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

PATCH http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.patch 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /v1/customer/{customer__external_id}/

Body parameter

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Parameters

Name In Type Required Description
body body CustomerData true none
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_eca_active

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_active/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/eca_active/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_eca_stats

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/eca_stats/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/eca_stats/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_graph

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/graph/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/graph/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_history

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/history/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/history/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_sdl_active

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_active/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/sdl_active/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_sdl_stats

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer/{customer__external_id}/sdl_stats/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer/{customer__external_id}/sdl_stats/

Parameters

Name In Type Required Description
customer__external_id path string true none

Example responses

200 Response

{
  "required": [
    "first_names",
    "last_name",
    "pesel_number",
    "email",
    "contract_type"
  ],
  "type": "object",
  "properties": {
    "first_names": {
      "title": "First names",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "last_name": {
      "title": "Last name",
      "type": "string",
      "maxLength": 128,
      "minLength": 1
    },
    "pesel_number": {
      "title": "Pesel number",
      "type": "string",
      "maxLength": 11,
      "minLength": 1
    },
    "customer": {
      "title": "Customer",
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "address": {
      "title": "Address",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "city": {
      "title": "City",
      "type": "string",
      "maxLength": 128,
      "nullable": true
    },
    "zip": {
      "title": "Zip",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "minLength": 1
    },
    "phone": {
      "title": "Phone",
      "type": "string",
      "maxLength": 11,
      "nullable": true
    },
    "gross_salary": {
      "title": "Gross salary",
      "type": "string",
      "format": "decimal"
    },
    "net_salary": {
      "title": "Net salary",
      "type": "string",
      "format": "decimal"
    },
    "nip": {
      "title": "Nip",
      "type": "string",
      "maxLength": 12,
      "nullable": true
    },
    "country": {
      "title": "Country",
      "type": "string"
    },
    "employed_since": {
      "title": "Employed since",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_expiration_date": {
      "title": "Contract expiration date",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "contract_type": {
      "title": "Contract type",
      "type": "integer",
      "enum": [
        "B2B",
        "UoP na czas określony",
        "UoP na czas nieokreślony",
        "UZ",
        "Nieznany typ umowy"
      ]
    },
    "bank_account": {
      "title": "Bank account",
      "type": "string",
      "readOnly": true
    },
    "user_id": {
      "title": "User id",
      "type": "string",
      "maxLength": 256,
      "nullable": true
    },
    "date_of_birth": {
      "title": "Date of birth",
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "salary_deduction_count": {
      "title": "Salary deduction count",
      "type": "string",
      "readOnly": true
    },
    "eca_month_count": {
      "title": "Eca month count",
      "type": "string",
      "readOnly": true
    },
    "max_sdl_loan": {
      "title": "Max sdl loan",
      "type": "string",
      "readOnly": true
    },
    "promo_received": {
      "title": "Promo received",
      "type": "string",
      "readOnly": true
    },
    "is_active": {
      "title": "Is active",
      "type": "string",
      "readOnly": true
    },
    "current_sdl_amount": {
      "title": "Current sdl amount",
      "type": "string",
      "readOnly": true
    },
    "current_eca_amount": {
      "title": "Current eca amount",
      "type": "string",
      "readOnly": true
    },
    "has_active_app": {
      "title": "Has active app",
      "type": "string",
      "readOnly": true
    },
    "min_sdl_loan": {
      "title": "Min sdl loan",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK CustomerData

v1_customer_active_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/ \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/{external_id}/active/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/{external_id}/active/

Parameters

Name In Type Required Description
external_id path string true none

Responses

Status Meaning Description Schema
201 Created Created None

v1_customer_order_token_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/ \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer/{external_id}/order_token/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer/{external_id}/order_token/

Parameters

Name In Type Required Description
external_id path string true none

Responses

Status Meaning Description Schema
201 Created Created None

v1_customer_order_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer_order/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer_order/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer_order/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer_order/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer_order/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer_order/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer_order/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer_order/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer_order/

Parameters

Name In Type Required Description
key query string false none

Example responses

200 Response

{
  "type": "array",
  "items": {
    "required": [
      "key",
      "customer",
      "order"
    ],
    "type": "object",
    "properties": {
      "key": {
        "title": "Key",
        "type": "string",
        "maxLength": 20,
        "minLength": 1
      },
      "customer": {
        "required": [
          "first_names",
          "last_name",
          "pesel_number",
          "email",
          "contract_type"
        ],
        "type": "object",
        "properties": {
          "first_names": {
            "title": "First names",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "last_name": {
            "title": "Last name",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "pesel_number": {
            "title": "Pesel number",
            "type": "string",
            "maxLength": 11,
            "minLength": 1
          },
          "customer": {
            "title": "Customer",
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "address": {
            "title": "Address",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "city": {
            "title": "City",
            "type": "string",
            "maxLength": 128,
            "nullable": true
          },
          "zip": {
            "title": "Zip",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "email": {
            "title": "Email",
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "minLength": 1
          },
          "phone": {
            "title": "Phone",
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "gross_salary": {
            "title": "Gross salary",
            "type": "string",
            "format": "decimal"
          },
          "net_salary": {
            "title": "Net salary",
            "type": "string",
            "format": "decimal"
          },
          "nip": {
            "title": "Nip",
            "type": "string",
            "maxLength": 12,
            "nullable": true
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "employed_since": {
            "title": "Employed since",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_expiration_date": {
            "title": "Contract expiration date",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "contract_type": {
            "title": "Contract type",
            "type": "integer",
            "enum": [
              "B2B",
              "UoP na czas określony",
              "UoP na czas nieokreślony",
              "UZ",
              "Nieznany typ umowy"
            ]
          },
          "bank_account": {
            "title": "Bank account",
            "type": "string",
            "readOnly": true
          },
          "user_id": {
            "title": "User id",
            "type": "string",
            "maxLength": 256,
            "nullable": true
          },
          "date_of_birth": {
            "title": "Date of birth",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "salary_deduction_count": {
            "title": "Salary deduction count",
            "type": "string",
            "readOnly": true
          },
          "eca_month_count": {
            "title": "Eca month count",
            "type": "string",
            "readOnly": true
          },
          "max_sdl_loan": {
            "title": "Max sdl loan",
            "type": "string",
            "readOnly": true
          },
          "promo_received": {
            "title": "Promo received",
            "type": "string",
            "readOnly": true
          },
          "is_active": {
            "title": "Is active",
            "type": "string",
            "readOnly": true
          },
          "current_sdl_amount": {
            "title": "Current sdl amount",
            "type": "string",
            "readOnly": true
          },
          "current_eca_amount": {
            "title": "Current eca amount",
            "type": "string",
            "readOnly": true
          },
          "has_active_app": {
            "title": "Has active app",
            "type": "string",
            "readOnly": true
          },
          "min_sdl_loan": {
            "title": "Min sdl loan",
            "type": "string",
            "readOnly": true
          }
        }
      },
      "order": {
        "title": "Order",
        "required": [
          "id",
          "notional"
        ],
        "type": "object",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "title": "Name",
            "type": "string",
            "maxLength": 64,
            "nullable": true
          },
          "payout_date": {
            "title": "Payout date",
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "product": {
            "title": "Product",
            "required": [
              "risk_attributes",
              "name",
              "description",
              "category"
            ],
            "type": "object",
            "properties": {
              "id": {
                "title": "ID",
                "type": "integer",
                "readOnly": true
              },
              "risk_attributes": {
                "title": "Risk attributes",
                "description": "It has to be JSON according to the following schema: {\"type\": \"array\", \"items\": {\"type\": \"object\", \"properties\": {\"key\": {\"type\": \"string\"}, \"mandatory\": {\"type\": \"boolean\"}, \"type\": {\"enum\": [\"number\", \"string\", \"array\"]}, \"array_for_select\": {\"type\": \"array\"}, \"personal\": {\"type\": \"boolean\"}, \"source\": {\"enum\": [\"DSP\", \"customer\"]}, \"label\": {\"type\": \"string\"}}, \"if\": {\"properties\": {\"type\": {\"enum\": [\"array\"]}}}, \"then\": {\"required\": [\"key\", \"mandatory\", \"type\", \"array_for_select\", \"personal\", \"source\", \"label\"], \"properties\": {\"array_for_select\": {\"type\": \"array\", \"minItems\": 1}}}, \"else\": {\"required\": [\"key\", \"mandatory\", \"type\", \"personal\", \"source\", \"label\"]}}}",
                "type": "string",
                "minLength": 1
              },
              "cash_flow_schedule": {
                "title": "Cash flow schedule",
                "type": "string",
                "nullable": true
              },
              "events_of_default": {
                "title": "Events of default",
                "type": "string",
                "nullable": true
              },
              "name": {
                "title": "Name",
                "type": "string",
                "maxLength": 45,
                "minLength": 1
              },
              "description": {
                "title": "Description",
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              "duration_default": {
                "title": "Duration default",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "duration_min": {
                "title": "Duration min",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "duration_max": {
                "title": "Duration max",
                "type": "integer",
                "maximum": 2147483647,
                "minimum": -2147483648
              },
              "category": {
                "title": "Category",
                "type": "string",
                "minLength": 1
              },
              "auction_duration": {
                "title": "Auction duration",
                "type": "number"
              },
              "currency": {
                "title": "Currency",
                "type": "string",
                "readOnly": true
              }
            }
          },
          "created": {
            "title": "Created",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "status": {
            "title": "Status",
            "type": "string",
            "readOnly": true
          },
          "notional": {
            "title": "Notional",
            "type": "string",
            "format": "decimal"
          },
          "auction_id": {
            "title": "Auction id",
            "type": "string",
            "readOnly": true
          },
          "duration": {
            "title": "Duration",
            "type": "integer",
            "maximum": 2147483647,
            "minimum": -2147483648
          },
          "bank_account": {
            "title": "Bank account",
            "type": "string",
            "maxLength": 34,
            "minLength": 1,
            "nullable": true
          }
        }
      },
      "valid_from": {
        "title": "Valid from",
        "type": "string",
        "readOnly": true
      },
      "valid_till": {
        "title": "Valid till",
        "type": "string",
        "readOnly": true
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [KeyCustomerMapping] false none none
» key string true none none
» customer CustomerData true none none
»» first_names string true none none
»» last_name string true none none
»» pesel_number string true none none
»» customer string(uuid) false read-only none
»» address string\ null false none
»» city string\ null false none
»» zip string\ null false none
»» email string(email) true none none
»» phone string\ null false none
»» gross_salary string(decimal) false none none
»» net_salary string(decimal) false none none
»» nip string\ null false none
»» country string false none none
»» employed_since string(date)\ null false none
»» contract_expiration_date string(date)\ null false none
»» contract_type integer true none none
»» bank_account string false read-only none
»» user_id string\ null false none
»» date_of_birth string(date)\ null false none
»» salary_deduction_count string false read-only none
»» eca_month_count string false read-only none
»» max_sdl_loan string false read-only none
»» promo_received string false read-only none
»» is_active string false read-only none
»» current_sdl_amount string false read-only none
»» current_eca_amount string false read-only none
»» has_active_app string false read-only none
»» min_sdl_loan string false read-only none
» order Order true none none
»» id string(uuid) true none none
»» name string\ null false none
»» payout_date string(date)\ null false none
»» product Product false none none
»»» id integer false read-only none
»»» risk_attributes string true none It has to be JSON according to the following schema: {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "mandatory": {"type": "boolean"}, "type": {"enum": ["number", "string", "array"]}, "array_for_select": {"type": "array"}, "personal": {"type": "boolean"}, "source": {"enum": ["DSP", "customer"]}, "label": {"type": "string"}}, "if": {"properties": {"type": {"enum": ["array"]}}}, "then": {"required": ["key", "mandatory", "type", "array_for_select", "personal", "source", "label"], "properties": {"array_for_select": {"type": "array", "minItems": 1}}}, "else": {"required": ["key", "mandatory", "type", "personal", "source", "label"]}}}
»»» cash_flow_schedule string\ null false none
»»» events_of_default string\ null false none
»»» name string true none none
»»» description string true none none
»»» duration_default integer false none none
»»» duration_min integer false none none
»»» duration_max integer false none none
»»» category string true none none
»»» auction_duration number false none none
»»» currency string false read-only none
»» created string(date-time) false read-only none
»» status string false read-only none
»» notional string(decimal) true none none
»» auction_id string false read-only none
»» duration integer false none none
»» bank_account string\ null false none
» valid_from string false read-only none
» valid_till string false read-only none

Enumerated Values

Property Value
contract_type B2B
contract_type UoP na czas określony
contract_type UoP na czas nieokreślony
contract_type UZ
contract_type Nieznany typ umowy

v1_customer_order_read

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer_order/{key}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer_order/{key}/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer_order/{key}/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer_order/{key}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer_order/{key}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer_order/{key}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer_order/{key}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer_order/{key}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer_order/{key}/

Parameters

Name In Type Required Description
key path string true none

Example responses

200 Response

{
  "required": [
    "key",
    "customer",
    "order"
  ],
  "type": "object",
  "properties": {
    "key": {
      "title": "Key",
      "type": "string",
      "maxLength": 20,
      "minLength": 1
    },
    "customer": {
      "required": [
        "first_names",
        "last_name",
        "pesel_number",
        "email",
        "contract_type"
      ],
      "type": "object",
      "properties": {
        "first_names": {
          "title": "First names",
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        },
        "last_name": {
          "title": "Last name",
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        },
        "pesel_number": {
          "title": "Pesel number",
          "type": "string",
          "maxLength": 11,
          "minLength": 1
        },
        "customer": {
          "title": "Customer",
          "type": "string",
          "format": "uuid",
          "readOnly": true
        },
        "address": {
          "title": "Address",
          "type": "string",
          "maxLength": 128,
          "nullable": true
        },
        "city": {
          "title": "City",
          "type": "string",
          "maxLength": 128,
          "nullable": true
        },
        "zip": {
          "title": "Zip",
          "type": "string",
          "maxLength": 11,
          "nullable": true
        },
        "email": {
          "title": "Email",
          "type": "string",
          "format": "email",
          "maxLength": 254,
          "minLength": 1
        },
        "phone": {
          "title": "Phone",
          "type": "string",
          "maxLength": 11,
          "nullable": true
        },
        "gross_salary": {
          "title": "Gross salary",
          "type": "string",
          "format": "decimal"
        },
        "net_salary": {
          "title": "Net salary",
          "type": "string",
          "format": "decimal"
        },
        "nip": {
          "title": "Nip",
          "type": "string",
          "maxLength": 12,
          "nullable": true
        },
        "country": {
          "title": "Country",
          "type": "string"
        },
        "employed_since": {
          "title": "Employed since",
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "contract_expiration_date": {
          "title": "Contract expiration date",
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "contract_type": {
          "title": "Contract type",
          "type": "integer",
          "enum": [
            "B2B",
            "UoP na czas określony",
            "UoP na czas nieokreślony",
            "UZ",
            "Nieznany typ umowy"
          ]
        },
        "bank_account": {
          "title": "Bank account",
          "type": "string",
          "readOnly": true
        },
        "user_id": {
          "title": "User id",
          "type": "string",
          "maxLength": 256,
          "nullable": true
        },
        "date_of_birth": {
          "title": "Date of birth",
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "salary_deduction_count": {
          "title": "Salary deduction count",
          "type": "string",
          "readOnly": true
        },
        "eca_month_count": {
          "title": "Eca month count",
          "type": "string",
          "readOnly": true
        },
        "max_sdl_loan": {
          "title": "Max sdl loan",
          "type": "string",
          "readOnly": true
        },
        "promo_received": {
          "title": "Promo received",
          "type": "string",
          "readOnly": true
        },
        "is_active": {
          "title": "Is active",
          "type": "string",
          "readOnly": true
        },
        "current_sdl_amount": {
          "title": "Current sdl amount",
          "type": "string",
          "readOnly": true
        },
        "current_eca_amount": {
          "title": "Current eca amount",
          "type": "string",
          "readOnly": true
        },
        "has_active_app": {
          "title": "Has active app",
          "type": "string",
          "readOnly": true
        },
        "min_sdl_loan": {
          "title": "Min sdl loan",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "order": {
      "title": "Order",
      "required": [
        "id",
        "notional"
      ],
      "type": "object",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "title": "Name",
          "type": "string",
          "maxLength": 64,
          "nullable": true
        },
        "payout_date": {
          "title": "Payout date",
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "product": {
          "title": "Product",
          "required": [
            "risk_attributes",
            "name",
            "description",
            "category"
          ],
          "type": "object",
          "properties": {
            "id": {
              "title": "ID",
              "type": "integer",
              "readOnly": true
            },
            "risk_attributes": {
              "title": "Risk attributes",
              "description": "It has to be JSON according to the following schema: {\"type\": \"array\", \"items\": {\"type\": \"object\", \"properties\": {\"key\": {\"type\": \"string\"}, \"mandatory\": {\"type\": \"boolean\"}, \"type\": {\"enum\": [\"number\", \"string\", \"array\"]}, \"array_for_select\": {\"type\": \"array\"}, \"personal\": {\"type\": \"boolean\"}, \"source\": {\"enum\": [\"DSP\", \"customer\"]}, \"label\": {\"type\": \"string\"}}, \"if\": {\"properties\": {\"type\": {\"enum\": [\"array\"]}}}, \"then\": {\"required\": [\"key\", \"mandatory\", \"type\", \"array_for_select\", \"personal\", \"source\", \"label\"], \"properties\": {\"array_for_select\": {\"type\": \"array\", \"minItems\": 1}}}, \"else\": {\"required\": [\"key\", \"mandatory\", \"type\", \"personal\", \"source\", \"label\"]}}}",
              "type": "string",
              "minLength": 1
            },
            "cash_flow_schedule": {
              "title": "Cash flow schedule",
              "type": "string",
              "nullable": true
            },
            "events_of_default": {
              "title": "Events of default",
              "type": "string",
              "nullable": true
            },
            "name": {
              "title": "Name",
              "type": "string",
              "maxLength": 45,
              "minLength": 1
            },
            "description": {
              "title": "Description",
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "duration_default": {
              "title": "Duration default",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "duration_min": {
              "title": "Duration min",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "duration_max": {
              "title": "Duration max",
              "type": "integer",
              "maximum": 2147483647,
              "minimum": -2147483648
            },
            "category": {
              "title": "Category",
              "type": "string",
              "minLength": 1
            },
            "auction_duration": {
              "title": "Auction duration",
              "type": "number"
            },
            "currency": {
              "title": "Currency",
              "type": "string",
              "readOnly": true
            }
          }
        },
        "created": {
          "title": "Created",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "status": {
          "title": "Status",
          "type": "string",
          "readOnly": true
        },
        "notional": {
          "title": "Notional",
          "type": "string",
          "format": "decimal"
        },
        "auction_id": {
          "title": "Auction id",
          "type": "string",
          "readOnly": true
        },
        "duration": {
          "title": "Duration",
          "type": "integer",
          "maximum": 2147483647,
          "minimum": -2147483648
        },
        "bank_account": {
          "title": "Bank account",
          "type": "string",
          "maxLength": 34,
          "minLength": 1,
          "nullable": true
        }
      }
    },
    "valid_from": {
      "title": "Valid from",
      "type": "string",
      "readOnly": true
    },
    "valid_till": {
      "title": "Valid till",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK KeyCustomerMapping

v1_customer_uploads_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer_uploads/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer_uploads/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer_uploads/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer_uploads/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer_uploads/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer_uploads/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer_uploads/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer_uploads/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer_uploads/

Parameters

Name In Type Required Description
page query integer false A page number within the paginated result set.
page_size query integer false Number of results to return per page.

Example responses

200 Response

{
  "required": [
    "count",
    "results"
  ],
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "next": {
      "type": "string",
      "format": "uri"
    },
    "previous": {
      "type": "string",
      "format": "uri"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "uploaded": {
            "title": "Uploaded",
            "type": "string",
            "format": "date-time"
          },
          "file": {
            "title": "File",
            "type": "string",
            "readOnly": true,
            "format": "uri"
          },
          "dsp": {
            "title": "Dsp",
            "type": "integer",
            "default": 19
          },
          "file_url": {
            "title": "File url",
            "type": "string",
            "readOnly": true
          }
        }
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» count integer true none none
» next string(uri) false none none
» previous string(uri) false none none
» results [CustomerUpload] true none none
»» uploaded string(date-time) false none none
»» file string(uri) false read-only none
»» dsp integer false none none
»» file_url string false read-only none

v1_customer_uploads_create

Code samples

# You can also use wget
curl -X POST http://api.prod.symmetrical.ai/v1/customer_uploads/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

POST http://api.prod.symmetrical.ai/v1/customer_uploads/ HTTP/1.1
Host: api.prod.symmetrical.ai
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer_uploads/',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "type": "object",
  "properties": {
    "uploaded": {
      "title": "Uploaded",
      "type": "string",
      "format": "date-time"
    },
    "file": {
      "title": "File",
      "type": "string",
      "readOnly": true,
      "format": "uri"
    },
    "dsp": {
      "title": "Dsp",
      "type": "integer",
      "default": 19
    },
    "file_url": {
      "title": "File url",
      "type": "string",
      "readOnly": true
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer_uploads/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.post 'http://api.prod.symmetrical.ai/v1/customer_uploads/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('http://api.prod.symmetrical.ai/v1/customer_uploads/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer_uploads/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://api.prod.symmetrical.ai/v1/customer_uploads/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /v1/customer_uploads/

Body parameter

{
  "type": "object",
  "properties": {
    "uploaded": {
      "title": "Uploaded",
      "type": "string",
      "format": "date-time"
    },
    "file": {
      "title": "File",
      "type": "string",
      "readOnly": true,
      "format": "uri"
    },
    "dsp": {
      "title": "Dsp",
      "type": "integer",
      "default": 19
    },
    "file_url": {
      "title": "File url",
      "type": "string",
      "readOnly": true
    }
  }
}

Parameters

Name In Type Required Description
body body CustomerUpload true none

Example responses

201 Response

{
  "type": "object",
  "properties": {
    "uploaded": {
      "title": "Uploaded",
      "type": "string",
      "format": "date-time"
    },
    "file": {
      "title": "File",
      "type": "string",
      "readOnly": true,
      "format": "uri"
    },
    "dsp": {
      "title": "Dsp",
      "type": "integer",
      "default": 19
    },
    "file_url": {
      "title": "File url",
      "type": "string",
      "readOnly": true
    }
  }
}

Responses

Status Meaning Description Schema
201 Created Created CustomerUpload

v1_customer_uploads_read

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/ \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/ HTTP/1.1
Host: api.prod.symmetrical.ai

var headers = {
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/customer_uploads/{file_name}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /v1/customer_uploads/{file_name}/

Parameters

Name In Type Required Description
file_name path string true none

Responses

Status Meaning Description Schema
200 OK OK None

v1_documents_agreement_list

Code samples

# You can also use wget
curl -X GET http://api.prod.symmetrical.ai/v1/documents/agreement/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'

GET http://api.prod.symmetrical.ai/v1/documents/agreement/ HTTP/1.1
Host: api.prod.symmetrical.ai
Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

$.ajax({
  url: 'http://api.prod.symmetrical.ai/v1/documents/agreement/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'

};

fetch('http://api.prod.symmetrical.ai/v1/documents/agreement/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}

result = RestClient.get 'http://api.prod.symmetrical.ai/v1/documents/agreement/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('http://api.prod.symmetrical.ai/v1/documents/agreement/', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://api.prod.symmetrical.ai/v1/documents/agreement/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://api.prod.symmetrical.ai/v1/documents/agreement/"<