sk_api_schema 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,10 +3,12 @@
3
3
  "description": "A line item for a document",
4
4
  "properties":{
5
5
  "id":{
6
- "description": "uuid of the item.",
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
13
  "position":{
12
14
  "description": "Required since items are sorted by position.",
@@ -15,11 +17,13 @@
15
17
  },
16
18
  "name":{
17
19
  "description": "The name of an item",
18
- "type":"string"
20
+ "type":"string",
21
+ "maxLength": 50
19
22
  },
20
23
  "description":{
21
24
  "description": "Item description",
22
- "type":"string"
25
+ "type":"string",
26
+ "format": "text"
23
27
  },
24
28
  "price_single":{
25
29
  "description": "Net price of a single item",
@@ -30,22 +34,25 @@
30
34
  "type":"number"
31
35
  },
32
36
  "discount":{
33
- "description": "Discount in percent applied to the items net total",
37
+ "description": "Discount in percent applied to the items net total. Can also be negative if you want to add additional charges.",
34
38
  "type":"number"
35
39
  },
36
40
  "quantity_unit":{
37
41
  "description": "Quantity unit: kg, days, month.",
38
- "type":"string"
42
+ "type":"string",
43
+ "maxLength": 30
39
44
  },
40
45
  "quantity":{
41
- "description": "Quantity of the item. Must be > 0",
46
+ "description": "Quantity of the item. Must be >= 0",
42
47
  "type":"number",
43
- "exclusiveMinimum":0,
48
+ "minimum":0,
44
49
  "required":true
45
50
  },
46
51
  "product_id":{
47
52
  "description": "A uuid of a product, referenced in this item. This makes it easier to track a products turnover and list the documents it is used on. Also see use_product",
48
- "type":"string"
53
+ "type":"string",
54
+ "maxLength": 22,
55
+ "minLength":22
49
56
  },
50
57
  "use_product":{
51
58
  "description": "If set and product_id is present, the products name, description, quantity, unit, price are copied if the according item fields are missing.",
@@ -63,7 +70,7 @@
63
70
  "readonly":true,
64
71
  "type":"string"
65
72
  },
66
- "_destroy": {
73
+ "_destroy":{
67
74
  "description": "When set an existing item will be deleted. This switch is used for items passed-in nested inside their parent object(a document), which is default as long as there is no line item endpoint available.",
68
75
  "type":"boolean"
69
76
  }
data/json/v1.0/order.json CHANGED
@@ -3,14 +3,17 @@
3
3
  "description": "An order",
4
4
  "properties":{
5
5
  "id":{
6
- "description": "UUID assigned by SK",
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
13
  "number":{
12
14
  "description": "Unique number assigned by SK order number schema. Auto-assigned when order is opened. Required unless doc status is draft.",
13
- "type":"string"
15
+ "type":"string",
16
+ "maxLength": 50
14
17
  },
15
18
  "address_field":{
16
19
  "description": "Receiver address, normally shown in envelope window. Defaults to client address_field if empty and client_id present.",
@@ -38,27 +41,31 @@
38
41
  },
39
42
  "external_ref":{
40
43
  "description": "Some external reference, whatever this may be.",
41
- "type":"string"
44
+ "type":"string",
45
+ "maxLength": 255
42
46
  },
43
47
  "payment_method":{
44
- "description": "How the document is beeing payed. Used in new payments.",
48
+ "description": "How the document is being payed. Used in new payments.",
45
49
  "enum":["cash","bank_transfer","credit_card","paypal","direct_debit","cheque", "moneybookers", "premium_sms"],
46
50
  "type":"string"
47
51
  },
48
52
  "title":{
49
- "description": "The headline of a document. Use SK placeholders to prevent exessive typing e.g. 'Your order [number]'",
50
- "type":"string"
53
+ "description": "The headline of a document. Use SK placeholders to prevent excessive typing e.g. 'Your order [number]'",
54
+ "type":"string",
55
+ "maxLength": 255
51
56
  },
52
57
  "notes_before":{
53
- "description": "Notes shown before the line items. Normaly contains salutation and other introductional information. SK placeholders can be used.",
54
- "type":"string"
58
+ "description": "Notes shown before the line items. Normally contains salutation and other introductional information. SK placeholders can be used.",
59
+ "type":"string",
60
+ "format":"text"
55
61
  },
56
62
  "notes_after":{
57
63
  "description": "Notes shown after the line items. Can contain information about payments, bank account or a thank-you message. SK placeholders can be used.",
58
- "type":"string"
64
+ "type":"string",
65
+ "format":"text"
59
66
  },
60
- "tag_list": {
61
- "description": "Space separated list of tags.",
67
+ "tag_list":{
68
+ "description": "Space separated list of tags. Are split and saved as Tag objects on create, update.",
62
69
  "type":"string"
63
70
  },
64
71
  "language":{
@@ -80,11 +87,15 @@
80
87
  },
81
88
  "client_id":{
82
89
  "description": "The clients uuid. If a new client is assigned its language, address field are used if those fields are not set.",
83
- "type":"string"
90
+ "type":"string",
91
+ "maxLength": 22,
92
+ "minLength":22
84
93
  },
85
94
  "team_id":{
86
95
  "description": "A team uuid. If set only the team and its parent teams can see the record.",
87
- "type":"string"
96
+ "type":"string",
97
+ "maxLength": 22,
98
+ "minLength":22
88
99
  },
89
100
  "line_items":{
90
101
  "description": "Line items for the document",
@@ -147,7 +158,7 @@
147
158
  },
148
159
  "filter[q]":{
149
160
  "title" : "Search",
150
- "description": "Search in title, number, addressfield",
161
+ "description": "Search in title, number, address field",
151
162
  "type":"string"
152
163
  },
153
164
  "filter[number]":{
@@ -1,21 +1,24 @@
1
1
  { "type":"object",
2
2
  "title": "payment",
3
3
  "description":"An payment in SK must always be related to an object.",
4
- "properties": {
5
- "id": {
6
- "description": "uuid of the object",
4
+ "properties":{
5
+ "id":{
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
- "amount": {
13
+ "amount":{
12
14
  "description": "The payment amount",
13
15
  "required":true,
14
16
  "type":"number"
15
17
  },
16
18
  "external_ref":{
17
19
  "description": "Reference number f.ex. issued by the bank.",
18
- "type":"string"
20
+ "type":"string",
21
+ "maxLength": 255
19
22
  },
20
23
  "date":{
21
24
  "description": "Date the payment was made.",
@@ -31,21 +34,25 @@
31
34
  "enum":["cash","bank_transfer","credit_card","paypal","direct_debit","cheque", "moneybookers", "premium_sms"],
32
35
  "type":"string"
33
36
  },
34
- "related_object_type": {
37
+ "related_object_type":{
35
38
  "description": "Object type of the payments parent. Is the camel-cased base class name: Document for invoice, credit_note,.., Contact for client",
36
39
  "required":true,
37
40
  "type":"string"
38
41
  },
39
- "related_object_id": {
42
+ "related_object_id":{
40
43
  "description": "uuid of the payments parent object.",
41
44
  "required":true,
42
- "type":"string"
45
+ "type":"string",
46
+ "maxLength": 22,
47
+ "minLength":22
43
48
  },
44
49
  "team_id":{
45
50
  "description": "A team uuid. If set only the team and its parent teams can see the record.",
46
- "type":"string"
51
+ "type":"string",
52
+ "maxLength": 22,
53
+ "minLength":22
47
54
  },
48
- "created_at": {
55
+ "created_at":{
49
56
  "description": "Date the object was created in SK. Never changes afterwards",
50
57
  "format":"date-time",
51
58
  "readonly":true,
@@ -71,7 +78,7 @@
71
78
  },
72
79
  "filter[q]":{
73
80
  "title" : "Search",
74
- "description": "Search in title, number, addressfield",
81
+ "description": "Search in title, number, address field",
75
82
  "type":"string"
76
83
  },
77
84
  "filter[from]":{
@@ -110,7 +117,7 @@
110
117
  "properties" : {
111
118
  "new_doc_status":{
112
119
  "title" : "New status for document",
113
- "description": "Convinience method to close a document with a payment.",
120
+ "description": "Convenience method to close a document with a payment.",
114
121
  "enum": ["open","closed"],
115
122
  "type":"string"
116
123
  }
@@ -3,15 +3,19 @@
3
3
  "description": "A payment reminder",
4
4
  "properties":{
5
5
  "id":{
6
- "description": "UUID assigned by SK",
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
13
  "invoice_id":{
12
14
  "description": "The invoice for the reminder. If set assumes all other fields are set to custom values, instead of filling them from the invoice. POSTing to invoices/:id/payment_reminders, automatically set this and all other fields.",
13
15
  "required": true,
14
- "type":"string"
16
+ "type":"string",
17
+ "maxLength": 22,
18
+ "minLength":22
15
19
  },
16
20
  "address_field":{
17
21
  "description": "Receiver address, shown in envelope window. Defaults to invoice.client.address_field if created from invoice.",
@@ -34,22 +38,26 @@
34
38
  },
35
39
  "external_ref":{
36
40
  "description": "Some external reference, whatever this may be.",
37
- "type":"string"
41
+ "type":"string",
42
+ "maxLength": 255
38
43
  },
39
44
  "title":{
40
- "description": "The headline of a document. Use SK placeholders to prevent exessive typing e.g. 'Your payment_reminder [number]'. Defaults to values from settings",
41
- "type":"string"
45
+ "description": "The headline of a document. Use SK placeholders to prevent excessive typing e.g. 'Your payment_reminder [number]'. Defaults to values from settings",
46
+ "type":"string",
47
+ "maxLength": 255
42
48
  },
43
49
  "notes_before":{
44
- "description": "Notes shown before the line items. Normaly contains salutation and other introductional information. SK placeholders can be used. Defaults to values from settings",
45
- "type":"string"
50
+ "description": "Notes shown before the line items. Normally contains salutation and other introductional information. SK placeholders can be used. Defaults to values from settings",
51
+ "type":"string",
52
+ "format":"text"
46
53
  },
47
54
  "notes_after":{
48
55
  "description": "Notes shown after the line items. Can contain information about payments, bank account or a thank-you message. SK placeholders can be used. Defaults to values from settings",
49
- "type":"string"
56
+ "type":"string",
57
+ "format":"text"
50
58
  },
51
- "tag_list": {
52
- "description": "Space separated list of tags.",
59
+ "tag_list":{
60
+ "description": "Space separated list of tags. Are split and saved as Tag objects on create, update.",
53
61
  "type":"string"
54
62
  },
55
63
  "language":{
@@ -71,11 +79,15 @@
71
79
  },
72
80
  "client_id":{
73
81
  "description": "The clients uuid. Is assigned throught the related invoice.",
74
- "type":"string"
82
+ "type":"string",
83
+ "maxLength": 22,
84
+ "minLength":22
75
85
  },
76
86
  "team_id":{
77
87
  "description": "A team uuid. If set, only the team and its parent teams can see the record. Defaults to team id from invoice",
78
- "type":"string"
88
+ "type":"string",
89
+ "maxLength": 22,
90
+ "minLength":22
79
91
  },
80
92
  "line_items":{
81
93
  "description": "Line items for the document. Defaults to invoice.gross_total and late fee values from settings",
@@ -128,7 +140,7 @@
128
140
  },
129
141
  "filter[q]":{
130
142
  "title" : "Search",
131
- "description": "Search in title, number, addressfield",
143
+ "description": "Search in title, number, address field",
132
144
  "type":"string"
133
145
  },
134
146
  "filter[tags]":{
@@ -3,23 +3,28 @@
3
3
  "description": "A product in SK",
4
4
  "properties":{
5
5
  "id":{
6
- "description": "uuid of the product.",
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
13
  "number":{
12
14
  "description": "Unique number assigned by you or if empty SK product number schema.",
13
- "type":"string"
15
+ "type":"string",
16
+ "maxLength": 50
14
17
  },
15
18
  "name":{
16
19
  "description": "The name of the product",
17
20
  "type":"string",
18
- "required":true
21
+ "required":true,
22
+ "maxLength": 50
19
23
  },
20
24
  "description":{
21
25
  "description": "Product description",
22
- "type":"string"
26
+ "type":"string",
27
+ "format":"text"
23
28
  },
24
29
  "price":{
25
30
  "description": "Net price of a single product",
@@ -31,7 +36,8 @@
31
36
  },
32
37
  "quantity_unit":{
33
38
  "description": "Unit like kg, days, month.",
34
- "type":"string"
39
+ "type":"string",
40
+ "maxLength": 30
35
41
  },
36
42
  "created_at":{
37
43
  "description": "Date the object was created in SK. Never changes afterwards",
@@ -47,9 +53,11 @@
47
53
  },
48
54
  "team_id":{
49
55
  "description": "A team uuid. If set only the team and its parent teams can see the record.",
50
- "type":"string"
56
+ "type":"string",
57
+ "maxLength": 22,
58
+ "minLength":22
51
59
  },
52
- "lock_version": {
60
+ "lock_version":{
53
61
  "description": "Increased on every edit, so SK can detect/prevent a concurrent edit by another user. First save wins.",
54
62
  "type":"integer"
55
63
  }
@@ -75,7 +83,7 @@
75
83
  "title" : "Search",
76
84
  "description": "Searches in number, name, description, price",
77
85
  "type":"string"
78
- },
86
+ },
79
87
  "sort_by":{
80
88
  "title" : "Sort by",
81
89
  "description": "Sort the results by the given field => number",
@@ -3,15 +3,18 @@
3
3
  "description": "An recurring is used as an template for new invoices.",
4
4
  "properties":{
5
5
  "id":{
6
- "description": "UUID assigned by SK",
6
+ "description":"Unique identifier - UUID",
7
7
  "identity":true,
8
8
  "readonly":true,
9
- "type":"string"
9
+ "type":"string",
10
+ "maxLength": 22,
11
+ "minLength":22
10
12
  },
11
13
  "number":{
12
14
  "description": "Unique name to identify the document. Unlike all other document this one has no number schema and not auto assign",
13
15
  "type":"string",
14
- "required":true
16
+ "required":true,
17
+ "maxLength": 50
15
18
  },
16
19
  "address_field":{
17
20
  "description": "Receiver address, normally shown in envelope window. Defaults to client address_field if empty and client_id given.",
@@ -40,28 +43,32 @@
40
43
  "required":true
41
44
  },
42
45
  "payment_method":{
43
- "description": "How the document is beeing payed. Used in new payments.",
46
+ "description": "How the document is being payed. Used in new payments.",
44
47
  "enum":["cash","bank_transfer","credit_card","paypal","direct_debit","cheque", "moneybookers", "premium_sms"],
45
48
  "type":"string"
46
49
  },
47
50
  "external_ref":{
48
51
  "description": "Some external reference, whatever this may be.",
49
- "type":"string"
52
+ "type":"string",
53
+ "maxLength": 255
50
54
  },
51
55
  "title":{
52
- "description": "The headline of a document. Use SK placeholders to prevent exessive typing e.g. 'Your recurring [number]'",
53
- "type":"string"
56
+ "description": "The headline of a document. Use SK placeholders to prevent excessive typing e.g. 'Your recurring [number]'",
57
+ "type":"string",
58
+ "maxLength": 255
54
59
  },
55
60
  "notes_before":{
56
- "description": "Notes shown before the line items. Normaly contains salutation and other introductional information. SK placeholders can be used.",
57
- "type":"string"
61
+ "description": "Notes shown before the line items. Normally contains salutation and other introductional information. SK placeholders can be used.",
62
+ "type":"string",
63
+ "format":"text"
58
64
  },
59
65
  "notes_after":{
60
66
  "description": "Notes shown after the line items. Can contain information about payments, bank account or a thank-you message. SK placeholders can be used.",
61
- "type":"string"
67
+ "type":"string",
68
+ "format":"text"
62
69
  },
63
- "tag_list": {
64
- "description": "Space separated list of tags.",
70
+ "tag_list":{
71
+ "description": "Space separated list of tags. Are split and saved as Tag objects on create, update.",
65
72
  "type":"string"
66
73
  },
67
74
  "language":{
@@ -77,11 +84,15 @@
77
84
  },
78
85
  "client_id":{
79
86
  "description": "The clients uuid. If a new client is assigned its language, address field, due days and cash discount are used if those fields are not set.",
80
- "type":"string"
87
+ "type":"string",
88
+ "maxLength": 22,
89
+ "minLength":22
81
90
  },
82
91
  "team_id":{
83
92
  "description": "A team uuid. If set only the team and its parent teams can see the record.",
84
- "type":"string"
93
+ "type":"string",
94
+ "maxLength": 22,
95
+ "minLength":22
85
96
  },
86
97
  "line_items":{
87
98
  "description": "Line items for the document",
@@ -144,7 +155,7 @@
144
155
  },
145
156
  "filter[q]":{
146
157
  "title" : "Search",
147
- "description": "Search in title, number, addressfield",
158
+ "description": "Search in title, number, address field",
148
159
  "type":"string"
149
160
  },
150
161
  "filter[tags]":{