GraphQL Permissions
Intended Audience:
Technical User
Authors:
Fluent Commerce, Kirill Gaiduk
Changed on:
26 Oct 2025
Overview
The GraphQL Permissions define the access rights that control every operation in the Fluent platform’s GraphQL API. Each permission represents a single, specific action a user can perform on an entity, ensuring secure access management across all services.
By assigning permissions to roles, organizations can control user capabilities at a granular level. This ensures that users only access and modify data relevant to their role and business context.
Key points
- Permission Structure: GraphQL queries and mutations are secured by permissions that follow the ENTITY_ACTION naming convention (for example, ORDER_VIEW, ORDER_UPDATE). This ensures precise and predictable access control across all API operations
- Nested and Partial Mutations: Nested mutations require separate permissions. Partial mutations are not allowed — if one permission check fails, the entire operation is rolled back
- Plugin Management Access: Plugin-related operations are governed by specific permissions such as PLUGIN_VIEW, PLUGIN_UPLOAD, and PLUGIN_INSTALL. Only users with these permissions can manage plugin
- Error Handling and Troubleshooting: Operations attempted without proper permissions return the error code C0020E. Users must obtain the required permissions before retrying the operation
Naming Convention
Permissions follow a NOUN_VERB naming convention (for example, `ORDER_UPDATE`) and align with common actions such as:
- VIEW - allows querying data
- CREATE - allows creating new records
- UPDATE - allows modifying existing records
Viewing All Permissions
The complete list of GraphQL permissions available in the Fluent platform can be retrieved using the `permissions` query.
1query permissions{
2 permissions(first:1000){
3 edges{
4 node{
5 name
6 }
7 }
8 }
9}1{
2 "data": {
3 "permissions": {
4 "edges": [
5 {
6 "node": {
7 "name": "WORKFLOW_VIEW"
8 }
9 },
10 {
11 "node": {
12 "name": "WORKFLOW_UPDATE"
13 }
14 },
15 {
16 "node": {
17 "name": "WORKFLOW_CREATE"
18 }
19 },
20 {
21 "node": {
22 "name": "WAVE_VIEW"
23 }
24 },
25 {
26 "node": {
27 "name": "WAVE_UPDATE"
28 }
29 },
30 {
31 "node": {
32 "name": "WAVE_TRANSITION"
33 }
34 },
35 {
36 "node": {
37 "name": "WAVE_CREATE"
38 }
39 },
40 {
41 "node": {
42 "name": "VIRTUALVIEW_VIEW"
43 }
44 },
45 {
46 "node": {
47 "name": "VIRTUALVIEWINVENTORYLEVELS"
48 }
49 },
50 {
51 "node": {
52 "name": "VIRTUALVIEW_CREATE"
53 }
54 },
55 {
56 "node": {
57 "name": "VIRTUALPOSITION_VIEW"
58 }
59 },
60 {
61 "node": {
62 "name": "VIRTUALPOSITION_UPDATE"
63 }
64 },
65 {
66 "node": {
67 "name": "VIRTUALPOSITION_CREATE"
68 }
69 },
70 {
71 "node": {
72 "name": "VIRTUALINVENTORY_VIEW"
73 }
74 },
75 {
76 "node": {
77 "name": "VIRTUALCATALOGUE_VIEW"
78 }
79 },
80 {
81 "node": {
82 "name": "VIRTUALCATALOGUE_UPDATE"
83 }
84 },
85 {
86 "node": {
87 "name": "VIRTUALCATALOGUE_CREATE"
88 }
89 },
90 {
91 "node": {
92 "name": "VARIANTPRODUCT_VIEW"
93 }
94 },
95 {
96 "node": {
97 "name": "VARIANTPRODUCT_UPDATE"
98 }
99 },
100 {
101 "node": {
102 "name": "VARIANTPRODUCT_CREATE"
103 }
104 },
105 {
106 "node": {
107 "name": "USER_VIEW"
108 }
109 },
110 {
111 "node": {
112 "name": "USER_UPDATE"
113 }
114 },
115 {
116 "node": {
117 "name": "USERROLE_UPDATE"
118 }
119 },
120 {
121 "node": {
122 "name": "USER_EDIT"
123 }
124 },
125 {
126 "node": {
127 "name": "USER_CREATE"
128 }
129 },
130 {
131 "node": {
132 "name": "UNCOLLECTEDORDERS_VIEW"
133 }
134 },
135 {
136 "node": {
137 "name": "TRANSACTION_VIEW"
138 }
139 },
140 {
141 "node": {
142 "name": "TRANSACTION_CREATE"
143 }
144 },
145 {
146 "node": {
147 "name": "TAXTYPE_VIEW"
148 }
149 },
150 {
151 "node": {
152 "name": "STOREADDRESS_VIEW"
153 }
154 },
155 {
156 "node": {
157 "name": "STOREADDRESS_UPDATE"
158 }
159 },
160 {
161 "node": {
162 "name": "STOREADDRESS_CREATE"
163 }
164 },
165 {
166 "node": {
167 "name": "STORAGEAREA_VIEW"
168 }
169 },
170 {
171 "node": {
172 "name": "STORAGEAREA_UPDATE"
173 }
174 },
175 {
176 "node": {
177 "name": "STORAGEAREARESERVATION_VIEW"
178 }
179 },
180 {
181 "node": {
182 "name": "STORAGEAREA_CREATE"
183 }
184 },
185 {
186 "node": {
187 "name": "STANDARDPRODUCT_VIEW"
188 }
189 },
190 {
191 "node": {
192 "name": "STANDARDPRODUCT_UPDATE"
193 }
194 },
195 {
196 "node": {
197 "name": "STANDARDPRODUCT_CREATE"
198 }
199 },
200 {
201 "node": {
202 "name": "SOURCINGPROFILE_VIEW"
203 }
204 },
205 {
206 "node": {
207 "name": "SOURCINGPROFILE_UPDATE"
208 }
209 },
210 {
211 "node": {
212 "name": "SOURCINGPROFILE_CREATE"
213 }
214 },
215 {
216 "node": {
217 "name": "SKU_VIEW"
218 }
219 },
220 {
221 "node": {
222 "name": "SETTING_VIEW"
223 }
224 },
225 {
226 "node": {
227 "name": "SETTING_UPDATE"
228 }
229 },
230 {
231 "node": {
232 "name": "SETTINGS_EDIT"
233 }
234 },
235 {
236 "node": {
237 "name": "SETTING_CREATE"
238 }
239 },
240 {
241 "node": {
242 "name": "SERVICEPOINT_VIEW"
243 }
244 },
245 {
246 "node": {
247 "name": "SEARCHVIRTUALINVENTORY"
248 }
249 },
250 {
251 "node": {
252 "name": "ROLE_VIEW"
253 }
254 },
255 {
256 "node": {
257 "name": "ROLEUSER_REMOVE"
258 }
259 },
260 {
261 "node": {
262 "name": "ROLE_UPDATE"
263 }
264 },
265 {
266 "node": {
267 "name": "ROLE_REVOKE"
268 }
269 },
270 {
271 "node": {
272 "name": "ROLEPERMISSION_UPDATE"
273 }
274 },
275 {
276 "node": {
277 "name": "ROLE_GRANT"
278 }
279 },
280 {
281 "node": {
282 "name": "ROLE_CREATE"
283 }
284 },
285 {
286 "node": {
287 "name": "RETURN_VIEW"
288 }
289 },
290 {
291 "node": {
292 "name": "RETURNORDER_VIEW"
293 }
294 },
295 {
296 "node": {
297 "name": "RETURNORDER_UPDATE"
298 }
299 },
300 {
301 "node": {
302 "name": "RETURNORDER_CREATE"
303 }
304 },
305 {
306 "node": {
307 "name": "RETURN_CREATE"
308 }
309 },
310 {
311 "node": {
312 "name": "RETAILER_VIEW"
313 }
314 },
315 {
316 "node": {
317 "name": "RETAILER_UPDATE"
318 }
319 },
320 {
321 "node": {
322 "name": "RETAILER_CREATE"
323 }
324 },
325 {
326 "node": {
327 "name": "REPORT_VIEW"
328 }
329 },
330 {
331 "node": {
332 "name": "PRODUCT_VIEW"
333 }
334 },
335 {
336 "node": {
337 "name": "PRODUCTCATALOGUE_VIEW"
338 }
339 },
340 {
341 "node": {
342 "name": "PRODUCTCATALOGUE_UPDATE"
343 }
344 },
345 {
346 "node": {
347 "name": "PRODUCTCATALOGUE_CREATE"
348 }
349 },
350 {
351 "node": {
352 "name": "PRICE_VIEW"
353 }
354 },
355 {
356 "node": {
357 "name": "PLUGIN_VIEW"
358 }
359 },
360 {
361 "node": {
362 "name": "PLUGIN_UPLOAD"
363 }
364 },
365 {
366 "node": {
367 "name": "PLUGIN_INSTALL"
368 }
369 },
370 {
371 "node": {
372 "name": "PICKPACK_VIEW"
373 }
374 },
375 {
376 "node": {
377 "name": "PERMISSION_VIEW"
378 }
379 },
380 {
381 "node": {
382 "name": "PERMISSIONROLE_REMOVE"
383 }
384 },
385 {
386 "node": {
387 "name": "PAYMENT_VIEW"
388 }
389 },
390 {
391 "node": {
392 "name": "PAYMENT_UPDATE"
393 }
394 },
395 {
396 "node": {
397 "name": "PAYMENTSERVICEPROVIDER_VIEW"
398 }
399 },
400 {
401 "node": {
402 "name": "PAYMENTSERVICEPROVIDER_UPDATE"
403 }
404 },
405 {
406 "node": {
407 "name": "PAYMENTSERVICEPROVIDER_CREATE"
408 }
409 },
410 {
411 "node": {
412 "name": "PAYMENT_CREATE"
413 }
414 },
415 {
416 "node": {
417 "name": "ORDER_VIEW"
418 }
419 },
420 {
421 "node": {
422 "name": "ORDER_UPDATE"
423 }
424 },
425 {
426 "node": {
427 "name": "ORDERITEM_VIEW"
428 }
429 },
430 {
431 "node": {
432 "name": "ORDERITEM_UPDATE"
433 }
434 },
435 {
436 "node": {
437 "name": "ORDERITEM_CREATE"
438 }
439 },
440 {
441 "node": {
442 "name": "ORDER_EDIT"
443 }
444 },
445 {
446 "node": {
447 "name": "ORDER_CREATE"
448 }
449 },
450 {
451 "node": {
452 "name": "ORDER_CANCEL"
453 }
454 },
455 {
456 "node": {
457 "name": "OPENINGSCHEDULE_VIEW"
458 }
459 },
460 {
461 "node": {
462 "name": "OPENINGSCHEDULE_UPDATE"
463 }
464 },
465 {
466 "node": {
467 "name": "OPENINGSCHEDULE_CREATE"
468 }
469 },
470 {
471 "node": {
472 "name": "NETWORK_VIEW"
473 }
474 },
475 {
476 "node": {
477 "name": "NETWORK_UPDATE"
478 }
479 },
480 {
481 "node": {
482 "name": "NETWORKLOCATION_REMOVE"
483 }
484 },
485 {
486 "node": {
487 "name": "NETWORK_CREATE"
488 }
489 },
490 {
491 "node": {
492 "name": "METRICS_VIEW"
493 }
494 },
495 {
496 "node": {
497 "name": "MANIFEST_VIEW"
498 }
499 },
500 {
501 "node": {
502 "name": "MANIFEST_UPDATE"
503 }
504 },
505 {
506 "node": {
507 "name": "MANIFEST_CREATE"
508 }
509 },
510 {
511 "node": {
512 "name": "LOCATION_VIEW"
513 }
514 },
515 {
516 "node": {
517 "name": "LOCATION_UPDATE"
518 }
519 },
520 {
521 "node": {
522 "name": "LOCATIONNETWORK_REMOVE"
523 }
524 },
525 {
526 "node": {
527 "name": "LOCATION_EDIT"
528 }
529 },
530 {
531 "node": {
532 "name": "LOCATION_CREATE"
533 }
534 },
535 {
536 "node": {
537 "name": "JOB_VIEW"
538 }
539 },
540 {
541 "node": {
542 "name": "INVOICE_VIEW"
543 }
544 },
545 {
546 "node": {
547 "name": "INVOICE_UPDATE"
548 }
549 },
550 {
551 "node": {
552 "name": "INVOICE_CREATE"
553 }
554 },
555 {
556 "node": {
557 "name": "INVENTORY_VIEW"
558 }
559 },
560 {
561 "node": {
562 "name": "INVENTORYQUANTITY_VIEW"
563 }
564 },
565 {
566 "node": {
567 "name": "INVENTORYQUANTITY_UPDATE"
568 }
569 },
570 {
571 "node": {
572 "name": "INVENTORYQUANTITY_CREATE"
573 }
574 },
575 {
576 "node": {
577 "name": "INVENTORYPOSITION_VIEW"
578 }
579 },
580 {
581 "node": {
582 "name": "INVENTORYPOSITION_UPDATE"
583 }
584 },
585 {
586 "node": {
587 "name": "INVENTORYPOSITION_CREATE"
588 }
589 },
590 {
591 "node": {
592 "name": "INVENTORYFEED_VIEW"
593 }
594 },
595 {
596 "node": {
597 "name": "INVENTORYFEED_UPDATE"
598 }
599 },
600 {
601 "node": {
602 "name": "INVENTORYFEEDRUN_VIEW"
603 }
604 },
605 {
606 "node": {
607 "name": "INVENTORYFEEDRUN_UPDATE"
608 }
609 },
610 {
611 "node": {
612 "name": "INVENTORYFEEDRUN_CREATE"
613 }
614 },
615 {
616 "node": {
617 "name": "INVENTORYFEED_CREATE"
618 }
619 },
620 {
621 "node": {
622 "name": "INVENTORY_EDIT"
623 }
624 },
625 {
626 "node": {
627 "name": "INVENTORYCATALOGUE_VIEW"
628 }
629 },
630 {
631 "node": {
632 "name": "INVENTORYCATALOGUE_UPDATE"
633 }
634 },
635 {
636 "node": {
637 "name": "INVENTORYCATALOGUE_CREATE"
638 }
639 },
640 {
641 "node": {
642 "name": "GROUPPRODUCT_VIEW"
643 }
644 },
645 {
646 "node": {
647 "name": "GROUPPRODUCT_UPDATE"
648 }
649 },
650 {
651 "node": {
652 "name": "GROUPPRODUCT_CREATE"
653 }
654 },
655 {
656 "node": {
657 "name": "GRAPHQL_VIEW"
658 }
659 },
660 {
661 "node": {
662 "name": "GRAPHQL_SAVE"
663 }
664 },
665 {
666 "node": {
667 "name": "FULFILMENT_VIEW"
668 }
669 },
670 {
671 "node": {
672 "name": "FULFILMENT_UPDATE"
673 }
674 },
675 {
676 "node": {
677 "name": "FULFILMENT_TRANSITION"
678 }
679 },
680 {
681 "node": {
682 "name": "FULFILMENTPLAN_VIEW"
683 }
684 },
685 {
686 "node": {
687 "name": "FULFILMENTPLAN_UPDATE"
688 }
689 },
690 {
691 "node": {
692 "name": "FULFILMENTPLAN_CREATE"
693 }
694 },
695 {
696 "node": {
697 "name": "FULFILMENTOPTION_VIEW"
698 }
699 },
700 {
701 "node": {
702 "name": "FULFILMENTOPTION_UPDATE"
703 }
704 },
705 {
706 "node": {
707 "name": "FULFILMENT_OPTIONS_VIEW"
708 }
709 },
710 {
711 "node": {
712 "name": "FULFILMENTOPTION_CREATE"
713 }
714 },
715 {
716 "node": {
717 "name": "FULFILMENTITEM_VIEW"
718 }
719 },
720 {
721 "node": {
722 "name": "FULFILMENTITEM_UPDATE"
723 }
724 },
725 {
726 "node": {
727 "name": "FULFILMENTITEM_CREATE"
728 }
729 },
730 {
731 "node": {
732 "name": "FULFILMENT_EDIT"
733 }
734 },
735 {
736 "node": {
737 "name": "FULFILMENT_CREATE"
738 }
739 },
740 {
741 "node": {
742 "name": "FULFILMENTCHOICE_VIEW"
743 }
744 },
745 {
746 "node": {
747 "name": "FULFILMENTCHOICE_UPDATE"
748 }
749 },
750 {
751 "node": {
752 "name": "FULFILMENTCHOICE_CREATE"
753 }
754 },
755 {
756 "node": {
757 "name": "FINANCIALTRANSACTION_VIEW"
758 }
759 },
760 {
761 "node": {
762 "name": "FINANCIALTRANSACTION_UPDATE"
763 }
764 },
765 {
766 "node": {
767 "name": "FINANCIALTRANSACTION_CREATE"
768 }
769 },
770 {
771 "node": {
772 "name": "EVENT_VIEW"
773 }
774 },
775 {
776 "node": {
777 "name": "DASHBOARD_VIEW"
778 }
779 },
780 {
781 "node": {
782 "name": "CUSTOMER_VIEW"
783 }
784 },
785 {
786 "node": {
787 "name": "CUSTOMER_UPDATE"
788 }
789 },
790 {
791 "node": {
792 "name": "CUSTOMER_CREATE"
793 }
794 },
795 {
796 "node": {
797 "name": "CUSTOMERCOLLECTIONS_VIEW"
798 }
799 },
800 {
801 "node": {
802 "name": "CUSTOMERADDRESS_VIEW"
803 }
804 },
805 {
806 "node": {
807 "name": "CUSTOMERADDRESS_UPDATE"
808 }
809 },
810 {
811 "node": {
812 "name": "CUSTOMERADDRESS_CREATE"
813 }
814 },
815 {
816 "node": {
817 "name": "CREDITMEMO_VIEW"
818 }
819 },
820 {
821 "node": {
822 "name": "CREDITMEMO_UPDATE"
823 }
824 },
825 {
826 "node": {
827 "name": "CREDITMEMO_CREATE"
828 }
829 },
830 {
831 "node": {
832 "name": "COURIERCOLLECTIONS_VIEW"
833 }
834 },
835 {
836 "node": {
837 "name": "CONTROL_VIEW"
838 }
839 },
840 {
841 "node": {
842 "name": "CONTROL_UPDATE"
843 }
844 },
845 {
846 "node": {
847 "name": "CONTROLGROUP_VIEW"
848 }
849 },
850 {
851 "node": {
852 "name": "CONTROLGROUP_UPDATE"
853 }
854 },
855 {
856 "node": {
857 "name": "CONTROLGROUP_CREATE"
858 }
859 },
860 {
861 "node": {
862 "name": "CONTROL_CREATE"
863 }
864 },
865 {
866 "node": {
867 "name": "CONSOLE_VIEW"
868 }
869 },
870 {
871 "node": {
872 "name": "CONSIGNMENT_VIEW"
873 }
874 },
875 {
876 "node": {
877 "name": "CONSIGNMENT_UPDATE"
878 }
879 },
880 {
881 "node": {
882 "name": "CONSIGNMENT_TRANSITION"
883 }
884 },
885 {
886 "node": {
887 "name": "CONSIGNMENT_CREATE"
888 }
889 },
890 {
891 "node": {
892 "name": "COMMENT_VIEW"
893 }
894 },
895 {
896 "node": {
897 "name": "COMMENT_UPDATE"
898 }
899 },
900 {
901 "node": {
902 "name": "COMMENT_CREATE"
903 }
904 },
905 {
906 "node": {
907 "name": "CATEGORY_VIEW"
908 }
909 },
910 {
911 "node": {
912 "name": "CATEGORYVARIANTPRODUCT_REMOVE"
913 }
914 },
915 {
916 "node": {
917 "name": "CATEGORY_UPDATE"
918 }
919 },
920 {
921 "node": {
922 "name": "CATEGORYSTANDARDPRODUCT_REMOVE"
923 }
924 },
925 {
926 "node": {
927 "name": "CATEGORYGROUPPRODUCT_REMOVE"
928 }
929 },
930 {
931 "node": {
932 "name": "CATEGORY_CREATE"
933 }
934 },
935 {
936 "node": {
937 "name": "CARRIER_VIEW"
938 }
939 },
940 {
941 "node": {
942 "name": "CARRIER_UPDATE"
943 }
944 },
945 {
946 "node": {
947 "name": "CARRIER_CREATE"
948 }
949 },
950 {
951 "node": {
952 "name": "BOOKRETURN_VIEW"
953 }
954 },
955 {
956 "node": {
957 "name": "BILLINGACCOUNT_VIEW"
958 }
959 },
960 {
961 "node": {
962 "name": "BILLINGACCOUNT_UPDATE"
963 }
964 },
965 {
966 "node": {
967 "name": "BILLINGACCOUNT_CREATE"
968 }
969 },
970 {
971 "node": {
972 "name": "BATCH_VIEW"
973 }
974 },
975 {
976 "node": {
977 "name": "ARTICLE_VIEW"
978 }
979 },
980 {
981 "node": {
982 "name": "ARTICLE_UPDATE"
983 }
984 },
985 {
986 "node": {
987 "name": "ARTICLE_TRANSITION"
988 }
989 },
990 {
991 "node": {
992 "name": "ARTICLEITEM_VIEW"
993 }
994 },
995 {
996 "node": {
997 "name": "ARTICLEITEM_CREATE"
998 }
999 },
1000 {
1001 "node": {
1002 "name": "ARTICLE_EXCEPTION_VIEW"
1003 }
1004 },
1005 {
1006 "node": {
1007 "name": "ARTICLE_EDIT"
1008 }
1009 },
1010 {
1011 "node": {
1012 "name": "ARTICLE_CREATE"
1013 }
1014 },
1015 {
1016 "node": {
1017 "name": "ARTICLE_CANCEL"
1018 }
1019 },
1020 {
1021 "node": {
1022 "name": "ARTICLE_AWAITING_CUSTOMER_COLLECTION_VIEW"
1023 }
1024 },
1025 {
1026 "node": {
1027 "name": "ARTICLE_AWAITING_CARRIER_COLLECTION_VIEW"
1028 }
1029 },
1030 {
1031 "node": {
1032 "name": "ARTICLE_AWAITING_ARRIVAL_VIEW"
1033 }
1034 },
1035 {
1036 "node": {
1037 "name": "ARRIVALS_VIEW"
1038 }
1039 },
1040 {
1041 "node": {
1042 "name": "ANALYTICS_VIEW"
1043 }
1044 },
1045 {
1046 "node": {
1047 "name": "ACCOUNTUSAGE_VIEW"
1048 }
1049 }
1050 ]
1051 }
1052 }
1053}Query Permissions
Query permissions on entities follow the `<<ENTITY>>_VIEW` naming convention. For example:
- The Order entity is protected by the
`ORDER_VIEW`permission - The Location entity is protected by the
`LOCATION_VIEW`permission
Use the `permissions` query with the `name` filter to retrieve all query-related permissions.
1query permissions{
2 permissions(first:1000, name: ["%_VIEW"]) {
3 edges{
4 node{
5 name
6 }
7 }
8 }
9}Mutation Permissions
Create, update and remove operations are protected by the `<<ENTITY>>_CREATE`, `<<ENTITY>>_UPDATE`, and `<<ENTITY>>_REMOVE` permissions, respectively. For example:
- The
`createSetting`mutation requires the`SETTING_CREATE`permission - The
`updateLocation`mutation requires the`LOCATION_UPDATE`permission - The
`removeUserRolesFromUser`mutation requires the`ROLEUSER_REMOVE`permission
Use the `permissions` query to retrieve the mutation permissions lists using the following `name` filters:
`name: ["%_CREATE"]``name: ["%_UPDATE"]``name: ["%_REMOVE"]`
Nested Mutations
All nested mutation operations require their own permissions, based on the entity being modified. For example:
1input UpdateLocationInput {
2 # ID of the object
3 id: ID!
4 type: String
5 status: String
6 attributes: [AttributeInput]
7 name: String
8 supportPhoneNumber: String
9 defaultCarrier: String
10 primaryAddress: UpdateStoreAddressInput
11 retailer: RetailerId
12 openingSchedule: UpdateOpeningScheduleInput
13 networks: [NetworkId]
14 storageAreas: [UpdateStorageAreaWithLocationInput]
15}The `updateLocation` mutation supports nested updates such as:
Each nested input type within a mutation requires its corresponding permission to execute successfully.
Partial Mutations
Partial mutations are not allowed.
If a mutation fails due to a missing or invalid permission, the entire operation will fail and return an error.
For example, when updating a location’s opening schedule using the `updateLocation` mutation, both permissions are required:
`LOCATION_UPDATE``OPENINGSCHEDULE_UPDATE`
If the second permission is missing, the entire mutation fails, even if the first permission is valid.
Plugin Permissions
Plugin management operations are controlled by the following permissions:
`PLUGIN_VIEW``PLUGIN_UPLOAD``PLUGIN_INSTALL`
Error Handling
Error Code: C0020E
Description: The user does not have the required permission for the attempted operation.
Possible Cause: The permission is missing or incorrect.
Solution: Contact your administrator or support team to obtain the necessary permissions.