losant_rest 1.11.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/docs/_schemas.md +3645 -1144
  4. data/docs/devices.md +124 -0
  5. data/docs/flowVersions.md +1 -0
  6. data/docs/flows.md +2 -0
  7. data/lib/losant_rest/client.rb +2 -2
  8. data/lib/losant_rest/devices.rb +152 -0
  9. data/lib/losant_rest/flow_versions.rb +3 -0
  10. data/lib/losant_rest/flows.rb +6 -0
  11. data/lib/losant_rest/version.rb +1 -1
  12. data/schemas/advancedFlowByVersionQuery.json +665 -0
  13. data/schemas/advancedFlowQuery.json +665 -0
  14. data/schemas/advancedFlowVersionQuery.json +707 -0
  15. data/schemas/applicationApiTokenPost.json +2 -0
  16. data/schemas/attributeNamesResponse.json +14 -0
  17. data/schemas/dashboard.json +3 -0
  18. data/schemas/dashboardPatch.json +3 -0
  19. data/schemas/dashboardPost.json +3 -0
  20. data/schemas/dashboards.json +3 -0
  21. data/schemas/experienceLinkedResources.json +33 -0
  22. data/schemas/experienceVersion.json +9 -0
  23. data/schemas/experienceVersionPatch.json +9 -0
  24. data/schemas/experienceVersions.json +9 -0
  25. data/schemas/flow.json +11 -0
  26. data/schemas/flowPatch.json +11 -0
  27. data/schemas/flowPost.json +11 -0
  28. data/schemas/flowVersion.json +22 -0
  29. data/schemas/flowVersionPost.json +11 -0
  30. data/schemas/flowVersions.json +22 -0
  31. data/schemas/flows.json +11 -0
  32. data/schemas/flowsImportPost.json +22 -0
  33. data/schemas/flowsImportResult.json +33 -0
  34. data/schemas/githubLogin.json +2 -0
  35. data/schemas/integration.json +3 -0
  36. data/schemas/integrationPatch.json +3 -0
  37. data/schemas/integrationPost.json +3 -0
  38. data/schemas/integrations.json +3 -0
  39. data/schemas/notebook.json +7 -0
  40. data/schemas/notebookExecutionLogs.json +7 -0
  41. data/schemas/notebookPatch.json +7 -0
  42. data/schemas/notebookPost.json +7 -0
  43. data/schemas/notebooks.json +7 -0
  44. data/schemas/tagKeysResponse.json +14 -0
  45. data/schemas/tagValuesResponse.json +19 -0
  46. data/schemas/userCredentials.json +2 -0
  47. data/schemas/userPost.json +2 -0
  48. metadata +9 -3
@@ -6,6 +6,7 @@ parameters and the potential responses.
6
6
 
7
7
  ##### Contents
8
8
 
9
+ * [Attribute Names](#attribute-names)
9
10
  * [Delete](#delete)
10
11
  * [Export](#export)
11
12
  * [Get](#get)
@@ -13,6 +14,48 @@ parameters and the potential responses.
13
14
  * [Post](#post)
14
15
  * [Remove Data](#remove-data)
15
16
  * [Send Command](#send-command)
17
+ * [Tag Keys](#tag-keys)
18
+ * [Tag Values](#tag-values)
19
+
20
+ <br/>
21
+
22
+ ## Attribute Names
23
+
24
+ Gets the attribute names that match the given query. Maximum 1K returned.
25
+
26
+ ```ruby
27
+ result = client.devices.attribute_names(applicationId: my_application_id)
28
+
29
+ puts result
30
+ ```
31
+
32
+ #### Authentication
33
+ The client must be configured with a valid api access token to call this
34
+ action. The token must include at least one of the following scopes:
35
+ all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.attributeNames.
36
+
37
+ #### Available Parameters
38
+
39
+ | Name | Type | Required | Description | Default | Example |
40
+ | ---- | ---- | -------- | ----------- | ------- | ------- |
41
+ | applicationId | string | Y | ID associated with the application | | 575ec8687ae143cd83dc4a97 |
42
+ | query | [Advanced Device Query](_schemas.md#advanced-device-query) | N | Device filter JSON object | | [Advanced Device Query Example](_schemas.md#advanced-device-query-example) |
43
+ | dataType | [Device Attribute Data Type Filter](_schemas.md#device-attribute-data-type-filter) | N | Filter the devices by the given attribute data type or types | | [Device Attribute Data Type Filter Example](_schemas.md#device-attribute-data-type-filter-example) |
44
+ | startsWith | string | N | Filter attributes down to those that have names starting with the given string. Case insensitive. | | temper |
45
+ | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
46
+
47
+ #### Successful Responses
48
+
49
+ | Code | Type | Description |
50
+ | ---- | ---- | ----------- |
51
+ | 200 | [Attribute Names Response](_schemas.md#attribute-names-response) | The matching attribute names |
52
+
53
+ #### Error Responses
54
+
55
+ | Code | Type | Description |
56
+ | ---- | ---- | ----------- |
57
+ | 400 | [Error](_schemas.md#error) | Error if malformed request |
58
+ | 404 | [Error](_schemas.md#error) | Error if application was not found |
16
59
 
17
60
  <br/>
18
61
 
@@ -304,3 +347,84 @@ all.Application, all.Device, all.Organization, all.User, devices.*, or devices.s
304
347
  | ---- | ---- | ----------- |
305
348
  | 400 | [Error](_schemas.md#error) | Error if malformed request |
306
349
  | 404 | [Error](_schemas.md#error) | Error if application was not found |
350
+
351
+ <br/>
352
+
353
+ ## Tag Keys
354
+
355
+ Gets the unique tag keys for devices that match the given query. Maximum 1K returned.
356
+
357
+ ```ruby
358
+ result = client.devices.tag_keys(applicationId: my_application_id)
359
+
360
+ puts result
361
+ ```
362
+
363
+ #### Authentication
364
+ The client must be configured with a valid api access token to call this
365
+ action. The token must include at least one of the following scopes:
366
+ all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.tagKeys.
367
+
368
+ #### Available Parameters
369
+
370
+ | Name | Type | Required | Description | Default | Example |
371
+ | ---- | ---- | -------- | ----------- | ------- | ------- |
372
+ | applicationId | string | Y | ID associated with the application | | 575ec8687ae143cd83dc4a97 |
373
+ | query | [Advanced Device Query](_schemas.md#advanced-device-query) | N | Device filter JSON object | | [Advanced Device Query Example](_schemas.md#advanced-device-query-example) |
374
+ | startsWith | string | N | Filter keys down to those that start with the given string. Case insensitive. | | temper |
375
+ | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
376
+
377
+ #### Successful Responses
378
+
379
+ | Code | Type | Description |
380
+ | ---- | ---- | ----------- |
381
+ | 200 | [Tag Keys Response](_schemas.md#tag-keys-response) | The matching tag keys |
382
+
383
+ #### Error Responses
384
+
385
+ | Code | Type | Description |
386
+ | ---- | ---- | ----------- |
387
+ | 400 | [Error](_schemas.md#error) | Error if malformed request |
388
+ | 404 | [Error](_schemas.md#error) | Error if application was not found |
389
+
390
+ <br/>
391
+
392
+ ## Tag Values
393
+
394
+ Gets the unique tag values for the given key for devices that match the given query. Maximum 1K returned.
395
+
396
+ ```ruby
397
+ result = client.devices.tag_values(
398
+ applicationId: my_application_id,
399
+ key: my_key)
400
+
401
+ puts result
402
+ ```
403
+
404
+ #### Authentication
405
+ The client must be configured with a valid api access token to call this
406
+ action. The token must include at least one of the following scopes:
407
+ all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.tagValues.
408
+
409
+ #### Available Parameters
410
+
411
+ | Name | Type | Required | Description | Default | Example |
412
+ | ---- | ---- | -------- | ----------- | ------- | ------- |
413
+ | applicationId | string | Y | ID associated with the application | | 575ec8687ae143cd83dc4a97 |
414
+ | query | [Advanced Device Query](_schemas.md#advanced-device-query) | N | Device filter JSON object | | [Advanced Device Query Example](_schemas.md#advanced-device-query-example) |
415
+ | key | string | Y | The tag key to get the values for | | myKey |
416
+ | startsWith | string | N | Filter values down to those that start with the given string. Case insensitive. | | temper |
417
+ | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
418
+
419
+ #### Successful Responses
420
+
421
+ | Code | Type | Description |
422
+ | ---- | ---- | ----------- |
423
+ | 200 | [Tag Values Response](_schemas.md#tag-values-response) | The matching tag values |
424
+
425
+ #### Error Responses
426
+
427
+ | Code | Type | Description |
428
+ | ---- | ---- | ----------- |
429
+ | 400 | [Error](_schemas.md#error) | Error if malformed request |
430
+ | 404 | [Error](_schemas.md#error) | Error if application was not found |
@@ -41,6 +41,7 @@ all.Application, all.Application.read, all.Organization, all.Organization.read,
41
41
  | filterField | string | N | Field to filter the results by. Blank or not provided means no filtering. Accepted values are: version | | version |
42
42
  | filter | string | N | Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. | | my*version |
43
43
  | includeCustomNodes | string | N | If the result of the request should also include the details of any custom nodes referenced by the returned workflows | false | true |
44
+ | query | [Advanced Workflow Version Query](_schemas.md#advanced-workflow-version-query) | N | Workflow filter JSON object which overrides the filterField and filter parameters. | | [Advanced Workflow Version Query Example](_schemas.md#advanced-workflow-version-query-example) |
44
45
  | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
45
46
 
46
47
  #### Successful Responses
@@ -42,6 +42,7 @@ all.Application, all.Application.read, all.Organization, all.Organization.read,
42
42
  | flowClass | string | N | Filter the workflows by the given flow class. Accepted values are: edge, cloud, customNode, experience | cloud | cloud |
43
43
  | triggerFilter | [Workflow Trigger Filter](_schemas.md#workflow-trigger-filter) | N | Array of triggers to filter by - always filters against default flow version. | | [Workflow Trigger Filter Example](_schemas.md#workflow-trigger-filter-example) |
44
44
  | includeCustomNodes | string | N | If the result of the request should also include the details of any custom nodes referenced by the returned workflows | false | true |
45
+ | query | [Advanced Workflow Query](_schemas.md#advanced-workflow-query) | N | Workflow filter JSON object which overrides the filterField, filter, triggerFilter, and flowClass parameters. | | [Advanced Workflow Query Example](_schemas.md#advanced-workflow-query-example) |
45
46
  | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
46
47
 
47
48
  #### Successful Responses
@@ -91,6 +92,7 @@ all.Application, all.Application.read, all.Organization, all.Organization.read,
91
92
  | version | string | Y | Return the workflow versions for the given version. | | myVersion |
92
93
  | triggerFilter | [Workflow Trigger Filter](_schemas.md#workflow-trigger-filter) | N | Array of triggers to filter by - always filters against default flow version. | | [Workflow Trigger Filter Example](_schemas.md#workflow-trigger-filter-example) |
93
94
  | includeCustomNodes | string | N | If the result of the request should also include the details of any custom nodes referenced by the returned workflows | false | true |
95
+ | query | [Advanced Workflow By Version Query](_schemas.md#advanced-workflow-by-version-query) | N | Workflow filter JSON object which overrides the filterField, filter, triggerFilter, and flowClass parameters. | | [Advanced Workflow By Version Query Example](_schemas.md#advanced-workflow-by-version-query-example) |
94
96
  | losantdomain | string | N | Domain scope of request (rarely needed) | | example.com |
95
97
 
96
98
  #### Successful Responses
@@ -27,7 +27,7 @@ module LosantRest
27
27
  #
28
28
  # User API for accessing Losant data
29
29
  #
30
- # Built For Version 1.18.0
30
+ # Built For Version 1.18.1
31
31
  class Client
32
32
  attr_accessor :auth_token, :url
33
33
 
@@ -282,7 +282,7 @@ module LosantRest
282
282
 
283
283
  headers["Accept"] = "application/json"
284
284
  headers["Content-Type"] = "application/json"
285
- headers["Accept-Version"] = "^1.18.0"
285
+ headers["Accept-Version"] = "^1.18.1"
286
286
  headers["Authorization"] = "Bearer #{self.auth_token}" if self.auth_token
287
287
  path = self.url + options.fetch(:path, "")
288
288
 
@@ -31,6 +31,57 @@ module LosantRest
31
31
  @client = client
32
32
  end
33
33
 
34
+ # Gets the attribute names that match the given query. Maximum 1K returned.
35
+ #
36
+ # Authentication:
37
+ # The client must be configured with a valid api
38
+ # access token to call this action. The token
39
+ # must include at least one of the following scopes:
40
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.attributeNames.
41
+ #
42
+ # Parameters:
43
+ # * {string} applicationId - ID associated with the application
44
+ # * {hash} query - Device filter JSON object (https://api.losant.com/#/definitions/advancedDeviceQuery)
45
+ # * {hash} dataType - Filter the devices by the given attribute data type or types (https://api.losant.com/#/definitions/deviceAttributeDataTypeFilter)
46
+ # * {string} startsWith - Filter attributes down to those that have names starting with the given string. Case insensitive.
47
+ # * {string} losantdomain - Domain scope of request (rarely needed)
48
+ # * {boolean} _actions - Return resource actions in response
49
+ # * {boolean} _links - Return resource link in response
50
+ # * {boolean} _embedded - Return embedded resources in response
51
+ #
52
+ # Responses:
53
+ # * 200 - The matching attribute names (https://api.losant.com/#/definitions/attributeNamesResponse)
54
+ #
55
+ # Errors:
56
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
57
+ # * 404 - Error if application was not found (https://api.losant.com/#/definitions/error)
58
+ def attribute_names(params = {})
59
+ params = Utils.symbolize_hash_keys(params)
60
+ query_params = { _actions: false, _links: true, _embedded: true }
61
+ headers = {}
62
+ body = nil
63
+
64
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
65
+
66
+ query_params[:query] = params[:query] if params.has_key?(:query)
67
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
68
+ query_params[:dataType] = params[:dataType] if params.has_key?(:dataType)
69
+ query_params[:startsWith] = params[:startsWith] if params.has_key?(:startsWith)
70
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
71
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
72
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
73
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
74
+
75
+ path = "/applications/#{params[:applicationId]}/devices/attributeNames"
76
+
77
+ @client.request(
78
+ method: :get,
79
+ path: path,
80
+ query: query_params,
81
+ headers: headers,
82
+ body: body)
83
+ end
84
+
34
85
  # Delete devices
35
86
  #
36
87
  # Authentication:
@@ -386,5 +437,106 @@ module LosantRest
386
437
  body: body)
387
438
  end
388
439
 
440
+ # Gets the unique tag keys for devices that match the given query. Maximum 1K returned.
441
+ #
442
+ # Authentication:
443
+ # The client must be configured with a valid api
444
+ # access token to call this action. The token
445
+ # must include at least one of the following scopes:
446
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.tagKeys.
447
+ #
448
+ # Parameters:
449
+ # * {string} applicationId - ID associated with the application
450
+ # * {hash} query - Device filter JSON object (https://api.losant.com/#/definitions/advancedDeviceQuery)
451
+ # * {string} startsWith - Filter keys down to those that start with the given string. Case insensitive.
452
+ # * {string} losantdomain - Domain scope of request (rarely needed)
453
+ # * {boolean} _actions - Return resource actions in response
454
+ # * {boolean} _links - Return resource link in response
455
+ # * {boolean} _embedded - Return embedded resources in response
456
+ #
457
+ # Responses:
458
+ # * 200 - The matching tag keys (https://api.losant.com/#/definitions/tagKeysResponse)
459
+ #
460
+ # Errors:
461
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
462
+ # * 404 - Error if application was not found (https://api.losant.com/#/definitions/error)
463
+ def tag_keys(params = {})
464
+ params = Utils.symbolize_hash_keys(params)
465
+ query_params = { _actions: false, _links: true, _embedded: true }
466
+ headers = {}
467
+ body = nil
468
+
469
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
470
+
471
+ query_params[:query] = params[:query] if params.has_key?(:query)
472
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
473
+ query_params[:startsWith] = params[:startsWith] if params.has_key?(:startsWith)
474
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
475
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
476
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
477
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
478
+
479
+ path = "/applications/#{params[:applicationId]}/devices/tagKeys"
480
+
481
+ @client.request(
482
+ method: :get,
483
+ path: path,
484
+ query: query_params,
485
+ headers: headers,
486
+ body: body)
487
+ end
488
+
489
+ # Gets the unique tag values for the given key for devices that match the given query. Maximum 1K returned.
490
+ #
491
+ # Authentication:
492
+ # The client must be configured with a valid api
493
+ # access token to call this action. The token
494
+ # must include at least one of the following scopes:
495
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, devices.*, or devices.tagValues.
496
+ #
497
+ # Parameters:
498
+ # * {string} applicationId - ID associated with the application
499
+ # * {hash} query - Device filter JSON object (https://api.losant.com/#/definitions/advancedDeviceQuery)
500
+ # * {string} key - The tag key to get the values for
501
+ # * {string} startsWith - Filter values down to those that start with the given string. Case insensitive.
502
+ # * {string} losantdomain - Domain scope of request (rarely needed)
503
+ # * {boolean} _actions - Return resource actions in response
504
+ # * {boolean} _links - Return resource link in response
505
+ # * {boolean} _embedded - Return embedded resources in response
506
+ #
507
+ # Responses:
508
+ # * 200 - The matching tag values (https://api.losant.com/#/definitions/tagValuesResponse)
509
+ #
510
+ # Errors:
511
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
512
+ # * 404 - Error if application was not found (https://api.losant.com/#/definitions/error)
513
+ def tag_values(params = {})
514
+ params = Utils.symbolize_hash_keys(params)
515
+ query_params = { _actions: false, _links: true, _embedded: true }
516
+ headers = {}
517
+ body = nil
518
+
519
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
520
+ raise ArgumentError.new("key is required") unless params.has_key?(:key)
521
+
522
+ query_params[:query] = params[:query] if params.has_key?(:query)
523
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
524
+ query_params[:key] = params[:key] if params.has_key?(:key)
525
+ query_params[:startsWith] = params[:startsWith] if params.has_key?(:startsWith)
526
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
527
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
528
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
529
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
530
+
531
+ path = "/applications/#{params[:applicationId]}/devices/tagValues"
532
+
533
+ @client.request(
534
+ method: :get,
535
+ path: path,
536
+ query: query_params,
537
+ headers: headers,
538
+ body: body)
539
+ end
540
+
389
541
  end
390
542
  end
@@ -49,6 +49,7 @@ module LosantRest
49
49
  # * {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: version
50
50
  # * {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
51
51
  # * {string} includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by the returned workflows
52
+ # * {hash} query - Workflow filter JSON object which overrides the filterField and filter parameters. (https://api.losant.com/#/definitions/advancedFlowVersionQuery)
52
53
  # * {string} losantdomain - Domain scope of request (rarely needed)
53
54
  # * {boolean} _actions - Return resource actions in response
54
55
  # * {boolean} _links - Return resource link in response
@@ -76,6 +77,8 @@ module LosantRest
76
77
  query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
77
78
  query_params[:filter] = params[:filter] if params.has_key?(:filter)
78
79
  query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes)
80
+ query_params[:query] = params[:query] if params.has_key?(:query)
81
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
79
82
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
80
83
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
81
84
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
@@ -50,6 +50,7 @@ module LosantRest
50
50
  # * {string} flowClass - Filter the workflows by the given flow class. Accepted values are: edge, cloud, customNode, experience
51
51
  # * {hash} triggerFilter - Array of triggers to filter by - always filters against default flow version. (https://api.losant.com/#/definitions/flowTriggerFilter)
52
52
  # * {string} includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by the returned workflows
53
+ # * {hash} query - Workflow filter JSON object which overrides the filterField, filter, triggerFilter, and flowClass parameters. (https://api.losant.com/#/definitions/advancedFlowQuery)
53
54
  # * {string} losantdomain - Domain scope of request (rarely needed)
54
55
  # * {boolean} _actions - Return resource actions in response
55
56
  # * {boolean} _links - Return resource link in response
@@ -78,6 +79,8 @@ module LosantRest
78
79
  query_params[:flowClass] = params[:flowClass] if params.has_key?(:flowClass)
79
80
  query_params[:triggerFilter] = params[:triggerFilter] if params.has_key?(:triggerFilter)
80
81
  query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes)
82
+ query_params[:query] = params[:query] if params.has_key?(:query)
83
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
81
84
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
82
85
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
83
86
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
@@ -113,6 +116,7 @@ module LosantRest
113
116
  # * {string} version - Return the workflow versions for the given version.
114
117
  # * {hash} triggerFilter - Array of triggers to filter by - always filters against default flow version. (https://api.losant.com/#/definitions/flowTriggerFilter)
115
118
  # * {string} includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by the returned workflows
119
+ # * {hash} query - Workflow filter JSON object which overrides the filterField, filter, triggerFilter, and flowClass parameters. (https://api.losant.com/#/definitions/advancedFlowByVersionQuery)
116
120
  # * {string} losantdomain - Domain scope of request (rarely needed)
117
121
  # * {boolean} _actions - Return resource actions in response
118
122
  # * {boolean} _links - Return resource link in response
@@ -143,6 +147,8 @@ module LosantRest
143
147
  query_params[:version] = params[:version] if params.has_key?(:version)
144
148
  query_params[:triggerFilter] = params[:triggerFilter] if params.has_key?(:triggerFilter)
145
149
  query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes)
150
+ query_params[:query] = params[:query] if params.has_key?(:query)
151
+ query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
146
152
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
147
153
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
148
154
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
@@ -21,5 +21,5 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  module LosantRest
24
- VERSION = "1.11.0"
24
+ VERSION = "1.11.1"
25
25
  end
@@ -0,0 +1,665 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "$and": {
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "#/definitions/advancedFlowByVersionQuery"
9
+ },
10
+ "maxItems": 100
11
+ },
12
+ "$or": {
13
+ "type": "array",
14
+ "items": {
15
+ "$ref": "#/definitions/advancedFlowByVersionQuery"
16
+ },
17
+ "maxItems": 100
18
+ },
19
+ "$nor": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/advancedFlowByVersionQuery"
23
+ },
24
+ "maxItems": 100
25
+ },
26
+ "name": {
27
+ "oneOf": [
28
+ {
29
+ "type": [
30
+ "string",
31
+ "number",
32
+ "boolean",
33
+ "null"
34
+ ]
35
+ },
36
+ {
37
+ "type": "object",
38
+ "properties": {
39
+ "$eq": {
40
+ "type": [
41
+ "string",
42
+ "number",
43
+ "boolean",
44
+ "null"
45
+ ]
46
+ },
47
+ "$ne": {
48
+ "type": [
49
+ "string",
50
+ "number",
51
+ "boolean",
52
+ "null"
53
+ ]
54
+ },
55
+ "$gt": {
56
+ "type": [
57
+ "string",
58
+ "number",
59
+ "boolean",
60
+ "null"
61
+ ]
62
+ },
63
+ "$lt": {
64
+ "type": [
65
+ "string",
66
+ "number",
67
+ "boolean",
68
+ "null"
69
+ ]
70
+ },
71
+ "$gte": {
72
+ "type": [
73
+ "string",
74
+ "number",
75
+ "boolean",
76
+ "null"
77
+ ]
78
+ },
79
+ "$lte": {
80
+ "type": [
81
+ "string",
82
+ "number",
83
+ "boolean",
84
+ "null"
85
+ ]
86
+ },
87
+ "$startsWith": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ },
91
+ "$endsWith": {
92
+ "type": "string",
93
+ "minLength": 1
94
+ },
95
+ "$contains": {
96
+ "type": "string",
97
+ "minLength": 1
98
+ },
99
+ "$ci": {
100
+ "type": "boolean"
101
+ },
102
+ "$in": {
103
+ "type": "array",
104
+ "maxItems": 100,
105
+ "items": {
106
+ "type": [
107
+ "string",
108
+ "number",
109
+ "boolean"
110
+ ]
111
+ }
112
+ },
113
+ "$nin": {
114
+ "type": "array",
115
+ "maxItems": 100,
116
+ "items": {
117
+ "type": [
118
+ "string",
119
+ "number",
120
+ "boolean"
121
+ ]
122
+ }
123
+ }
124
+ },
125
+ "additionalProperties": false
126
+ }
127
+ ]
128
+ },
129
+ "id": {
130
+ "oneOf": [
131
+ {
132
+ "oneOf": [
133
+ {
134
+ "type": "string",
135
+ "pattern": "^[A-Fa-f\\d]{24}$"
136
+ },
137
+ {
138
+ "type": "null"
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "type": "object",
144
+ "properties": {
145
+ "$eq": {
146
+ "oneOf": [
147
+ {
148
+ "type": "string",
149
+ "pattern": "^[A-Fa-f\\d]{24}$"
150
+ },
151
+ {
152
+ "type": "null"
153
+ }
154
+ ]
155
+ },
156
+ "$ne": {
157
+ "oneOf": [
158
+ {
159
+ "type": "string",
160
+ "pattern": "^[A-Fa-f\\d]{24}$"
161
+ },
162
+ {
163
+ "type": "null"
164
+ }
165
+ ]
166
+ },
167
+ "$in": {
168
+ "type": "array",
169
+ "maxItems": 100,
170
+ "items": {
171
+ "type": "string",
172
+ "pattern": "^[A-Fa-f\\d]{24}$"
173
+ }
174
+ },
175
+ "$nin": {
176
+ "type": "array",
177
+ "maxItems": 100,
178
+ "items": {
179
+ "type": "string",
180
+ "pattern": "^[A-Fa-f\\d]{24}$"
181
+ }
182
+ }
183
+ },
184
+ "additionalProperties": false,
185
+ "minProperties": 1,
186
+ "maxProperties": 1
187
+ }
188
+ ]
189
+ },
190
+ "creationDate": {
191
+ "oneOf": [
192
+ {
193
+ "type": [
194
+ "string",
195
+ "number",
196
+ "boolean",
197
+ "null"
198
+ ]
199
+ },
200
+ {
201
+ "type": "object",
202
+ "properties": {
203
+ "$eq": {
204
+ "type": [
205
+ "string",
206
+ "number",
207
+ "boolean",
208
+ "null"
209
+ ]
210
+ },
211
+ "$ne": {
212
+ "type": [
213
+ "string",
214
+ "number",
215
+ "boolean",
216
+ "null"
217
+ ]
218
+ },
219
+ "$gt": {
220
+ "type": [
221
+ "string",
222
+ "number",
223
+ "boolean",
224
+ "null"
225
+ ]
226
+ },
227
+ "$lt": {
228
+ "type": [
229
+ "string",
230
+ "number",
231
+ "boolean",
232
+ "null"
233
+ ]
234
+ },
235
+ "$gte": {
236
+ "type": [
237
+ "string",
238
+ "number",
239
+ "boolean",
240
+ "null"
241
+ ]
242
+ },
243
+ "$lte": {
244
+ "type": [
245
+ "string",
246
+ "number",
247
+ "boolean",
248
+ "null"
249
+ ]
250
+ },
251
+ "$startsWith": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "$endsWith": {
256
+ "type": "string",
257
+ "minLength": 1
258
+ },
259
+ "$contains": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ },
263
+ "$ci": {
264
+ "type": "boolean"
265
+ },
266
+ "$in": {
267
+ "type": "array",
268
+ "maxItems": 100,
269
+ "items": {
270
+ "type": [
271
+ "string",
272
+ "number",
273
+ "boolean"
274
+ ]
275
+ }
276
+ },
277
+ "$nin": {
278
+ "type": "array",
279
+ "maxItems": 100,
280
+ "items": {
281
+ "type": [
282
+ "string",
283
+ "number",
284
+ "boolean"
285
+ ]
286
+ }
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ }
291
+ ]
292
+ },
293
+ "lastUpdated": {
294
+ "oneOf": [
295
+ {
296
+ "type": [
297
+ "string",
298
+ "number",
299
+ "boolean",
300
+ "null"
301
+ ]
302
+ },
303
+ {
304
+ "type": "object",
305
+ "properties": {
306
+ "$eq": {
307
+ "type": [
308
+ "string",
309
+ "number",
310
+ "boolean",
311
+ "null"
312
+ ]
313
+ },
314
+ "$ne": {
315
+ "type": [
316
+ "string",
317
+ "number",
318
+ "boolean",
319
+ "null"
320
+ ]
321
+ },
322
+ "$gt": {
323
+ "type": [
324
+ "string",
325
+ "number",
326
+ "boolean",
327
+ "null"
328
+ ]
329
+ },
330
+ "$lt": {
331
+ "type": [
332
+ "string",
333
+ "number",
334
+ "boolean",
335
+ "null"
336
+ ]
337
+ },
338
+ "$gte": {
339
+ "type": [
340
+ "string",
341
+ "number",
342
+ "boolean",
343
+ "null"
344
+ ]
345
+ },
346
+ "$lte": {
347
+ "type": [
348
+ "string",
349
+ "number",
350
+ "boolean",
351
+ "null"
352
+ ]
353
+ },
354
+ "$startsWith": {
355
+ "type": "string",
356
+ "minLength": 1
357
+ },
358
+ "$endsWith": {
359
+ "type": "string",
360
+ "minLength": 1
361
+ },
362
+ "$contains": {
363
+ "type": "string",
364
+ "minLength": 1
365
+ },
366
+ "$ci": {
367
+ "type": "boolean"
368
+ },
369
+ "$in": {
370
+ "type": "array",
371
+ "maxItems": 100,
372
+ "items": {
373
+ "type": [
374
+ "string",
375
+ "number",
376
+ "boolean"
377
+ ]
378
+ }
379
+ },
380
+ "$nin": {
381
+ "type": "array",
382
+ "maxItems": 100,
383
+ "items": {
384
+ "type": [
385
+ "string",
386
+ "number",
387
+ "boolean"
388
+ ]
389
+ }
390
+ }
391
+ },
392
+ "additionalProperties": false
393
+ }
394
+ ]
395
+ },
396
+ "flowClass": {
397
+ "oneOf": [
398
+ {
399
+ "type": [
400
+ "string",
401
+ "number",
402
+ "boolean",
403
+ "null"
404
+ ]
405
+ },
406
+ {
407
+ "type": "object",
408
+ "properties": {
409
+ "$eq": {
410
+ "type": [
411
+ "string",
412
+ "number",
413
+ "boolean",
414
+ "null"
415
+ ]
416
+ },
417
+ "$ne": {
418
+ "type": [
419
+ "string",
420
+ "number",
421
+ "boolean",
422
+ "null"
423
+ ]
424
+ },
425
+ "$gt": {
426
+ "type": [
427
+ "string",
428
+ "number",
429
+ "boolean",
430
+ "null"
431
+ ]
432
+ },
433
+ "$lt": {
434
+ "type": [
435
+ "string",
436
+ "number",
437
+ "boolean",
438
+ "null"
439
+ ]
440
+ },
441
+ "$gte": {
442
+ "type": [
443
+ "string",
444
+ "number",
445
+ "boolean",
446
+ "null"
447
+ ]
448
+ },
449
+ "$lte": {
450
+ "type": [
451
+ "string",
452
+ "number",
453
+ "boolean",
454
+ "null"
455
+ ]
456
+ },
457
+ "$startsWith": {
458
+ "type": "string",
459
+ "minLength": 1
460
+ },
461
+ "$endsWith": {
462
+ "type": "string",
463
+ "minLength": 1
464
+ },
465
+ "$contains": {
466
+ "type": "string",
467
+ "minLength": 1
468
+ },
469
+ "$ci": {
470
+ "type": "boolean"
471
+ },
472
+ "$in": {
473
+ "type": "array",
474
+ "maxItems": 100,
475
+ "items": {
476
+ "type": [
477
+ "string",
478
+ "number",
479
+ "boolean"
480
+ ]
481
+ }
482
+ },
483
+ "$nin": {
484
+ "type": "array",
485
+ "maxItems": 100,
486
+ "items": {
487
+ "type": [
488
+ "string",
489
+ "number",
490
+ "boolean"
491
+ ]
492
+ }
493
+ }
494
+ },
495
+ "additionalProperties": false
496
+ }
497
+ ]
498
+ },
499
+ "enabled": {
500
+ "oneOf": [
501
+ {
502
+ "type": [
503
+ "string",
504
+ "number",
505
+ "boolean",
506
+ "null"
507
+ ]
508
+ },
509
+ {
510
+ "type": "object",
511
+ "properties": {
512
+ "$eq": {
513
+ "type": [
514
+ "string",
515
+ "number",
516
+ "boolean",
517
+ "null"
518
+ ]
519
+ },
520
+ "$ne": {
521
+ "type": [
522
+ "string",
523
+ "number",
524
+ "boolean",
525
+ "null"
526
+ ]
527
+ },
528
+ "$gt": {
529
+ "type": [
530
+ "string",
531
+ "number",
532
+ "boolean",
533
+ "null"
534
+ ]
535
+ },
536
+ "$lt": {
537
+ "type": [
538
+ "string",
539
+ "number",
540
+ "boolean",
541
+ "null"
542
+ ]
543
+ },
544
+ "$gte": {
545
+ "type": [
546
+ "string",
547
+ "number",
548
+ "boolean",
549
+ "null"
550
+ ]
551
+ },
552
+ "$lte": {
553
+ "type": [
554
+ "string",
555
+ "number",
556
+ "boolean",
557
+ "null"
558
+ ]
559
+ },
560
+ "$startsWith": {
561
+ "type": "string",
562
+ "minLength": 1
563
+ },
564
+ "$endsWith": {
565
+ "type": "string",
566
+ "minLength": 1
567
+ },
568
+ "$contains": {
569
+ "type": "string",
570
+ "minLength": 1
571
+ },
572
+ "$ci": {
573
+ "type": "boolean"
574
+ },
575
+ "$in": {
576
+ "type": "array",
577
+ "maxItems": 100,
578
+ "items": {
579
+ "type": [
580
+ "string",
581
+ "number",
582
+ "boolean"
583
+ ]
584
+ }
585
+ },
586
+ "$nin": {
587
+ "type": "array",
588
+ "maxItems": 100,
589
+ "items": {
590
+ "type": [
591
+ "string",
592
+ "number",
593
+ "boolean"
594
+ ]
595
+ }
596
+ }
597
+ },
598
+ "additionalProperties": false
599
+ }
600
+ ]
601
+ },
602
+ "flowId": {
603
+ "oneOf": [
604
+ {
605
+ "oneOf": [
606
+ {
607
+ "type": "string",
608
+ "pattern": "^[A-Fa-f\\d]{24}$"
609
+ },
610
+ {
611
+ "type": "null"
612
+ }
613
+ ]
614
+ },
615
+ {
616
+ "type": "object",
617
+ "properties": {
618
+ "$eq": {
619
+ "oneOf": [
620
+ {
621
+ "type": "string",
622
+ "pattern": "^[A-Fa-f\\d]{24}$"
623
+ },
624
+ {
625
+ "type": "null"
626
+ }
627
+ ]
628
+ },
629
+ "$ne": {
630
+ "oneOf": [
631
+ {
632
+ "type": "string",
633
+ "pattern": "^[A-Fa-f\\d]{24}$"
634
+ },
635
+ {
636
+ "type": "null"
637
+ }
638
+ ]
639
+ },
640
+ "$in": {
641
+ "type": "array",
642
+ "maxItems": 100,
643
+ "items": {
644
+ "type": "string",
645
+ "pattern": "^[A-Fa-f\\d]{24}$"
646
+ }
647
+ },
648
+ "$nin": {
649
+ "type": "array",
650
+ "maxItems": 100,
651
+ "items": {
652
+ "type": "string",
653
+ "pattern": "^[A-Fa-f\\d]{24}$"
654
+ }
655
+ }
656
+ },
657
+ "additionalProperties": false,
658
+ "minProperties": 1,
659
+ "maxProperties": 1
660
+ }
661
+ ]
662
+ }
663
+ },
664
+ "additionalProperties": false
665
+ }