@meshery/schemas 1.3.9 → 1.4.0

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 (101) hide show
  1. package/dist/cloudApi.d.mts +28 -28
  2. package/dist/cloudApi.d.ts +28 -28
  3. package/dist/constructs/v1alpha1/capability/Capability.d.ts +106 -111
  4. package/dist/constructs/v1alpha1/core/Core.d.ts +822 -734
  5. package/dist/constructs/v1alpha2/catalog/Catalog.d.ts +45 -40
  6. package/dist/constructs/v1alpha3/relationship/Relationship.d.ts +1829 -1716
  7. package/dist/constructs/v1beta1/academy/Academy.d.ts +6023 -6642
  8. package/dist/constructs/v1beta1/badge/Badge.d.ts +439 -600
  9. package/dist/constructs/v1beta1/capability/Capability.d.ts +106 -111
  10. package/dist/constructs/v1beta1/catalog/Catalog.d.ts +45 -40
  11. package/dist/constructs/v1beta1/category/Category.d.ts +38 -26
  12. package/dist/constructs/v1beta1/component/Component.d.ts +833 -729
  13. package/dist/constructs/v1beta1/connection/Connection.d.ts +1170 -1357
  14. package/dist/constructs/v1beta1/core/Core.d.ts +822 -734
  15. package/dist/constructs/v1beta1/credential/Credential.d.ts +458 -593
  16. package/dist/constructs/v1beta1/environment/Environment.d.ts +666 -835
  17. package/dist/constructs/v1beta1/evaluation/Evaluation.d.ts +6142 -5619
  18. package/dist/constructs/v1beta1/event/Event.d.ts +527 -898
  19. package/dist/constructs/v1beta1/feature/Feature.d.ts +343 -389
  20. package/dist/constructs/v1beta1/invitation/Invitation.d.ts +877 -1244
  21. package/dist/constructs/v1beta1/key/Key.d.ts +444 -589
  22. package/dist/constructs/v1beta1/keychain/Keychain.d.ts +575 -796
  23. package/dist/constructs/v1beta1/model/Model.d.ts +598 -572
  24. package/dist/constructs/v1beta1/organization/Organization.d.ts +1410 -1829
  25. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +17988 -17171
  26. package/dist/constructs/v1beta1/plan/Plan.d.ts +115 -159
  27. package/dist/constructs/v1beta1/role/Role.d.ts +688 -933
  28. package/dist/constructs/v1beta1/schedule/Schedule.d.ts +315 -425
  29. package/dist/constructs/v1beta1/subcategory/Subcategory.d.ts +61 -18
  30. package/dist/constructs/v1beta1/subscription/Subscription.d.ts +674 -839
  31. package/dist/constructs/v1beta1/support/Support.d.ts +74 -115
  32. package/dist/constructs/v1beta1/system/System.d.ts +250 -385
  33. package/dist/constructs/v1beta1/team/Team.d.ts +762 -1028
  34. package/dist/constructs/v1beta1/token/Token.d.ts +475 -612
  35. package/dist/constructs/v1beta1/user/User.d.ts +1553 -1722
  36. package/dist/constructs/v1beta1/view/View.d.ts +664 -833
  37. package/dist/constructs/v1beta1/workspace/Workspace.d.ts +4705 -4910
  38. package/dist/constructs/v1beta2/academy/Academy.d.ts +7246 -7864
  39. package/dist/constructs/v1beta2/badge/Badge.d.ts +453 -610
  40. package/dist/constructs/v1beta2/catalog/Catalog.d.ts +45 -40
  41. package/dist/constructs/v1beta2/component/Component.d.ts +851 -747
  42. package/dist/constructs/v1beta2/connection/Connection.d.ts +1189 -1376
  43. package/dist/constructs/v1beta2/core/Core.d.ts +856 -768
  44. package/dist/constructs/v1beta2/credential/Credential.d.ts +437 -572
  45. package/dist/constructs/v1beta2/design/Design.d.ts +18631 -17846
  46. package/dist/constructs/v1beta2/event/Event.d.ts +575 -946
  47. package/dist/constructs/v1beta2/invitation/Invitation.d.ts +901 -1268
  48. package/dist/constructs/v1beta2/key/Key.d.ts +454 -599
  49. package/dist/constructs/v1beta2/keychain/Keychain.d.ts +585 -806
  50. package/dist/constructs/v1beta2/model/Model.d.ts +636 -610
  51. package/dist/constructs/v1beta2/organization/Organization.d.ts +2017 -2458
  52. package/dist/constructs/v1beta2/plan/Plan.d.ts +128 -169
  53. package/dist/constructs/v1beta2/relationship/Relationship.d.ts +2013 -1844
  54. package/dist/constructs/v1beta2/role/Role.d.ts +695 -940
  55. package/dist/constructs/v1beta2/schedule/Schedule.d.ts +356 -466
  56. package/dist/constructs/v1beta2/subscription/Subscription.d.ts +701 -866
  57. package/dist/constructs/v1beta2/team/Team.d.ts +852 -1118
  58. package/dist/constructs/v1beta2/token/Token.d.ts +479 -616
  59. package/dist/constructs/v1beta2/user/User.d.ts +1553 -1722
  60. package/dist/constructs/v1beta2/view/View.d.ts +669 -838
  61. package/dist/constructs/v1beta3/academy/Academy.d.ts +7246 -7864
  62. package/dist/constructs/v1beta3/academy/AcademySchema.js +1 -1
  63. package/dist/constructs/v1beta3/academy/AcademySchema.mjs +1 -1
  64. package/dist/constructs/v1beta3/component/Component.d.ts +857 -753
  65. package/dist/constructs/v1beta3/connection/Connection.d.ts +5559 -5053
  66. package/dist/constructs/v1beta3/connection/ConnectionSchema.js +6 -6
  67. package/dist/constructs/v1beta3/connection/ConnectionSchema.mjs +6 -6
  68. package/dist/constructs/v1beta3/design/Design.d.ts +5297 -5719
  69. package/dist/constructs/v1beta3/design/DesignSchema.js +2 -2
  70. package/dist/constructs/v1beta3/design/DesignSchema.mjs +2 -2
  71. package/dist/constructs/v1beta3/environment/Environment.d.ts +689 -858
  72. package/dist/constructs/v1beta3/event/Event.d.ts +666 -1041
  73. package/dist/constructs/v1beta3/event/EventSchema.js +1 -1
  74. package/dist/constructs/v1beta3/event/EventSchema.mjs +1 -1
  75. package/dist/constructs/v1beta3/filter/Filter.d.ts +1300 -1438
  76. package/dist/constructs/v1beta3/filter/FilterSchema.js +7 -7
  77. package/dist/constructs/v1beta3/filter/FilterSchema.mjs +7 -7
  78. package/dist/constructs/v1beta3/invitation/Invitation.d.ts +911 -1278
  79. package/dist/constructs/v1beta3/invitation/InvitationSchema.js +1 -1
  80. package/dist/constructs/v1beta3/invitation/InvitationSchema.mjs +1 -1
  81. package/dist/constructs/v1beta3/performance_profile/PerformanceProfile.d.ts +1114 -1412
  82. package/dist/constructs/v1beta3/performance_profile/PerformanceProfileSchema.js +1 -1
  83. package/dist/constructs/v1beta3/performance_profile/PerformanceProfileSchema.mjs +1 -1
  84. package/dist/constructs/v1beta3/plan/Plan.d.ts +156 -197
  85. package/dist/constructs/v1beta3/relationship/Relationship.d.ts +2013 -1844
  86. package/dist/constructs/v1beta3/subscription/Subscription.d.ts +804 -969
  87. package/dist/constructs/v1beta3/token/Token.d.ts +480 -617
  88. package/dist/constructs/v1beta3/token/TokenSchema.js +1 -1
  89. package/dist/constructs/v1beta3/token/TokenSchema.mjs +1 -1
  90. package/dist/constructs/v1beta3/workspace/Workspace.d.ts +4825 -5033
  91. package/dist/index.d.mts +5032 -5501
  92. package/dist/index.d.ts +5032 -5501
  93. package/dist/mesheryApi.d.mts +8 -8
  94. package/dist/mesheryApi.d.ts +8 -8
  95. package/dist/mesheryApi.js +1 -1
  96. package/dist/mesheryApi.mjs +1 -1
  97. package/dist/permissions.d.mts +25 -1
  98. package/dist/permissions.d.ts +25 -1
  99. package/dist/permissions.js +1 -1
  100. package/dist/permissions.mjs +1 -1
  101. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- var t={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.",version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{200:{description:"Invitation fetched",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{200:{description:"Invitation updated",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{description:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available.","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{201:{description:"Invitation created",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{200:{description:"Invitation accepted",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{orgId:{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}},invitationId:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",description:"Paginated list of invitations for an organization.",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available.","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupRequestsPage:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive. Disabled invitations can be re-enabled later."},Invitation:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","ownerId","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},e=t;
1
+ var t={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.",version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{200:{description:"Invitation fetched",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{200:{description:"Invitation updated",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{description:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available.","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{201:{description:"Invitation created",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}],responses:{200:{description:"Invitation accepted",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{orgId:{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}},invitationId:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",description:"Paginated list of invitations for an organization.",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available.","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupRequestsPage:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerId:{description:"ID of the user who created the invitation.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive. Disabled invitations can be re-enabled later."},Invitation:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},e=t;
2
2
  export{e as default};