fidor_schema 0.8.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,27 +2,51 @@
2
2
  "$schema" : "http://json-schema.org/draft-04/schema#",
3
3
  "type" : "object",
4
4
  "title" : "customer",
5
- "description" : "",
6
- "required" : ["email", "first_name", "last_name", "gender", "title", "nick"],
5
+ "description" : "A customer object",
6
+ "required" : [
7
+ "email", "password", "adr_mobile"
8
+ ],
7
9
  "properties" : {
8
10
  "id" : {
9
11
  "$ref" : "./base_types/base_types.json#definitions/id"
10
12
  },
11
13
  "email" : {
12
- "$ref" : "./base_types/base_types.json#definitions/email",
13
- "readOnly" : true
14
+ "$ref" : "./base_types/base_types.json#definitions/email"
14
15
  },
15
16
  "first_name" : {
16
17
  "description" : "The given name of the customer",
17
18
  "type" : "string",
18
- "maxLength" : 30,
19
- "readOnly" : true
19
+ "maxLength" : 30
20
+ },
21
+ "additional_first_name" : {
22
+ "description" : "The additional given name of the customer",
23
+ "type" : "string",
24
+ "maxLength" : 30
20
25
  },
21
26
  "last_name" : {
22
27
  "description" : "The family name of the customer",
23
28
  "type" : "string",
24
- "maxLength" : 30,
25
- "readOnly" : true
29
+ "maxLength" : 30
30
+ },
31
+ "maiden_name" : {
32
+ "description" : "Name at birth, maiden name.",
33
+ "type" : "string",
34
+ "maxLength" : 30
35
+ },
36
+ "password" : {
37
+ "description" : "Password for accessing your account later. You can use lower and upper case letters, digits and special characters",
38
+ "type" : ["string", "null"],
39
+ "minLength" : 6,
40
+ "maxLength" : 128,
41
+ "pattern" : "^[0-9a-zA-Z!\"#$%&'()*+,-=./:;?@\\[\\]<>^_`{|}~]+$"
42
+ },
43
+ "legal" : {
44
+ "description" : "Legal requirements that have to be accepted",
45
+ "type" : "array",
46
+ "items" : {
47
+ "type" : "object",
48
+ "$ref" : "./legal.json#"
49
+ }
26
50
  },
27
51
  "gender" : {
28
52
  "description" : "The gender of the customer",
@@ -30,87 +54,93 @@
30
54
  "m",
31
55
  "f"
32
56
  ],
33
- "type" : "string",
34
- "readOnly" : true
57
+ "type" : "string"
35
58
  },
36
59
  "title" : {
37
- "description" : "Salutation e.g Mr. or Ms./Mrs.",
38
- "type" : "string",
39
- "maxLength" : 30,
40
- "readOnly" : true
60
+ "description" : "Salutation: 1 - Mr., 2 - Ms., 3 - Mr. Dr., 4 - Ms. Dr.",
61
+ "enum" : [
62
+ 1,
63
+ 2,
64
+ 3,
65
+ 4
66
+ ],
67
+ "type" : "integer"
41
68
  },
42
69
  "nick" : {
43
70
  "description" : "Nickname used in community.",
44
71
  "type" : "string",
45
72
  "maxLength" : 40,
46
- "minLength" : 2,
47
- "readOnly" : true
73
+ "minLength" : 2
48
74
  },
