fidor_schema 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,204 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Customer",
4
+ "name" : "customer",
5
+ "description" : "",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "email" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/email",
12
+ "required" : true,
13
+ "readonly" : true
14
+ },
15
+ "first_name" : {
16
+ "description" : "The given name of the customer",
17
+ "type" : "string",
18
+ "required" : true,
19
+ "maxLength" : 30,
20
+ "readonly" : true
21
+ },
22
+ "last_name" : {
23
+ "description" : "The family name of the customer",
24
+ "type" : "string",
25
+ "required" : true,
26
+ "maxLength" : 30,
27
+ "readonly" : true
28
+ },
29
+ "gender" : {
30
+ "description" : "The gender of the customer",
31
+ "enum" : [
32
+ "m",
33
+ "f"
34
+ ],
35
+ "type" : "string",
36
+ "required" : true,
37
+ "readonly" : true
38
+ },
39
+ "title" : {
40
+ "description" : "Title or salutation e.g Dr. Prof.",
41
+ "type" : "string",
42
+ "required" : true,
43
+ "maxLength" : 30,
44
+ "readonly" : true
45
+ },
46
+ "nick" : {
47
+ "description" : "Nickname used in community.",
48
+ "type" : "string",
49
+ "required" : true,
50
+ "maxLength" : 40,
51
+ "minLength" : 2,
52
+ "readonly" : true
53
+ },
54
+ "maiden_name" : {
55
+ "description" : "Name at birth, maiden name.",
56
+ "type" : "string",
57
+ "maxLength" : 30,
58
+ "readonly" : true
59
+ },
60
+ "adr_street" : {
61
+ "description" : "Address street",
62
+ "type" : "string",
63
+ "maxLength" : 100,
64
+ "readonly" : true
65
+ },
66
+ "adr_street_number" : {
67
+ "description" : "Address street number",
68
+ "type" : "string",
69
+ "maxLength" : 10,
70
+ "readonly" : true
71
+ },
72
+ "adr_post_code" : {
73
+ "description" : "Address post code",
74
+ "type" : "string",
75
+ "maxLength" : 10,
76
+ "readonly" : true
77
+ },
78
+ "adr_city" : {
79
+ "description" : "Address City",
80
+ "type" : "string",
81
+ "maxLength" : 100,
82
+ "readonly" : true
83
+ },
84
+ "adr_country" : {
85
+ "description" : "Address Country",
86
+ "type" : "string",
87
+ "maxLength" : 100,
88
+ "readonly" : true
89
+ },
90
+ "adr_phone" : {
91
+ "description" : "Phone home",
92
+ "type" : "string",
93
+ "maxLength" : 30,
94
+ "readonly" : true
95
+ },
96
+ "adr_mobile" : {
97
+ "description" : "Phone mobile",
98
+ "type" : "string",
99
+ "maxLength" : 30,
100
+ "readonly" : true
101
+ },
102
+ "adr_fax" : {
103
+ "description" : "Phone fax",
104
+ "type" : "string",
105
+ "maxLength" : 30,
106
+ "readonly" : true
107
+ },
108
+ "adr_businessphone" : {
109
+ "description" : "Phone business",
110
+ "type" : "string",
111
+ "maxLength" : 30,
112
+ "readonly" : true
113
+ },
114
+ "birthday" : {
115
+ "description" : "Date of birth",
116
+ "type" : "string",
117
+ "format" : "date-time",
118
+ "readonly" : true
119
+ },
120
+ "is_verified" : {
121
+ "description" : "Indicates whether KYC has been performed.",
122
+ "type" : "boolean",
123
+ "readonly" : true
124
+ },
125
+ "nationality" : {
126
+ "$ref" : "./base_types/base_types.json#definitions/country",
127
+ "readonly" : true
128
+ },
129
+ "marital_status" : {
130
+ "description" : "1: single, 2: married, 3: widowed, 4: divorced, 5: seperated, 6: de facto",
131
+ "enum" : [
132
+ 1,
133
+ 2,
134
+ 3,
135
+ 4,
136
+ 5,
137
+ 6
138
+ ],
139
+ "type" : "integer",
140
+ "readonly" : true
141
+ },
142
+ "religion" : {
143
+ "description" : "Denomination for tax reasons. 0: no information, 1: no denomination, 2: Protestant, 3: Roman-Catholic, 4-18: Other denominations",
144
+ "enum" : [
145
+ 0,
146
+ 1,
147
+ 2,
148
+ 3,
149
+ 4,
150
+ 5,
151
+ 6,
152
+ 8,
153
+ 9,
154
+ 10,
155
+ 11,
156
+ 12,
157
+ 13,
158
+ 14,
159
+ 15,
160
+ 16,
161
+ 17,
162
+ 18
163
+ ],
164
+ "type" : "integer",
165
+ "readonly" : true
166
+ },
167
+ "id_card_registration_city" : {
168
+ "description" : "City where the id card is registered.",
169
+ "type" : "string",
170
+ "readonly" : true
171
+ },
172
+ "id_card_number" : {
173
+ "description" : "ID card number",
174
+ "type" : "string",
175
+ "readonly" : true
176
+ },
177
+ "id_card_valid_until" : {
178
+ "description" : "Expiration date of id card",
179
+ "format" : "date",
180
+ "type" : "string",
181
+ "readonly" : true
182
+ },
183
+ "created_at" : {
184
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
185
+ },
186
+ "updated_at" : {
187
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
188
+ }
189
+ },
190
+ "links" : [
191
+ {
192
+ "rel" : "self",
193
+ "href" : "customers/{id}"
194
+ },
195
+ {
196
+ "rel" : "instances",
197
+ "href" : "customers"
198
+ },
199
+ {
200
+ "rel" : "accounts",
201
+ "href" : "customers/{id}/accounts"
202
+ }
203
+ ]
204
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Error",
4
+ "name" : "error",
5
+ "description" : "A standard error object",
6
+ "properties" : {
7
+ "message" : {
8
+ "description" : "a human readable representation of the error",
9
+ "required" : true,
10
+ "type" : "string",
11
+ "readonly" : true
12
+ },
13
+ "code" : {
14
+ "description" : "a numeric code identifying the error",
15
+ "required" : false,
16
+ "type" : "number",
17
+ "readonly" : true
18
+ },
19
+ "errors" : {
20
+ "description" : "error details, if applicable",
21
+ "required" : false,
22
+ "type" : "array",
23
+ "items" : {
24
+ "type" : "object",
25
+ "properties" : {
26
+ "field" : {
27
+ "description" : "identifies the field that caused this error",
28
+ "type" : "string",
29
+ "required" : false,
30
+ "readonly" : true
31
+ },
32
+ "message" : {
33
+ "description" : "provide more information about the cause of this error",
34
+ "type" : "string",
35
+ "required" : false,
36
+ "readonly" : true
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Internal Transfer",
4
+ "name" : "internal_transfer",
5
+ "description" : "A transfer initiates a transaction e.g get / send money. If the transfer fails no transaction is created!",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "external_uid" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/external_uid"
12
+ },
13
+ "account_id" : {
14
+ "description" : "Sending account.",
15
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
16
+ "required" : true
17
+ },
18
+ "user_id" : {
19
+ "$ref" : "./base_types/base_types.json#definitions/user_id"
20
+ },
21
+ "transaction_id" : {
22
+ "$ref" : "./base_types/base_types.json#definitions/transaction_id"
23
+ },
24
+ "receiver" : {
25
+ "description" : "The transaction's receiver can be defined as a numerical fidor account id, a twitter name, an email or a phone number.",
26
+ "required" : true,
27
+ "oneOf" : [
28
+ {
29
+ "$ref" : "./base_types/base_types.json#definitions/account_id"
30
+ },
31
+ {
32
+ "$ref" : "./base_types/base_types.json#definitions/twitter"
33
+ },
34
+ {
35
+ "$ref" : "./base_types/base_types.json#definitions/email"
36
+ },
37
+ {
38
+ "$ref" : "./base_types/base_types.json#definitions/phone"
39
+ }
40
+ ]
41
+ },
42
+ "amount" : {
43
+ "$ref" : "./base_types/base_types.json#definitions/amount",
44
+ "required" : true
45
+ },
46
+ "subject" : {
47
+ "$ref" : "./base_types/base_types.json#definitions/subject",
48
+ "maxLength" : 300
49
+ },
50
+ "state" : {
51
+ "description" : "State of the transfer. received: Order accepted by system | mobile_tan_sent: mtan for order processing was sent | pending_receiver_message: ??? | pending_receiver : ??? | pending_backoffice_transfer: ??? | success: transfer successfully executed | failure: An error occurred during execution | expired : mtan or receiver response expired",
52
+ "enum" : [
53
+ "received",
54
+ "mobile_tan_sent",
55
+ "pending_receiver_message",
56
+ "pending_receiver",
57
+ "pending_backoffice_transfer",
58
+ "success",
59
+ "failure",
60
+ "expired"
61
+ ],
62
+ "readonly" : true,
63
+ "type" : "string"
64
+ },
65
+ "created_at" : {
66
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
67
+ },
68
+ "updated_at" : {
69
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
70
+ }
71
+ },
72
+ "links" : [
73
+ {
74
+ "rel" : "self",
75
+ "href" : "internal_transfers/{id}"
76
+ },
77
+ {
78
+ "rel" : "instances",
79
+ "href" : "internal_transfers",
80
+ "properties" : {
81
+ "filter[account_ids]" : {
82
+ "title" : "Find internal transfers belonging to the given account ids. Single id or multiple ids comma-separated.",
83
+ "format" : "date",
84
+ "type" : "string"
85
+ },
86
+ "filter[created_at_from]" : {
87
+ "title" : "Creation date filter from >= date",
88
+ "format" : "date",
89
+ "type" : "string"
90
+ },
91
+ "filter[created_at_to]" : {
92
+ "title" : "Creation date filter to <= date",
93
+ "format" : "date",
94
+ "type" : "string"
95
+ },
96
+ "filter[states]" : {
97
+ "title" : "Filter by single or multiple csv delimited states",
98
+ "enum" : [
99
+ "received",
100
+ "mobile_tan_sent",
101
+ "pending_receiver_message",
102
+ "pending_receiver",
103
+ "pending_backoffice_transfer",
104
+ "success",
105
+ "failure",
106
+ "expired"
107
+ ],
108
+ "type" : "string"
109
+ },
110
+ "page" : {
111
+ "title" : "Page",
112
+ "description" : "In paginated results set the page to look for",
113
+ "type" : "number"
114
+ },
115
+ "per_page" : {
116
+ "title" : "Per page",
117
+ "description" : "Results per page. Default is 10, max is 100",
118
+ "type" : "number"
119
+ },
120
+ "sort" : {
121
+ "title" : "Sort",
122
+ "enum" : [
123
+ "ASC",
124
+ "DESC"
125
+ ],
126
+ "description" : "Sort the results in ASC or DESC",
127
+ "type" : "string"
128
+ }
129
+ }
130
+ },
131
+ {
132
+ "rel" : "create",
133
+ "href" : "internal_transfers",
134
+ "method" : "POST"
135
+ }
136
+ ]
137
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Sepa Credit Transfer",
4
+ "name" : "sepa_credit_transfer",
5
+ "description" : "A transfer initiates a transaction e.g get / send money. If the transfer fails no transaction is created!",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "external_uid" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/external_uid"
12
+ },
13
+ "account_id" : {
14
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
15
+ "required" : true
16
+ },
17
+ "user_id" : {
18
+ "$ref" : "./base_types/base_types.json#definitions/user_id"
19
+ },
20
+ "transaction_id" : {
21
+ "$ref" : "./base_types/base_types.json#definitions/transaction_id"
22
+ },
23
+ "subject" : {
24
+ "$ref" : "./base_types/base_types.json#definitions/subject",
25
+ "maxLength" : 140
26
+ },
27
+ "amount" : {
28
+ "$ref" : "./base_types/base_types.json#definitions/amount",
29
+ "required" : true
30
+ },
31
+ "remote_name" : {
32
+ "description" : "Receiving account holder name",
33
+ "type" : "string",
34
+ "maxLength" : 70
35
+ },
36
+ "remote_iban" : {
37
+ "$ref" : "./base_types/base_types.json#definitions/iban"
38
+ },
39
+ "remote_bic" : {
40
+ "$ref" : "./base_types/base_types.json#definitions/bic"
41
+ },
42
+ "state" : {
43
+ "description" : "State of the transfer. received: Order was accepted by the system | processing: Order is being processed | mobile_tan_sent: awaiting tan entry | expired : mtan entry expired | failure: transfer could not be completed | success: transfer successfully executed",
44
+ "enum" : [
45
+ "received",
46
+ "mobile_tan_sent",
47
+ "success",
48
+ "expired",
49
+ "failure"
50
+ ],
51
+ "readonly" : true,
52
+ "type" : "string"
53
+ },
54
+ "created_at" : {
55
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
56
+ },
57
+ "updated_at" : {
58
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
59
+ }
60
+ },
61
+ "links" : [
62
+ {
63
+ "rel" : "self",
64
+ "href" : "sepa_credit_transfers/{id}"
65
+ },
66
+ {
67
+ "rel" : "instances",
68
+ "href" : "sepa_credit_transfers",
69
+ "properties" : {
70
+ "filter[account_ids]" : {
71
+ "title" : "Find transfers belonging to the given account ids. Single id or multiple ids comma-separated.",
72
+ "format" : "date",
73
+ "type" : "string"
74
+ },
75
+ "filter[created_at_from]" : {
76
+ "title" : "Creation date filter from >= date",
77
+ "format" : "date",
78
+ "type" : "string"
79
+ },
80
+ "filter[created_at_to]" : {
81
+ "title" : "Creation date filter to <= date",
82
+ "format" : "date",
83
+ "type" : "string"
84
+ },
85
+ "filter[states]" : {
86
+ "title" : "Filter by single or multiple csv delimited states",
87
+ "enum" : [
88
+ "received",
89
+ "mobile_tan_sent",
90
+ "success",
91
+ "expired",
92
+ "failure"
93
+ ],
94
+ "type" : "string"
95
+ },
96
+ "page" : {
97
+ "title" : "Page",
98
+ "description" : "In paginated results set the page to look for",
99
+ "type" : "number"
100
+ },
101
+ "per_page" : {
102
+ "title" : "Per page",
103
+ "description" : "Results per page. Default is 10, max is 100",
104
+ "type" : "number"
105
+ },
106
+ "sort" : {
107
+ "title" : "Sort",
108
+ "enum" : [
109
+ "ASC",
110
+ "DESC"
111
+ ],
112
+ "description" : "Sort the results in ASC or DESC",
113
+ "type" : "string"
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "rel" : "create",
119
+ "href" : "sepa_credit_transfers",
120
+ "method" : "POST"
121
+ }
122
+ ]
123
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Sepa Direct Debit",
4
+ "name" : "sepa_direct_debit",
5
+ "description" : "A direct debit can only be performed with a valid sepa mandate, authorizing access to the debtor's account.",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "external_uid" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/external_uid"
12
+ },
13
+ "account_id" : {
14
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
15
+ "required" : true
16
+ },
17
+ "user_id" : {
18
+ "$ref" : "./base_types/base_types.json#definitions/user_id"
19
+ },
20
+ "mandate_id" : {
21
+ "description" : "The sepa mandate used by the debit",
22
+ "type" : "number",
23
+ "required" : true
24
+ },
25
+ "amount" : {
26
+ "$ref" : "./base_types/base_types.json#definitions/amount",
27
+ "required" : true
28
+ },
29
+ "eref" : {
30
+ "$ref" : "./base_types/base_types.json#definitions/eref"
31
+ },
32
+ "subject" : {
33
+ "$ref" : "./base_types/base_types.json#definitions/subject",
34
+ "maxLength" : 140
35
+ },
36
+ "collection_date" : {
37
+ "description" : "Requested date for the debit to be withdrawn from the foreign account.",
38
+ "format" : "date",
39
+ "required" : true,
40
+ "type" : "string"
41
+ },
42
+ "state" : {
43
+ "description" : "State of the transfer. received: Order is currently being processed | processing: the transaction is being processed | failure: Order was rejected | error: An error occurred during execution | success: debit was successfully completed",
44
+ "enum" : [
45
+ "received",
46
+ "processing",
47
+ "success",
48
+ "failure"
49
+ ],
50
+ "readonly" : true,
51
+ "type" : "string"
52
+ },
53
+ "created_at" : {
54
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
55
+ },
56
+ "updated_at" : {
57
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
58
+ }
59
+ },
60
+ "links" : [
61
+ {
62
+ "rel" : "self",
63
+ "href" : "sepa_direct_debits/{id}"
64
+ },
65
+ {
66
+ "rel" : "instances",
67
+ "href" : "sepa_direct_debits",
68
+ "properties" : {
69
+ "filter[account_ids]" : {
70
+ "title" : "Find direct debits belonging to the given account ids. Single id or multiple ids comma-separated.",
71
+ "format" : "date",
72
+ "type" : "string"
73
+ },
74
+ "filter[created_at_from]" : {
75
+ "title" : "Creation date filter from >= date",
76
+ "format" : "date",
77
+ "type" : "string"
78
+ },
79
+ "filter[created_at_to]" : {
80
+ "title" : "Creation date filter to <= date",
81
+ "format" : "date",
82
+ "type" : "string"
83
+ },
84
+ "filter[states]" : {
85
+ "title" : "Filter by single or multiple csv delimited states",
86
+ "enum" : [
87
+ "in_clearance",
88
+ "processed",
89
+ "rejected",
90
+ "error"
91
+ ],
92
+ "type" : "string"
93
+ },
94
+ "filter[eref]" : {
95
+ "title" : "Match full end to end reference",
96
+ "type" : "string"
97
+ },
98
+ "page" : {
99
+ "title" : "Page",
100
+ "description" : "In paginated results set the page to retrieve",
101
+ "type" : "number"
102
+ },
103
+ "per_page" : {
104
+ "title" : "Per page",
105
+ "description" : "Results per page. Default is 10, max is 100",
106
+ "type" : "number"
107
+ },
108
+ "sort" : {
109
+ "title" : "Sort",
110
+ "enum" : [
111
+ "ASC",
112
+ "DESC"
113
+ ],
114
+ "description" : "Sort the results in ASC or DESC",
115
+ "type" : "string"
116
+ }
117
+ }
118
+ },
119
+ {
120
+ "rel" : "create",
121
+ "href" : "sepa_direct_debits",
122
+ "method" : "POST"
123
+ }
124
+ ]
125
+ }