fidor_schema 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+ }