49
- "maiden_name" : {
50
- "description" : "Name at birth, maiden name.",
51
- "type" : "string",
52
- "maxLength" : 30,
53
- "readOnly" : true
75
+ "occupation" : {
76
+ "description" : "Customer's current occupation: 1 - employee, 2 - executive, 3 - self-employed, 4 - freelancer, 5 - student, 6 - trainee, 7 - retired, 8 - privatier, 9 - unemployed",
77
+ "enum" : [
78
+ 1,
79
+ 2,
80
+ 3,
81
+ 4,
82
+ 5,
83
+ 6,
84
+ 7,
85
+ 8,
86
+ 9
87
+ ],
88
+ "type" : "integer"
54
89
  },
55
90
  "adr_street" : {
56
91
  "description" : "Address street",
57
92
  "type" : "string",
58
- "maxLength" : 100,
59
- "readOnly" : true
93
+ "maxLength" : 100
60
94
  },
61
95
  "adr_street_number" : {
62
96
  "description" : "Address street number",
63
97
  "type" : "string",
64
- "maxLength" : 10,
65
- "readOnly" : true
98
+ "maxLength" : 10
66
99
  },
67
100
  "adr_post_code" : {
68
101
  "description" : "Address post code",
69
102
  "type" : "string",
70
- "maxLength" : 10,
71
- "readOnly" : true
103
+ "maxLength" : 10
72
104
  },
73
105
  "adr_city" : {
74
106
  "description" : "Address City",
75
107
  "type" : "string",
76
- "maxLength" : 100,
77
- "readOnly" : true
108
+ "maxLength" : 100
78
109
  },
79
110
  "adr_country" : {
80
111
  "description" : "Address Country",
81
112
  "type" : "string",
82
- "maxLength" : 100,
83
- "readOnly" : true
113
+ "maxLength" : 100
84
114
  },
85
115
  "adr_phone" : {
86
116
  "description" : "Phone home",
87
117
  "type" : "string",
88
- "maxLength" : 30,
89
- "readOnly" : true
118
+ "maxLength" : 30
90
119
  },
91
120
  "adr_mobile" : {
92
121
  "description" : "Phone mobile",
93
122
  "type" : "string",
94
- "maxLength" : 30,
95
- "readOnly" : true
123
+ "maxLength" : 30
96
124
  },
97
125
  "adr_fax" : {
98
126
  "description" : "Phone fax",
99
127
  "type" : "string",
100
- "maxLength" : 30,
101
- "readOnly" : true
128
+ "maxLength" : 30
102
129
  },
103
130
  "adr_businessphone" : {
104
131
  "description" : "Phone business",
105
132
  "type" : "string",
106
- "maxLength" : 30,
107
- "readOnly" : true
133
+ "maxLength" : 30
108
134
  },
109
135
  "birthday" : {
110
136
  "description" : "Date of birth",
111
137
  "type" : "string",
112
- "format" : "date-time",
113
- "readOnly" : true
138
+ "format" : "date-time"
139
+ },
140
+ "birthplace" : {
141
+ "description" : "Place of birth",
142
+ "type" : "string",
143
+ "maxLength" : 100
114
144
  },
115
145
  "is_verified" : {
116
146
  "description" : "Indicates whether KYC has been performed.",
@@ -118,8 +148,7 @@
118
148
  "readOnly" : true
119
149
  },
120
150
  "nationality" : {
121
- "$ref" : "./base_types/base_types.json#definitions/country",
122
- "readOnly" : true
151
+ "$ref" : "./base_types/base_types.json#definitions/country"
123
152
  },
124
153
  "marital_status" : {
125
154
  "description" : "1: single, 2: married, 3: widowed, 4: divorced, 5: seperated, 6: de facto",
@@ -131,8 +160,7 @@
131
160
  5,
132
161
  6
133
162
  ],
134
- "type" : "integer",
135
- "readOnly" : true
163
+ "type" : "integer"
136
164
  },
137
165
  "religion" : {
138
166
  "description" : "Denomination for tax reasons. 0: no information, 1: no denomination, 2: Protestant, 3: Roman-Catholic, 4-18: Other denominations",
@@ -156,24 +184,28 @@
156
184
  17,
157
185
  18
158
186
  ],
159
- "type" : "integer",
160
- "readOnly" : true
187
+ "type" : "integer"
161
188
  },
162
189
  "id_card_registration_city" : {
163
190
  "description" : "City where the id card is registered.",
164
- "type" : "string",
165
- "readOnly" : true
191
+ "type" : ["string", "null"]
166
192
  },
167
193
  "id_card_number" : {
168
194
  "description" : "ID card number",
169
- "type" : "string",
170
- "readOnly" : true
195
+ "type" : ["string", "null"]
171
196
  },
172
197
  "id_card_valid_until" : {
173
198
  "description" : "Expiration date of id card",
174
199
  "format" : "date-time",
175
- "type" : "string",
176
- "readOnly" : true
200
+ "type" : ["string", "null"]
201
+ },
202
+ "newsletter" : {
203
+ "description" : "Indicates whether customer has agreed to receiving newsletter or not",
204
+ "type" : "boolean"
205
+ },
206
+ "affiliate_uid" : {
207
+ "description" : "Indicates the attachment of the customer to a certain affiliate",
208
+ "type" : ["string", "null"]
177
209
  },
178
210
  "created_at" : {
179
211
  "$ref" : "./base_types/base_types.json#definitions/created_at"
@@ -194,6 +226,22 @@
194
226
  {
195
227
  "rel" : "accounts",
196
228
  "href" : "customers/{id}/accounts"
229
+ },
230
+ {
231
+ "rel" : "confirmations",
232
+ "href" : "customers/{id}/confirmations"
233
+ },
234
+ {
235
+ "rel" : "create",
236
+ "href" : "customers",
237
+ "method" : "POST",
238
+ "description" : "Creates a customer"
239
+ },
240
+ {
241
+ "rel" : "update",
242
+ "href" : "customers/{id}",
243
+ "method" : "PUT",
244
+ "description" : "Updates customer data"
197
245
  }
198
246
  ]
199
247
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Emergency Loan",
4
+ "name" : "emergency_loan",
5
+ "description" : "",
6
+ "properties" : {
7
+
8
+ },
9
+ "links" : []
10
+ }
@@ -133,6 +133,25 @@
133
133
  "rel" : "create",
134
134
  "href" : "internal_transfers",
135
135
  "method" : "POST"
136
+ },
137
+ {
138
+ "rel" : "mtan",
139
+ "href" : "internal_transfers/{id}/mtan",
140
+ "method" : "GET"
141
+ },
142
+ {
143
+ "rel" : "mtan",
144
+ "href" : "internal_transfers/{id}/mtan",
145
+ "title" : "Confirm the transfer with the mtan send to the user",
146
+ "method" : "PUT",
147
+ "properties" : {
148
+ "mtan" : {
149
+ "title" : "The mtan received by the user",
150
+ "required" : true,
151
+ "type" : "string"
152
+ }
153
+ }
154
+
136
155
  }
137
156
  ]
138
157
  }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "legal",
5
+ "description" : "Set of legal requirements a user has to accept",
6
+ "properties" : {
7
+ "own_interest" : {
8
+ "description" : "Indicates whether customer acts in his own interest",
9
+ "enum" : [ true ],
10
+ "type" : "boolean",
11
+ "default" : false
12
+ },
13
+ "tos" : {
14
+ "description" : "Indicates whether customer has agreed to terms of service or not",
15
+ "enum" : [ true ],
16
+ "type" : "boolean",
17
+ "default" : false
18
+ },
19
+ "privacy_policy" : {
20
+ "description" : "Indicates whether customer has agreed to privacy policy or not",
21
+ "enum" : [ true ],
22
+ "type" : "boolean",
23
+ "default" : false
24
+ },
25
+ "us_citizen" : {
26
+ "description" : "Indicates whether the customer is a US citizen or not",
27
+ "type" : "boolean",
28
+ "default" : false
29
+ },
30
+ "us_tax_payer" : {
31
+ "description" : "Indicates whether the customer has to pay taxes in the US",
32
+ "type" : "boolean",
33
+ "default" : false
34
+ }
35
+ }
36
+ }
@@ -8,9 +8,7 @@
8
8
  "$ref" : "./base_types/base_types.json#definitions/id"
9
9
  },
10
10
  "account_id" : {
11
- "description" : "The external account id.",
12
- "type" : "string",
13
- "maxLength" : 8,
11
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
14
12
  "readOnly" : true
15
13
  },
16
14
  "line" : {
@@ -24,7 +22,7 @@
24
22
  "readOnly" : true
25
23
  },
26
24
  "active" : {
27
- "description" : "",
25
+ "description" : "Indicates whether the overdraft is an active one or not",
28
26
  "type" : "boolean",
29
27
  "readOnly" : true
30
28
  },
@@ -43,6 +41,10 @@
43
41
  {
44
42
  "rel" : "self",
45
43
  "href" : "overdrafts/{id}"
44
+ },
45
+ {
46
+ "rel" : "instances",
47
+ "href" : "overdrafts"
46
48
  }
47
49
  ]
48
50
  }
@@ -0,0 +1,131 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "preauth",
5
+ "description" : "A preauth is created when you, for example, send money to a not existing fidor account or use a mastercard",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "account_id" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
12
+ "readOnly" : true
13
+ },
14
+ "amount" : {
15
+ "description" : "Preauthorized amount of money",
16
+ "$ref" : "./base_types/base_types.json#definitions/amount",
17
+ "readOnly" : true
18
+ },
19
+ "currency" : {
20
+ "$ref" : "./base_types/base_types.json#definitions/currency",
21
+ "readOnly" : true
22
+ },
23
+ "preauth_type" : {
24
+ "$ref" : "./base_types/base_types.json#definitions/preauth_type",
25
+ "readOnly" : true
26
+ },
27
+ "preauth_type_details" : {
28
+ "description" : "Details specific to this preauth type are collected here.",
29
+ "readOnly" : true,
30
+ "type" : "object",
31
+ "oneOf" : [
32
+ {
33
+ "title": "credit_card_details",
34
+ "$ref" : "./preauth_type_details/credit_card_details.json#"
35
+ },
36
+ {
37
+ "title": "internal_transfer_details",
38
+ "$ref" : "./preauth_type_details/internal_transfer_details.json#"
39
+ },
40
+ {
41
+ "title": "capital_bond_details",
42
+ "$ref" : "./preauth_type_details/capital_bond_details.json#"
43
+ },
44
+ {
45
+ "title": "currency_order_details",
46
+ "$ref" : "./preauth_type_details/currency_order_details.json#"
47
+ },
48
+ {
49
+ "title": "gmt_details",
50
+ "$ref" : "./preauth_type_details/gmt_details.json#"
51
+ },
52
+ {
53
+ "title": "ripple_details",
54
+ "$ref" : "./preauth_type_details/ripple_details.json#"
55
+ }
56
+ ]
57
+ },
58
+ "expires_at" : {
59
+ "description" : "Date of the preauthorization expiration. ISO 8601 Date-Time",
60
+ "format" : "date-time",
61
+ "type" : "string",
62
+ "readOnly" : true
63
+ },
64
+ "created_at" : {
65
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
66
+ },
67
+ "updated_at" : {
68
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
69
+ }
70
+ },
71
+ "links" : [
72
+ {
73
+ "rel" : "self",
74
+ "href" : "preauths/{id}"
75
+ },
76
+ {
77
+ "rel" : "instances",
78
+ "href" : "preauths",
79
+ "properties" : {
80
+ "filter[account_ids]" : {
81
+ "title" : "Find preauths belonging to the given account ids. Single id or multiple ids comma-separated.",
82
+ "format" : "integer",
83
+ "type" : "string"
84
+ },
85
+ "filter[created_at_from]" : {
86
+ "title" : "Creation date filter from >= date",
87
+ "format" : "date-time",
88
+ "type" : "string"
89
+ },
90
+ "filter[created_at_to]" : {
91
+ "title" : "Creation date filter to <= date",
92
+ "format" : "date-time",
93
+ "type" : "string"
94
+ },
95
+ "filter[expiration_date_from]" : {
96
+ "title" : "Date filter from >= date. ISO 8601 Date",
97
+ "format" : "date-time",
98
+ "type" : "string"
99
+ },
100
+ "filter[expiration_date_to]" : {
101
+ "title" : "Date filter to <= date. ISO 8601 Date",
102
+ "format" : "date-time",
103
+ "type" : "string"
104
+ },
105
+ "filter[preauth_types]" : {
106
+ "$ref" : "./base_types/base_types.json#definitions/preauth_type",
107
+ "title" : "By preauth types"
108
+ },
109
+ "page" : {
110
+ "title" : "Page",
111
+ "description" : "In paginated results set the page to look for",
112
+ "type" : "integer"
113
+ },
114
+ "per_page" : {
115
+ "title" : "Per page",
116
+ "description" : "Results per page. Default is 10, max is 100",
117
+ "type" : "integer"
118
+ },
119
+ "sort" : {
120
+ "title" : "Sort",
121
+ "enum" : [
122
+ "ASC",
123
+ "DESC"
124
+ ],
125
+ "description" : "Sort the results in ASC or DESC",
126
+ "type" : "string"
127
+ }
128
+ }
129
+ }
130
+ ]
131
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "capital_bond_details",
5
+ "description" : "Capital bond related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "credit_card_details",
5
+ "description" : "Credit card related preauthorization details",
6
+ "properties" : {
7
+ "cc_merchant_name" : {
8
+ "description" : "CreditCard merchant initiating the transaction",
9
+ "type" : "string",
10
+ "maxLength" : 255,
11
+ "readOnly" : true
12
+ },
13
+ "cc_merchant_category" : {
14
+ "description" : "Category given by the merchant",
15
+ "type" : "string",
16
+ "maxLength" : 255,
17
+ "readOnly" : true
18
+ },
19
+ "cc_type" : {
20
+ "description" : "CreditCard type",
21
+ "type" : "string",
22
+ "maxLength" : 255,
23
+ "readOnly" : true
24
+ },
25
+ "cc_category" : {
26
+ "description" : "CreditCard category",
27
+ "type" : "string",
28
+ "maxLength" : 255,
29
+ "readOnly" : true
30
+ },
31
+ "cc_sequence" : {
32
+ "description" : "CreditCard sequence identifier, identical for all related transactions",
33
+ "type" : "string",
34
+ "maxLength" : 255,
35
+ "readOnly" : true
36
+ },
37
+ "pos_code" : {
38
+ "description" : "Code for point of service where card was used",
39
+ "type" : "string",
40
+ "maxLength" : 3,
41
+ "readOnly" : true
42
+ },
43
+ "financial_network_code" : {
44
+ "description" : "",
45
+ "type" : "string",
46
+ "maxLength" : 5,
47
+ "readOnly" : true
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "capital_bond_details",
5
+ "description" : "Currency order related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "gmt_details",
5
+ "description" : "Global money transfer related preauthorization details",
6
+ "properties" : {
7
+ "destination_country" : {
8
+ "$ref" : "../base_types/base_types.json#definitions/country",
9
+ "readOnly" : true
10
+ },
11
+ "destination_currency" : {
12
+ "$ref" : "../base_types/base_types.json#definitions/currency",
13
+ "readOnly" : true
14
+ },
15
+ "amount_in_destination_currency" : {
16
+ "description" : "Amount transferred in the destination currency",
17
+ "$ref" : "../base_types/base_types.json#definitions/amount",
18
+ "readOnly" : true
19
+ },
20
+ "exchange_rate" : {
21
+ "description" : "Exchange rate valid at the time the transfer has been performed",
22
+ "type" : "number",
23
+ "readOnly" : true
24
+ },
25
+ "fee_transaction_id" : {
26
+ "description" : "A unique identifier of the fee transaction that belongs to the gmt transaction",
27
+ "type" : "string",
28
+ "readOnly" : true
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "internal_transfer_details",
5
+ "description" : "Fidor internal transfer related preauthorization details",
6
+ "properties" : {
7
+ "remote_account_id" : {
8
+ "$ref" : "../base_types/base_types.json#definitions/account_id",
9
+ "readOnly" : true
10
+ },
11
+ "internal_transfer_id" : {
12
+ "description" : "Id of transfer if transaction/preauth was created by a transfer. Refunded transactions have no id",
13
+ "readOnly" : true,
14
+ "type" : "string"
15
+ },
16
+ "remote_bic" : {
17
+ "description" : "BIC of the transfer sender",
18
+ "readOnly" : true,
19
+ "type" : "string"
20
+ },
21
+ "remote_iban" : {
22
+ "description" : "IBAN of the transfer sender",
23
+ "readOnly" : true,
24
+ "type" : "string"
25
+ },
26
+ "remote_name" : {
27
+ "description" : "Full name of the transfer sender",
28
+ "readOnly" : true,
29
+ "type" : "string"
30
+ },
31
+ "remote_nick" : {
32
+ "description" : "Community nickname of the transfer sender",
33
+ "readOnly" : true,
34
+ "type" : "string"
35
+ },
36
+ "remote_subject" : {
37
+ "description" : "Subject of the transaction",
38
+ "readOnly" : true,
39
+ "type" : "string"
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "ripple_details",
5
+ "description" : "Ripple transfer related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }