aspera-cli 4.26.1 → 4.26.2

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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +19 -1
  4. data/CONTRIBUTING.md +2 -5
  5. data/bin/ascli +2 -2
  6. data/lib/aspera/agent/direct.rb +1 -1
  7. data/lib/aspera/agent/factory.rb +4 -0
  8. data/lib/aspera/agent/httpgw.rb +1 -1
  9. data/lib/aspera/agent/node.rb +2 -2
  10. data/lib/aspera/api/aoc.rb +43 -36
  11. data/lib/aspera/api/cos_node.rb +1 -1
  12. data/lib/aspera/api/faspex.rb +7 -6
  13. data/lib/aspera/api/node.rb +7 -7
  14. data/lib/aspera/ascmd.rb +4 -4
  15. data/lib/aspera/ascp/installation.rb +6 -2
  16. data/lib/aspera/cli/context.rb +58 -0
  17. data/lib/aspera/cli/extended_value.rb +3 -2
  18. data/lib/aspera/cli/formatter.rb +83 -184
  19. data/lib/aspera/cli/http.rb +167 -0
  20. data/lib/aspera/cli/manager.rb +3 -2
  21. data/lib/aspera/cli/plugins/alee.rb +2 -2
  22. data/lib/aspera/cli/plugins/aoc.rb +78 -67
  23. data/lib/aspera/cli/plugins/ats.rb +16 -16
  24. data/lib/aspera/cli/plugins/base.rb +18 -12
  25. data/lib/aspera/cli/plugins/config.rb +166 -438
  26. data/lib/aspera/cli/plugins/console.rb +7 -7
  27. data/lib/aspera/cli/plugins/cos.rb +2 -2
  28. data/lib/aspera/cli/plugins/factory.rb +3 -0
  29. data/lib/aspera/cli/plugins/faspex.rb +21 -21
  30. data/lib/aspera/cli/plugins/faspex5.rb +64 -44
  31. data/lib/aspera/cli/plugins/faspio.rb +1 -1
  32. data/lib/aspera/cli/plugins/httpgw.rb +2 -2
  33. data/lib/aspera/cli/plugins/node.rb +79 -79
  34. data/lib/aspera/cli/plugins/orchestrator.rb +21 -26
  35. data/lib/aspera/cli/plugins/preview.rb +9 -9
  36. data/lib/aspera/cli/plugins/server.rb +7 -7
  37. data/lib/aspera/cli/plugins/shares.rb +2 -2
  38. data/lib/aspera/cli/preset_manager.rb +235 -0
  39. data/lib/aspera/cli/result.rb +310 -0
  40. data/lib/aspera/cli/{main.rb → runner.rb} +14 -155
  41. data/lib/aspera/cli/sync_actions.rb +14 -10
  42. data/lib/aspera/cli/terminal_formatter.rb +65 -0
  43. data/lib/aspera/cli/transfer_progress.rb +6 -6
  44. data/lib/aspera/cli/version.rb +1 -1
  45. data/lib/aspera/cli/wizard.rb +5 -6
  46. data/lib/aspera/command_line_builder.rb +1 -1
  47. data/lib/aspera/data_repository.rb +4 -0
  48. data/lib/aspera/dot_container.rb +1 -1
  49. data/lib/aspera/environment.rb +22 -3
  50. data/lib/aspera/faspex_gw.rb +1 -1
  51. data/lib/aspera/json_rpc.rb +6 -5
  52. data/lib/aspera/keychain/base.rb +1 -1
  53. data/lib/aspera/keychain/encrypted_hash.rb +1 -1
  54. data/lib/aspera/keychain/factory.rb +1 -1
  55. data/lib/aspera/keychain/macos_security.rb +1 -1
  56. data/lib/aspera/log.rb +6 -2
  57. data/lib/aspera/nagios.rb +2 -2
  58. data/lib/aspera/oauth/base.rb +5 -5
  59. data/lib/aspera/oauth/boot.rb +43 -0
  60. data/lib/aspera/oauth/factory.rb +37 -13
  61. data/lib/aspera/oauth/web.rb +2 -2
  62. data/lib/aspera/oauth.rb +1 -0
  63. data/lib/aspera/persistency_action_once.rb +2 -2
  64. data/lib/aspera/preview/file_types.rb +4 -0
  65. data/lib/aspera/products/connect.rb +3 -0
  66. data/lib/aspera/products/transferd.rb +2 -2
  67. data/lib/aspera/proxy_auto_config.rb +3 -3
  68. data/lib/aspera/rest.rb +8 -4
  69. data/lib/aspera/rest_error_analyzer.rb +4 -0
  70. data/lib/aspera/rest_list.rb +10 -3
  71. data/lib/aspera/schema/IBM Aspera Faspex API-5.0-enhanced.yaml +14 -4
  72. data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +827 -88
  73. data/lib/aspera/schema/async_tables.yaml +361 -0
  74. data/lib/aspera/schema/reader.rb +1 -1
  75. data/lib/aspera/schema/registry.rb +13 -6
  76. data/lib/aspera/secret_hider.rb +4 -0
  77. data/lib/aspera/sync/database.rb +14 -10
  78. data/lib/aspera/sync/operations.rb +5 -5
  79. data/lib/aspera/temp_file_manager.rb +4 -0
  80. data/lib/aspera/transfer/parameters.rb +4 -4
  81. data/lib/aspera/transfer/resumer.rb +1 -1
  82. data/lib/aspera/transfer/spec.schema.yaml +17 -8
  83. data/lib/aspera/transfer/uri.rb +1 -1
  84. data.tar.gz.sig +0 -0
  85. metadata +21 -14
  86. metadata.gz.sig +0 -0
@@ -1,3 +1,8 @@
1
+ # DO NOT EDIT THIS FILE MANUALLY
2
+ # This file is automatically downloaded from:
3
+ # https://raw.githubusercontent.com/laurent-martin/aspera-api-examples/refs/heads/main/openapi/IBM%20Aspera%20on%20Cloud%20API-0.2.6-enhanced.yaml
4
+ # Use 'rake tools:openapi' to update this file
5
+
1
6
  openapi: 3.1.0
2
7
  info:
3
8
  title: Aspera on Cloud and Aspera Enterprise Web Apps
@@ -574,9 +579,14 @@ paths:
574
579
  parameters:
575
580
  - name: aspera_app_type
576
581
  in: query
577
- description: Can be "activity" or "automation".
582
+ description: Can be "activity", "automation", "files" or "packages".
578
583
  schema:
579
584
  type: string
585
+ enum:
586
+ - activity
587
+ - automation
588
+ - files
589
+ - packages
580
590
  - name: created_at
581
591
  in: query
582
592
  schema:
@@ -605,9 +615,13 @@ paths:
605
615
  type: string
606
616
  - name: member_type
607
617
  in: query
608
- description: Can be "user" or "group".
618
+ description: Can be "user", "group" or "workspace".
609
619
  schema:
610
620
  type: string
621
+ enum:
622
+ - user
623
+ - group
624
+ - workspace
611
625
  - name: q
612
626
  in: query
613
627
  description: Searches member.email and member.name.
@@ -718,7 +732,7 @@ paths:
718
732
  operationId: add_app_membership
719
733
  summary: Create a New App Membership
720
734
  description: |
721
- Create an app membership. Requires organization admin permission.
735
+ Create an app membership. Requires organization admin or workspace manager permission.
722
736
  parameters:
723
737
  - name: aspera_app_type
724
738
  in: path
@@ -728,6 +742,8 @@ paths:
728
742
  enum:
729
743
  - activity
730
744
  - automation
745
+ - files
746
+ - packages
731
747
  requestBody:
732
748
  required: true
733
749
  content:
@@ -763,6 +779,179 @@ paths:
763
779
  description: Internal Server Error
764
780
  tags:
765
781
  - App Memberships
782
+ get:
783
+ operationId: get_app_memberships_by_app_type
784
+ summary: Get a Listing of App Memberships Filtered by App Type
785
+ description: |
786
+ Get a listing of app memberships for a specific app type. For organization admins, all app memberships for the entire organization are available to view. For all other users, only your own app memberships are returned.
787
+ parameters:
788
+ - name: aspera_app_type
789
+ in: path
790
+ required: true
791
+ schema:
792
+ type: string
793
+ enum:
794
+ - activity
795
+ - automation
796
+ - files
797
+ - packages
798
+ - name: inherited
799
+ in: query
800
+ description: |
801
+ Set to false if you want to filter out inherited memberships.
802
+ schema:
803
+ type: boolean
804
+ - name: member_id
805
+ in: query
806
+ description: Filter by member ID.
807
+ schema:
808
+ type: string
809
+ - name: member_type
810
+ in: query
811
+ description: Can be "user", "group" or "workspace".
812
+ schema:
813
+ type: string
814
+ - name: q
815
+ in: query
816
+ description: Searches member.email and member.name (and workspace/group name).
817
+ schema:
818
+ type: string
819
+ - name: sort
820
+ in: query
821
+ description: Specify a field for sorting results.
822
+ schema:
823
+ type: string
824
+ responses:
825
+ '200':
826
+ description: OK
827
+ content:
828
+ application/json:
829
+ schema:
830
+ type: array
831
+ items:
832
+ $ref: '#/components/schemas/app_memberships_response'
833
+ '400':
834
+ description: Bad Request
835
+ '401':
836
+ description: Unauthorized
837
+ content:
838
+ application/json:
839
+ schema:
840
+ $ref: '#/components/schemas/UnauthorizedError'
841
+ '404':
842
+ description: Not Found
843
+ content:
844
+ application/json:
845
+ schema:
846
+ $ref: '#/components/schemas/NotFoundError'
847
+ '500':
848
+ description: Internal Server Error
849
+ tags:
850
+ - App Memberships
851
+ /apps/{aspera_app_type}/app_memberships/{id}:
852
+ get:
853
+ operationId: get_app_membership_by_app_type_and_id
854
+ summary: Get Information About a Specific App Membership by App Type
855
+ description: |
856
+ Get information about a specific app membership, specified by app type and membership ID.
857
+ parameters:
858
+ - name: aspera_app_type
859
+ in: path
860
+ required: true
861
+ schema:
862
+ type: string
863
+ enum:
864
+ - activity
865
+ - automation
866
+ - files
867
+ - packages
868
+ - name: id
869
+ in: path
870
+ required: true
871
+ schema:
872
+ type: string
873
+ responses:
874
+ '200':
875
+ description: OK
876
+ content:
877
+ application/json:
878
+ schema:
879
+ $ref: '#/components/schemas/app_memberships_response'
880
+ '400':
881
+ description: Bad Request
882
+ '401':
883
+ description: Unauthorized
884
+ content:
885
+ application/json:
886
+ schema:
887
+ $ref: '#/components/schemas/UnauthorizedError'
888
+ '404':
889
+ description: Not Found
890
+ content:
891
+ application/json:
892
+ schema:
893
+ $ref: '#/components/schemas/NotFoundError'
894
+ '500':
895
+ description: Internal Server Error
896
+ tags:
897
+ - App Memberships
898
+ put:
899
+ operationId: update_app_membership
900
+ summary: Update a Specific App Membership
901
+ description: |
902
+ Update an app membership, specified by app type and membership ID. Requires organization admin or workspace manager permission.
903
+ Note: changing the member is not allowed.
904
+ parameters:
905
+ - name: aspera_app_type
906
+ in: path
907
+ required: true
908
+ schema:
909
+ type: string
910
+ enum:
911
+ - activity
912
+ - automation
913
+ - files
914
+ - packages
915
+ - name: id
916
+ in: path
917
+ required: true
918
+ schema:
919
+ type: string
920
+ requestBody:
921
+ required: true
922
+ content:
923
+ application/json:
924
+ schema:
925
+ $ref: '#/components/schemas/app_memberships_params'
926
+ responses:
927
+ '200':
928
+ description: OK
929
+ content:
930
+ application/json:
931
+ schema:
932
+ $ref: '#/components/schemas/app_memberships_response'
933
+ '400':
934
+ description: Bad Request
935
+ '401':
936
+ description: Unauthorized
937
+ content:
938
+ application/json:
939
+ schema:
940
+ $ref: '#/components/schemas/UnauthorizedError'
941
+ '403':
942
+ description: Forbidden
943
+ '404':
944
+ description: Not Found
945
+ content:
946
+ application/json:
947
+ schema:
948
+ $ref: '#/components/schemas/NotFoundError'
949
+ '422':
950
+ description: Unprocessable Entity
951
+ '500':
952
+ description: Internal Server Error
953
+ tags:
954
+ - App Memberships
766
955
  /client_access_keys:
767
956
  get:
768
957
  operationId: get_client_access_keys
@@ -4848,91 +5037,413 @@ paths:
4848
5037
  tags:
4849
5038
  - Contacts
4850
5039
  - Contacts
4851
- components:
4852
- schemas:
4853
- UnauthorizedError:
4854
- type: object
4855
- properties:
4856
- code:
4857
- type: string
4858
- description: Error code
4859
- example: unauthorized
4860
- message:
4861
- type: string
4862
- description: Error message
4863
- example: You are not authorized to perform the requested action
4864
- required:
4865
- - code
4866
- - message
4867
- OAuth2TokenError:
4868
- type: object
4869
- description: |
4870
- OAuth 2.0 error response returned by token endpoint as defined in RFC 6749 section 5.2.
4871
- This error format is used for all OAuth 2.0 token-related errors including authorization code exchange,
4872
- refresh token usage, and URL token authentication.
4873
- properties:
4874
- error:
4875
- type: string
4876
- description: OAuth 2.0 error code indicating the type of error
4877
- enum:
4878
- - invalid_request
4879
- - invalid_client
4880
- - invalid_grant
4881
- - unauthorized_client
4882
- - unsupported_grant_type
4883
- - invalid_scope
4884
- - access_denied
4885
- example: invalid_grant
4886
- error_description:
4887
- type: string
4888
- description: Human-readable error description providing additional context about the error
4889
- example: invalid URL token
4890
- state:
4891
- type: string
4892
- nullable: true
4893
- description: State parameter from the authorization request, if present. Used to maintain state between request and callback.
4894
- required:
4895
- - error
4896
- - state
4897
- example:
4898
- error: invalid_grant
4899
- error_description: invalid URL token
4900
- state: null
4901
- ValidationError:
4902
- type: object
4903
- description: |
4904
- Standard validation error response for API v1 endpoints (422 Unprocessable Entity).
4905
- Returned when request parameters are missing, invalid, or violate business rules.
4906
- properties:
4907
- code:
4908
- type: string
4909
- description: Error code identifying the type of validation error
4910
- enum:
4911
- - parameter_missing
4912
- - unpermitted_parameters
4913
- - invalid_parameter_value
4914
- - unknown_sort_field
4915
- - too_many_sort_fields
4916
- example: parameter_missing
4917
- message:
4918
- type: string
4919
- description: Human-readable error message
4920
- example: param is missing or the value is empty
4921
- param:
4922
- type: string
4923
- description: Name of the problematic parameter (for parameter_missing, invalid_parameter_value, unknown_sort_field)
4924
- example: aspera_app_type or workspace_id must be present
4925
- params:
4926
- type: array
4927
- description: List of unpermitted parameters (for unpermitted_parameters error)
4928
- items:
4929
- type: string
4930
- example: ["invalid_param1", "invalid_param2"]
4931
- request_id:
4932
- type: string
4933
- format: uuid
4934
- description: Unique identifier for the request, useful for debugging and support
4935
- example: 910723e1-d7ac-4d01-9b4a-5949cf870f98
5040
+ /configuration_policies:
5041
+ get:
5042
+ operationId: get_configuration_policies
5043
+ summary: List Configuration Policies
5044
+ description: Get a listing of configuration policies for your organization.
5045
+ responses:
5046
+ '200':
5047
+ description: OK
5048
+ content:
5049
+ application/json:
5050
+ schema:
5051
+ type: array
5052
+ items:
5053
+ $ref: '#/components/schemas/configuration_policy_response'
5054
+ '401':
5055
+ description: Unauthorized
5056
+ content:
5057
+ application/json:
5058
+ schema:
5059
+ $ref: '#/components/schemas/UnauthorizedError'
5060
+ '500':
5061
+ description: Internal Server Error
5062
+ tags:
5063
+ - Configuration Policies
5064
+ post:
5065
+ operationId: create_configuration_policy
5066
+ summary: Create a Configuration Policy
5067
+ description: Create a new configuration policy for your organization.
5068
+ requestBody:
5069
+ required: true
5070
+ content:
5071
+ application/json:
5072
+ schema:
5073
+ $ref: '#/components/schemas/configuration_policy_params'
5074
+ responses:
5075
+ '201':
5076
+ description: Created
5077
+ content:
5078
+ application/json:
5079
+ schema:
5080
+ $ref: '#/components/schemas/configuration_policy_response'
5081
+ '400':
5082
+ description: Bad Request
5083
+ '401':
5084
+ description: Unauthorized
5085
+ content:
5086
+ application/json:
5087
+ schema:
5088
+ $ref: '#/components/schemas/UnauthorizedError'
5089
+ '422':
5090
+ description: Unprocessable Entity
5091
+ '500':
5092
+ description: Internal Server Error
5093
+ tags:
5094
+ - Configuration Policies
5095
+ /configuration_policies/{id}:
5096
+ delete:
5097
+ operationId: delete_configuration_policy
5098
+ summary: Delete a Configuration Policy
5099
+ description: Delete a specific configuration policy by ID.
5100
+ parameters:
5101
+ - name: id
5102
+ in: path
5103
+ required: true
5104
+ schema:
5105
+ type: string
5106
+ responses:
5107
+ '204':
5108
+ description: No Content
5109
+ '401':
5110
+ description: Unauthorized
5111
+ content:
5112
+ application/json:
5113
+ schema:
5114
+ $ref: '#/components/schemas/UnauthorizedError'
5115
+ '404':
5116
+ description: Not Found
5117
+ content:
5118
+ application/json:
5119
+ schema:
5120
+ $ref: '#/components/schemas/NotFoundError'
5121
+ '500':
5122
+ description: Internal Server Error
5123
+ tags:
5124
+ - Configuration Policies
5125
+ get:
5126
+ operationId: get_configuration_policy
5127
+ summary: Get a Configuration Policy
5128
+ description: Get a specific configuration policy by ID.
5129
+ parameters:
5130
+ - name: id
5131
+ in: path
5132
+ required: true
5133
+ schema:
5134
+ type: string
5135
+ responses:
5136
+ '200':
5137
+ description: OK
5138
+ content:
5139
+ application/json:
5140
+ schema:
5141
+ $ref: '#/components/schemas/configuration_policy_response'
5142
+ '401':
5143
+ description: Unauthorized
5144
+ content:
5145
+ application/json:
5146
+ schema:
5147
+ $ref: '#/components/schemas/UnauthorizedError'
5148
+ '404':
5149
+ description: Not Found
5150
+ content:
5151
+ application/json:
5152
+ schema:
5153
+ $ref: '#/components/schemas/NotFoundError'
5154
+ '500':
5155
+ description: Internal Server Error
5156
+ tags:
5157
+ - Configuration Policies
5158
+ put:
5159
+ operationId: update_configuration_policy
5160
+ summary: Update a Configuration Policy
5161
+ description: Update a specific configuration policy by ID.
5162
+ parameters:
5163
+ - name: id
5164
+ in: path
5165
+ required: true
5166
+ schema:
5167
+ type: string
5168
+ requestBody:
5169
+ required: true
5170
+ content:
5171
+ application/json:
5172
+ schema:
5173
+ $ref: '#/components/schemas/configuration_policy_params'
5174
+ responses:
5175
+ '200':
5176
+ description: OK
5177
+ content:
5178
+ application/json:
5179
+ schema:
5180
+ $ref: '#/components/schemas/configuration_policy_response'
5181
+ '400':
5182
+ description: Bad Request
5183
+ '401':
5184
+ description: Unauthorized
5185
+ content:
5186
+ application/json:
5187
+ schema:
5188
+ $ref: '#/components/schemas/UnauthorizedError'
5189
+ '404':
5190
+ description: Not Found
5191
+ content:
5192
+ application/json:
5193
+ schema:
5194
+ $ref: '#/components/schemas/NotFoundError'
5195
+ '422':
5196
+ description: Unprocessable Entity
5197
+ '500':
5198
+ description: Internal Server Error
5199
+ tags:
5200
+ - Configuration Policies
5201
+ /network_policies:
5202
+ get:
5203
+ operationId: get_network_policies
5204
+ summary: List Network Policies
5205
+ description: Get a listing of network policies for your organization.
5206
+ responses:
5207
+ '200':
5208
+ description: OK
5209
+ content:
5210
+ application/json:
5211
+ schema:
5212
+ type: array
5213
+ items:
5214
+ $ref: '#/components/schemas/network_policy_response'
5215
+ '401':
5216
+ description: Unauthorized
5217
+ content:
5218
+ application/json:
5219
+ schema:
5220
+ $ref: '#/components/schemas/UnauthorizedError'
5221
+ '500':
5222
+ description: Internal Server Error
5223
+ tags:
5224
+ - Network Policies
5225
+ post:
5226
+ operationId: create_network_policy
5227
+ summary: Create a Network Policy
5228
+ description: Create a new network policy for your organization.
5229
+ requestBody:
5230
+ required: true
5231
+ content:
5232
+ application/json:
5233
+ schema:
5234
+ $ref: '#/components/schemas/network_policy_params'
5235
+ responses:
5236
+ '201':
5237
+ description: Created
5238
+ content:
5239
+ application/json:
5240
+ schema:
5241
+ $ref: '#/components/schemas/network_policy_response'
5242
+ '400':
5243
+ description: Bad Request
5244
+ '401':
5245
+ description: Unauthorized
5246
+ content:
5247
+ application/json:
5248
+ schema:
5249
+ $ref: '#/components/schemas/UnauthorizedError'
5250
+ '422':
5251
+ description: Unprocessable Entity
5252
+ '500':
5253
+ description: Internal Server Error
5254
+ tags:
5255
+ - Network Policies
5256
+ /network_policies/{id}:
5257
+ delete:
5258
+ operationId: delete_network_policy
5259
+ summary: Delete a Network Policy
5260
+ description: Delete a specific network policy by ID.
5261
+ parameters:
5262
+ - name: id
5263
+ in: path
5264
+ required: true
5265
+ schema:
5266
+ type: string
5267
+ responses:
5268
+ '204':
5269
+ description: No Content
5270
+ '401':
5271
+ description: Unauthorized
5272
+ content:
5273
+ application/json:
5274
+ schema:
5275
+ $ref: '#/components/schemas/UnauthorizedError'
5276
+ '404':
5277
+ description: Not Found
5278
+ content:
5279
+ application/json:
5280
+ schema:
5281
+ $ref: '#/components/schemas/NotFoundError'
5282
+ '500':
5283
+ description: Internal Server Error
5284
+ tags:
5285
+ - Network Policies
5286
+ get:
5287
+ operationId: get_network_policy
5288
+ summary: Get a Network Policy
5289
+ description: Get a specific network policy by ID.
5290
+ parameters:
5291
+ - name: id
5292
+ in: path
5293
+ required: true
5294
+ schema:
5295
+ type: string
5296
+ responses:
5297
+ '200':
5298
+ description: OK
5299
+ content:
5300
+ application/json:
5301
+ schema:
5302
+ $ref: '#/components/schemas/network_policy_response'
5303
+ '401':
5304
+ description: Unauthorized
5305
+ content:
5306
+ application/json:
5307
+ schema:
5308
+ $ref: '#/components/schemas/UnauthorizedError'
5309
+ '404':
5310
+ description: Not Found
5311
+ content:
5312
+ application/json:
5313
+ schema:
5314
+ $ref: '#/components/schemas/NotFoundError'
5315
+ '500':
5316
+ description: Internal Server Error
5317
+ tags:
5318
+ - Network Policies
5319
+ put:
5320
+ operationId: update_network_policy
5321
+ summary: Update a Network Policy
5322
+ description: Update a specific network policy by ID.
5323
+ parameters:
5324
+ - name: id
5325
+ in: path
5326
+ required: true
5327
+ schema:
5328
+ type: string
5329
+ requestBody:
5330
+ required: true
5331
+ content:
5332
+ application/json:
5333
+ schema:
5334
+ $ref: '#/components/schemas/network_policy_params'
5335
+ responses:
5336
+ '200':
5337
+ description: OK
5338
+ content:
5339
+ application/json:
5340
+ schema:
5341
+ $ref: '#/components/schemas/network_policy_response'
5342
+ '400':
5343
+ description: Bad Request
5344
+ '401':
5345
+ description: Unauthorized
5346
+ content:
5347
+ application/json:
5348
+ schema:
5349
+ $ref: '#/components/schemas/UnauthorizedError'
5350
+ '404':
5351
+ description: Not Found
5352
+ content:
5353
+ application/json:
5354
+ schema:
5355
+ $ref: '#/components/schemas/NotFoundError'
5356
+ '422':
5357
+ description: Unprocessable Entity
5358
+ '500':
5359
+ description: Internal Server Error
5360
+ tags:
5361
+ - Network Policies
5362
+ components:
5363
+ schemas:
5364
+ UnauthorizedError:
5365
+ type: object
5366
+ properties:
5367
+ code:
5368
+ type: string
5369
+ description: Error code
5370
+ example: unauthorized
5371
+ message:
5372
+ type: string
5373
+ description: Error message
5374
+ example: You are not authorized to perform the requested action
5375
+ required:
5376
+ - code
5377
+ - message
5378
+ OAuth2TokenError:
5379
+ type: object
5380
+ description: |
5381
+ OAuth 2.0 error response returned by token endpoint as defined in RFC 6749 section 5.2.
5382
+ This error format is used for all OAuth 2.0 token-related errors including authorization code exchange,
5383
+ refresh token usage, and URL token authentication.
5384
+ properties:
5385
+ error:
5386
+ type: string
5387
+ description: OAuth 2.0 error code indicating the type of error
5388
+ enum:
5389
+ - invalid_request
5390
+ - invalid_client
5391
+ - invalid_grant
5392
+ - unauthorized_client
5393
+ - unsupported_grant_type
5394
+ - invalid_scope
5395
+ - access_denied
5396
+ example: invalid_grant
5397
+ error_description:
5398
+ type: string
5399
+ description: Human-readable error description providing additional context about the error
5400
+ example: invalid URL token
5401
+ state:
5402
+ type: string
5403
+ nullable: true
5404
+ description: State parameter from the authorization request, if present. Used to maintain state between request and callback.
5405
+ required:
5406
+ - error
5407
+ - state
5408
+ example:
5409
+ error: invalid_grant
5410
+ error_description: invalid URL token
5411
+ state: null
5412
+ ValidationError:
5413
+ type: object
5414
+ description: |
5415
+ Standard validation error response for API v1 endpoints (422 Unprocessable Entity).
5416
+ Returned when request parameters are missing, invalid, or violate business rules.
5417
+ properties:
5418
+ code:
5419
+ type: string
5420
+ description: Error code identifying the type of validation error
5421
+ enum:
5422
+ - parameter_missing
5423
+ - unpermitted_parameters
5424
+ - invalid_parameter_value
5425
+ - unknown_sort_field
5426
+ - too_many_sort_fields
5427
+ example: parameter_missing
5428
+ message:
5429
+ type: string
5430
+ description: Human-readable error message
5431
+ example: param is missing or the value is empty
5432
+ param:
5433
+ type: string
5434
+ description: Name of the problematic parameter (for parameter_missing, invalid_parameter_value, unknown_sort_field)
5435
+ example: aspera_app_type or workspace_id must be present
5436
+ params:
5437
+ type: array
5438
+ description: List of unpermitted parameters (for unpermitted_parameters error)
5439
+ items:
5440
+ type: string
5441
+ example: ["invalid_param1", "invalid_param2"]
5442
+ request_id:
5443
+ type: string
5444
+ format: uuid
5445
+ description: Unique identifier for the request, useful for debugging and support
5446
+ example: 910723e1-d7ac-4d01-9b4a-5949cf870f98
4936
5447
  required:
4937
5448
  - code
4938
5449
  - message
@@ -5583,6 +6094,7 @@ components:
5583
6094
  enum:
5584
6095
  - user
5585
6096
  - group
6097
+ - workspace
5586
6098
  app_memberships_response:
5587
6099
  type: object
5588
6100
  properties:
@@ -5599,6 +6111,8 @@ components:
5599
6111
  enum:
5600
6112
  - activity
5601
6113
  - automation
6114
+ - files
6115
+ - packages
5602
6116
  id:
5603
6117
  description: ID of the app membership.
5604
6118
  type: string
@@ -5609,7 +6123,12 @@ components:
5609
6123
  examples:
5610
6124
  - '213'
5611
6125
  member_type:
6126
+ description: Type of member. Can be "user", "group" or "workspace".
5612
6127
  type: string
6128
+ enum:
6129
+ - user
6130
+ - group
6131
+ - workspace
5613
6132
  app_settings_base:
5614
6133
  type: object
5615
6134
  description: Common settings properties for all application types
@@ -8810,6 +9329,226 @@ components:
8810
9329
  - name
8811
9330
  - source_id
8812
9331
  - source_type
9332
+ configuration_policy_response:
9333
+ type: object
9334
+ properties:
9335
+ id:
9336
+ description: Unique identifier of the configuration policy.
9337
+ type: string
9338
+ examples:
9339
+ - '7'
9340
+ name:
9341
+ description: Name of the configuration policy.
9342
+ type: string
9343
+ examples:
9344
+ - Server-Side Encryption At Rest w/150Mbps target rate
9345
+ organization_id:
9346
+ description: ID of the organization this policy belongs to.
9347
+ type: string
9348
+ examples:
9349
+ - '28453'
9350
+ activity_event_logging:
9351
+ description: Whether activity event logging is enabled.
9352
+ type: boolean
9353
+ examples:
9354
+ - true
9355
+ aej_logging_enabled:
9356
+ description: Whether AEJ logging is enabled.
9357
+ type: boolean
9358
+ examples:
9359
+ - true
9360
+ aggressiveness:
9361
+ description: Transfer aggressiveness factor (0.0 to 1.0). Null means use node default.
9362
+ type: number
9363
+ format: float
9364
+ nullable: true
9365
+ examples:
9366
+ - 0.15
9367
+ cipher:
9368
+ description: Encryption cipher used for transfers.
9369
+ type: string
9370
+ enum:
9371
+ - aes-128
9372
+ - aes-192
9373
+ - aes-256
9374
+ examples:
9375
+ - aes-128
9376
+ content_protection_secret:
9377
+ description: Secret used for content protection (server-side encryption at rest). Null if not set.
9378
+ type: string
9379
+ nullable: true
9380
+ examples:
9381
+ - aspera-1
9382
+ default_target_rate_kbps:
9383
+ description: Default target transfer rate in kbps. Null means no limit.
9384
+ type: integer
9385
+ nullable: true
9386
+ examples:
9387
+ - 150000
9388
+ enable_iteration_token_pagination:
9389
+ description: Whether iteration token pagination is enabled for directory listings.
9390
+ type: boolean
9391
+ examples:
9392
+ - false
9393
+ recursive_counts:
9394
+ description: Whether recursive file counts are enabled.
9395
+ type: boolean
9396
+ examples:
9397
+ - true
9398
+ remove_skipped:
9399
+ description: Whether skipped files are removed from transfer results.
9400
+ type: boolean
9401
+ examples:
9402
+ - false
9403
+ created_at:
9404
+ description: Date at which the configuration policy was created.
9405
+ type: string
9406
+ format: date-time
9407
+ examples:
9408
+ - '2018-05-03T16:07:03.000Z'
9409
+ updated_at:
9410
+ description: Date at which the configuration policy was last updated.
9411
+ type: string
9412
+ format: date-time
9413
+ examples:
9414
+ - '2018-05-03T16:07:03.000Z'
9415
+ configuration_policy_params:
9416
+ type: object
9417
+ required:
9418
+ - name
9419
+ properties:
9420
+ name:
9421
+ description: Name of the configuration policy.
9422
+ type: string
9423
+ examples:
9424
+ - Server-Side Encryption At Rest w/150Mbps target rate
9425
+ activity_event_logging:
9426
+ description: Whether activity event logging is enabled.
9427
+ type: boolean
9428
+ examples:
9429
+ - true
9430
+ aej_logging_enabled:
9431
+ description: Whether AEJ logging is enabled.
9432
+ type: boolean
9433
+ examples:
9434
+ - true
9435
+ aggressiveness:
9436
+ description: Transfer aggressiveness factor (0.0 to 1.0). Null means use node default.
9437
+ type: number
9438
+ format: float
9439
+ nullable: true
9440
+ examples:
9441
+ - 0.15
9442
+ cipher:
9443
+ description: Encryption cipher used for transfers.
9444
+ type: string
9445
+ enum:
9446
+ - aes-128
9447
+ - aes-192
9448
+ - aes-256
9449
+ examples:
9450
+ - aes-128
9451
+ content_protection_secret:
9452
+ description: Secret used for content protection (server-side encryption at rest). Null if not set.
9453
+ type: string
9454
+ nullable: true
9455
+ examples:
9456
+ - aspera-1
9457
+ default_target_rate_kbps:
9458
+ description: Default target transfer rate in kbps. Null means no limit.
9459
+ type: integer
9460
+ nullable: true
9461
+ examples:
9462
+ - 150000
9463
+ enable_iteration_token_pagination:
9464
+ description: Whether iteration token pagination is enabled for directory listings.
9465
+ type: boolean
9466
+ examples:
9467
+ - false
9468
+ recursive_counts:
9469
+ description: Whether recursive file counts are enabled.
9470
+ type: boolean
9471
+ examples:
9472
+ - true
9473
+ remove_skipped:
9474
+ description: Whether skipped files are removed from transfer results.
9475
+ type: boolean
9476
+ examples:
9477
+ - false
9478
+ network_policy_response:
9479
+ type: object
9480
+ properties:
9481
+ id:
9482
+ description: Unique identifier of the network policy.
9483
+ type: string
9484
+ examples:
9485
+ - '35'
9486
+ name:
9487
+ description: Name of the network policy.
9488
+ type: string
9489
+ examples:
9490
+ - Receive server initiates
9491
+ organization_id:
9492
+ description: ID of the organization this policy belongs to.
9493
+ type: string
9494
+ examples:
9495
+ - '28453'
9496
+ initiation_policy_type:
9497
+ description: Defines which side initiates the transfer connection.
9498
+ type: string
9499
+ enum:
9500
+ - all
9501
+ - none
9502
+ - listed
9503
+ examples:
9504
+ - all
9505
+ access_control_type:
9506
+ description: Defines the access control behaviour for this network policy.
9507
+ type: string
9508
+ enum:
9509
+ - allow_following
9510
+ - none
9511
+ examples:
9512
+ - allow_following
9513
+ created_at:
9514
+ description: Date at which the network policy was created.
9515
+ type: string
9516
+ format: date-time
9517
+ examples:
9518
+ - '2018-05-03T16:07:03.000Z'
9519
+ updated_at:
9520
+ description: Date at which the network policy was last updated.
9521
+ type: string
9522
+ format: date-time
9523
+ examples:
9524
+ - '2018-05-03T16:07:03.000Z'
9525
+ network_policy_params:
9526
+ type: object
9527
+ required:
9528
+ - name
9529
+ properties:
9530
+ name:
9531
+ description: Name of the network policy.
9532
+ type: string
9533
+ examples:
9534
+ - Receive server initiates
9535
+ initiation_policy_type:
9536
+ description: Defines which side initiates the transfer connection.
9537
+ type: string
9538
+ enum:
9539
+ - all
9540
+ - none
9541
+ - listed
9542
+ examples:
9543
+ - all
9544
+ access_control_type:
9545
+ description: Defines the access control behaviour for this network policy.
9546
+ type: string
9547
+ enum:
9548
+ - allow_following
9549
+ - none
9550
+ examples:
9551
+ - allow_following
8813
9552
  requestBodies:
8814
9553
  clients_params:
8815
9554
  content: