@meshery/schemas 1.3.28 → 1.3.30

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 (96) hide show
  1. package/dist/cloudApi.d.mts +3420 -3186
  2. package/dist/cloudApi.d.ts +3420 -3186
  3. package/dist/constructs/v1beta2/academy/Academy.d.ts +2 -2
  4. package/dist/constructs/v1beta2/academy/AcademySchema.js +1 -1
  5. package/dist/constructs/v1beta2/academy/AcademySchema.mjs +1 -1
  6. package/dist/constructs/v1beta2/core/Core.d.ts +2 -2
  7. package/dist/constructs/v1beta2/core/CoreSchema.js +1 -1
  8. package/dist/constructs/v1beta2/core/CoreSchema.mjs +1 -1
  9. package/dist/constructs/v1beta2/credential/Credential.d.ts +4 -4
  10. package/dist/constructs/v1beta2/credential/CredentialSchema.js +2 -2
  11. package/dist/constructs/v1beta2/credential/CredentialSchema.mjs +2 -2
  12. package/dist/constructs/v1beta2/design/Design.d.ts +12 -12
  13. package/dist/constructs/v1beta2/design/DesignSchema.js +5 -5
  14. package/dist/constructs/v1beta2/design/DesignSchema.mjs +5 -5
  15. package/dist/constructs/v1beta2/event/Event.d.ts +10 -10
  16. package/dist/constructs/v1beta2/event/EventSchema.js +1 -1
  17. package/dist/constructs/v1beta2/event/EventSchema.mjs +1 -1
  18. package/dist/constructs/v1beta2/invitation/Invitation.d.ts +2 -2
  19. package/dist/constructs/v1beta2/invitation/InvitationSchema.js +1 -1
  20. package/dist/constructs/v1beta2/invitation/InvitationSchema.mjs +1 -1
  21. package/dist/constructs/v1beta2/key/Key.d.ts +6 -6
  22. package/dist/constructs/v1beta2/key/KeySchema.js +1 -1
  23. package/dist/constructs/v1beta2/key/KeySchema.mjs +1 -1
  24. package/dist/constructs/v1beta2/keychain/Keychain.d.ts +6 -6
  25. package/dist/constructs/v1beta2/keychain/KeychainSchema.js +1 -1
  26. package/dist/constructs/v1beta2/keychain/KeychainSchema.mjs +1 -1
  27. package/dist/constructs/v1beta2/organization/Organization.d.ts +14 -0
  28. package/dist/constructs/v1beta2/organization/OrganizationSchema.js +1 -1
  29. package/dist/constructs/v1beta2/organization/OrganizationSchema.mjs +1 -1
  30. package/dist/constructs/v1beta2/plan/Plan.d.ts +2 -2
  31. package/dist/constructs/v1beta2/plan/PlanSchema.js +1 -1
  32. package/dist/constructs/v1beta2/plan/PlanSchema.mjs +1 -1
  33. package/dist/constructs/v1beta2/role/Role.d.ts +6 -6
  34. package/dist/constructs/v1beta2/role/RoleSchema.js +1 -1
  35. package/dist/constructs/v1beta2/role/RoleSchema.mjs +1 -1
  36. package/dist/constructs/v1beta2/schedule/Schedule.d.ts +4 -4
  37. package/dist/constructs/v1beta2/schedule/ScheduleSchema.js +2 -2
  38. package/dist/constructs/v1beta2/schedule/ScheduleSchema.mjs +2 -2
  39. package/dist/constructs/v1beta2/subscription/Subscription.d.ts +4 -4
  40. package/dist/constructs/v1beta2/subscription/SubscriptionSchema.js +1 -1
  41. package/dist/constructs/v1beta2/subscription/SubscriptionSchema.mjs +1 -1
  42. package/dist/constructs/v1beta2/team/Team.d.ts +16 -41
  43. package/dist/constructs/v1beta2/team/TeamSchema.js +1 -1
  44. package/dist/constructs/v1beta2/team/TeamSchema.mjs +1 -1
  45. package/dist/constructs/v1beta2/token/Token.d.ts +4 -4
  46. package/dist/constructs/v1beta2/token/TokenSchema.js +1 -1
  47. package/dist/constructs/v1beta2/token/TokenSchema.mjs +1 -1
  48. package/dist/constructs/v1beta2/user/User.d.ts +6 -6
  49. package/dist/constructs/v1beta2/user/UserSchema.js +1 -1
  50. package/dist/constructs/v1beta2/user/UserSchema.mjs +1 -1
  51. package/dist/constructs/v1beta2/view/View.d.ts +4 -4
  52. package/dist/constructs/v1beta2/view/ViewSchema.js +2 -2
  53. package/dist/constructs/v1beta2/view/ViewSchema.mjs +2 -2
  54. package/dist/constructs/v1beta3/academy/Academy.d.ts +767 -3
  55. package/dist/constructs/v1beta3/academy/AcademySchema.js +3 -1
  56. package/dist/constructs/v1beta3/academy/AcademySchema.mjs +3 -1
  57. package/dist/constructs/v1beta3/design/Design.d.ts +5 -5
  58. package/dist/constructs/v1beta3/design/DesignSchema.js +5 -5
  59. package/dist/constructs/v1beta3/design/DesignSchema.mjs +5 -5
  60. package/dist/constructs/v1beta3/environment/Environment.d.ts +6 -6
  61. package/dist/constructs/v1beta3/environment/EnvironmentSchema.js +1 -1
  62. package/dist/constructs/v1beta3/environment/EnvironmentSchema.mjs +1 -1
  63. package/dist/constructs/v1beta3/event/Event.d.ts +11 -11
  64. package/dist/constructs/v1beta3/event/EventSchema.js +1 -1
  65. package/dist/constructs/v1beta3/event/EventSchema.mjs +1 -1
  66. package/dist/constructs/v1beta3/filter/Filter.d.ts +2 -2
  67. package/dist/constructs/v1beta3/filter/FilterSchema.js +2 -2
  68. package/dist/constructs/v1beta3/filter/FilterSchema.mjs +2 -2
  69. package/dist/constructs/v1beta3/invitation/Invitation.d.ts +4 -4
  70. package/dist/constructs/v1beta3/invitation/InvitationSchema.js +1 -1
  71. package/dist/constructs/v1beta3/invitation/InvitationSchema.mjs +1 -1
  72. package/dist/constructs/v1beta3/pattern_resource/PatternResource.d.ts +2 -2
  73. package/dist/constructs/v1beta3/pattern_resource/PatternResourceSchema.js +2 -2
  74. package/dist/constructs/v1beta3/pattern_resource/PatternResourceSchema.mjs +2 -2
  75. package/dist/constructs/v1beta3/performance_profile/PerformanceProfile.d.ts +4 -4
  76. package/dist/constructs/v1beta3/performance_profile/PerformanceProfileSchema.js +1 -1
  77. package/dist/constructs/v1beta3/performance_profile/PerformanceProfileSchema.mjs +1 -1
  78. package/dist/constructs/v1beta3/plan/Plan.d.ts +2 -2
  79. package/dist/constructs/v1beta3/plan/PlanSchema.js +1 -1
  80. package/dist/constructs/v1beta3/plan/PlanSchema.mjs +1 -1
  81. package/dist/constructs/v1beta3/subscription/Subscription.d.ts +4 -4
  82. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.js +1 -1
  83. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.mjs +1 -1
  84. package/dist/constructs/v1beta3/token/Token.d.ts +4 -4
  85. package/dist/constructs/v1beta3/token/TokenSchema.js +1 -1
  86. package/dist/constructs/v1beta3/token/TokenSchema.mjs +1 -1
  87. package/dist/constructs/v1beta3/workspace/Workspace.d.ts +12 -12
  88. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.js +2 -2
  89. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.mjs +2 -2
  90. package/dist/index.d.mts +14 -8
  91. package/dist/index.d.ts +14 -8
  92. package/dist/index.js +6 -6
  93. package/dist/index.mjs +6 -6
  94. package/dist/mesheryApi.d.mts +1407 -1399
  95. package/dist/mesheryApi.d.ts +1407 -1399
  96. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- var e={openapi:"3.0.0",info:{title:"Filter",description:"OpenAPI schema for managing Meshery filters. Filters carry an\nopaque body (`filterFile`) plus catalog and visibility metadata,\npersisted by `meshery-cloud` in the `meshery_filters` table and\nconsumed locally by `meshery/server/models.MesheryFilter`.\n\nThe endpoint surface mirrors the live `meshery-cloud` Echo handlers\n(`POST/GET /api/content/filters`,\n`GET/DELETE /api/content/filters/{filterId}`,\n`POST /api/content/filters/clone/{filterId}`,\n`GET /api/content/filters/download/{filterId}`) plus the bulk-delete\nsub-resource and the cross-construct content-share endpoint owned by\nthe design package.\n",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"}},security:[{jwt:[]}],tags:[{name:"filters",description:"Operations related to Meshery filters."}],paths:{"/api/content/filters":{get:{"x-internal":["cloud"],tags:["filters"],summary:"Get filters",operationId:"getFilters",description:"Returns a paginated list of filters accessible to the user.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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:"orgId",in:"query",description:"User's organization ID",schema:{type:"string",format:"uuid"}},{name:"visibility",in:"query",required:false,description:"Filter by visibility (public, private, published). May be repeated.",schema:{type:"array",items:{type:"string"}}},{name:"owner",in:"query",required:false,description:`UUID of the owning user. Pass when fetching public/published
1
+ var e={openapi:"3.0.0",info:{title:"Filter",description:"OpenAPI schema for managing Meshery filters. Filters carry an\nopaque body (`filterFile`) plus catalog and visibility metadata,\npersisted by `meshery-cloud` in the `meshery_filters` table and\nconsumed locally by `meshery/server/models.MesheryFilter`.\n\nThe endpoint surface mirrors the live `meshery-cloud` Echo handlers\n(`POST/GET /api/content/filters`,\n`GET/DELETE /api/content/filters/{filterId}`,\n`POST /api/content/filters/clone/{filterId}`,\n`GET /api/content/filters/download/{filterId}`) plus the bulk-delete\nsub-resource and the cross-construct content-share endpoint owned by\nthe design package.\n",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"}},security:[{jwt:[]}],tags:[{name:"filters",description:"Operations related to Meshery filters."}],paths:{"/api/content/filters":{get:{"x-internal":["cloud"],tags:["filters"],summary:"Get filters",operationId:"getFilters",description:"Returns a paginated list of filters accessible to the user.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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:"orgId",in:"query",description:"User's organization ID",schema:{type:"string",format:"uuid"}},{name:"visibility",in:"query",required:false,description:"Filter by visibility (public, private, published). May be repeated.",schema:{type:"array",items:{type:"string"}}},{name:"owner",in:"query",required:false,description:`UUID of the owning user. Pass when fetching public/published
2
2
  filters for a specific user (public-profile lookups).
3
3
  `,schema:{type:"string",format:"uuid"}}],responses:{200:{description:"Filters response",content:{"application/json":{schema:{type:"object",description:"Paginated collection of filters.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1},totalCount:{type:"integer",description:"Total number of items available.",minimum:0},filters:{type:"array",items:{"x-go-type":"MesheryFilter",$schema:"http://json-schema.org/draft-07/schema#",title:"Filter Schema",description:"Server-returned Meshery filter resource as persisted by meshery-cloud\n(`meshery_filters` table) and consumed by meshery's\n`models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus\ncatalog and visibility metadata, and follow the same content-resource\nshape as designs minus the catalog engagement counters (the\n`meshery_filters` table has no `view_count` / `download_count` columns).\n",type:"object",additionalProperties:false,required:["id","name","owner","createdAt","updatedAt"],properties:{id:{description:"Server-generated filter ID.","x-order":1,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Human-readable filter name; required, used for catalog listings.",minLength:1,maxLength:255,"x-order":2},owner:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":3,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},filterFile:{type:"string",format:"byte",description:"Raw filter source persisted as a byte array (`bytea` column\n`filter_file`). Wire form is base64 per OpenAPI `format: byte`.\n",maxLength:10485760,"x-oapi-codegen-extra-tags":{db:"filter_file"},"x-order":4},filterResource:{type:"string",description:`Filter resource discriminator describing the filter body's source
4
4
  format (e.g. WASM module identifier or external resource path).
@@ -45,7 +45,7 @@ server-generated derivative of the source filter's name.
45
45
  `,minLength:1,maxLength:255}}}}}},responses:{200:{description:"Filter cloned",content:{"application/json":{schema:{$schema:"http://json-schema.org/draft-07/schema#",title:"Filter Schema",description:"Server-returned Meshery filter resource as persisted by meshery-cloud\n(`meshery_filters` table) and consumed by meshery's\n`models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus\ncatalog and visibility metadata, and follow the same content-resource\nshape as designs minus the catalog engagement counters (the\n`meshery_filters` table has no `view_count` / `download_count` columns).\n",type:"object",additionalProperties:false,required:["id","name","owner","createdAt","updatedAt"],properties:{id:{description:"Server-generated filter ID.","x-order":1,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Human-readable filter name; required, used for catalog listings.",minLength:1,maxLength:255,"x-order":2},owner:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":3,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},filterFile:{type:"string",format:"byte",description:"Raw filter source persisted as a byte array (`bytea` column\n`filter_file`). Wire form is base64 per OpenAPI `format: byte`.\n",maxLength:10485760,"x-oapi-codegen-extra-tags":{db:"filter_file"},"x-order":4},filterResource:{type:"string",description:`Filter resource discriminator describing the filter body's source
46
46
  format (e.g. WASM module identifier or external resource path).
47
47
  Stored in the \`filter_resource\` text column.
48
- `,maxLength:5e3,"x-oapi-codegen-extra-tags":{db:"filter_resource"},"x-order":5},location:{description:"Optional structured location metadata (branch, host, path, ...).","x-order":6,type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},visibility:{description:"Visibility scope (private, public, published).","x-order":7,type:"string",enum:["private","public","published"],"x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the filter when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},"x-oapi-codegen-extra-tags":{db:"catalog_data"},"x-order":8,type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},createdAt:{description:"Timestamp of filter creation.","x-oapi-codegen-extra-tags":{db:"created_at"},"x-order":9,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp of last filter modification.","x-oapi-codegen-extra-tags":{db:"updated_at"},"x-order":10,type:"string",format:"date-time","x-go-type-skip-optional-pointer":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/content/filters/download/{filterId}":{get:{"x-internal":["cloud"],tags:["filters"],summary:"Download filter file",operationId:"getFilterFile",description:"Downloads the raw filter body associated with the supplied\nfilter ID. The server streams the bytes verbatim with\n`Content-Type: application/wasm` and a\n`Content-Disposition: attachment` header naming the filter.\n",parameters:[{name:"filterId",in:"path",description:"Filter ID",required:true,schema:{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"}}}],responses:{200:{description:"Filter file content",content:{"application/wasm":{schema:{type:"string",format:"binary"}}}},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"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},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"}}}}},parameters:{filterId:{name:"filterId",in:"path",description:"Filter ID",required:true,schema:{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"}}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pageSize:{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},orgIdQuery:{name:"orgId",in:"query",description:"User's organization ID",schema:{type:"string",format:"uuid"}}},schemas:{MesheryFilter:{$schema:"http://json-schema.org/draft-07/schema#",title:"Filter Schema",description:"Server-returned Meshery filter resource as persisted by meshery-cloud\n(`meshery_filters` table) and consumed by meshery's\n`models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus\ncatalog and visibility metadata, and follow the same content-resource\nshape as designs minus the catalog engagement counters (the\n`meshery_filters` table has no `view_count` / `download_count` columns).\n",type:"object",additionalProperties:false,required:["id","name","owner","createdAt","updatedAt"],properties:{id:{description:"Server-generated filter ID.","x-order":1,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Human-readable filter name; required, used for catalog listings.",minLength:1,maxLength:255,"x-order":2},owner:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":3,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},filterFile:{type:"string",format:"byte",description:"Raw filter source persisted as a byte array (`bytea` column\n`filter_file`). Wire form is base64 per OpenAPI `format: byte`.\n",maxLength:10485760,"x-oapi-codegen-extra-tags":{db:"filter_file"},"x-order":4},filterResource:{type:"string",description:`Filter resource discriminator describing the filter body's source
48
+ `,maxLength:5e3,"x-oapi-codegen-extra-tags":{db:"filter_resource"},"x-order":5},location:{description:"Optional structured location metadata (branch, host, path, ...).","x-order":6,type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},visibility:{description:"Visibility scope (private, public, published).","x-order":7,type:"string",enum:["private","public","published"],"x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the filter when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},"x-oapi-codegen-extra-tags":{db:"catalog_data"},"x-order":8,type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},createdAt:{description:"Timestamp of filter creation.","x-oapi-codegen-extra-tags":{db:"created_at"},"x-order":9,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp of last filter modification.","x-oapi-codegen-extra-tags":{db:"updated_at"},"x-order":10,type:"string",format:"date-time","x-go-type-skip-optional-pointer":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/content/filters/download/{filterId}":{get:{"x-internal":["cloud"],tags:["filters"],summary:"Download filter file",operationId:"getFilterFile",description:"Downloads the raw filter body associated with the supplied\nfilter ID. The server streams the bytes verbatim with\n`Content-Type: application/wasm` and a\n`Content-Disposition: attachment` header naming the filter.\n",parameters:[{name:"filterId",in:"path",description:"Filter ID",required:true,schema:{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"}}}],responses:{200:{description:"Filter file content",content:{"application/wasm":{schema:{type:"string",format:"binary"}}}},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"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},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"}}}}},parameters:{filterId:{name:"filterId",in:"path",description:"Filter ID",required:true,schema:{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"}}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},pageSize:{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},orgIdQuery:{name:"orgId",in:"query",description:"User's organization ID",schema:{type:"string",format:"uuid"}}},schemas:{MesheryFilter:{$schema:"http://json-schema.org/draft-07/schema#",title:"Filter Schema",description:"Server-returned Meshery filter resource as persisted by meshery-cloud\n(`meshery_filters` table) and consumed by meshery's\n`models.MesheryFilter`. Filters carry an opaque body (`filterFile`) plus\ncatalog and visibility metadata, and follow the same content-resource\nshape as designs minus the catalog engagement counters (the\n`meshery_filters` table has no `view_count` / `download_count` columns).\n",type:"object",additionalProperties:false,required:["id","name","owner","createdAt","updatedAt"],properties:{id:{description:"Server-generated filter ID.","x-order":1,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Human-readable filter name; required, used for catalog listings.",minLength:1,maxLength:255,"x-order":2},owner:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":3,type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},filterFile:{type:"string",format:"byte",description:"Raw filter source persisted as a byte array (`bytea` column\n`filter_file`). Wire form is base64 per OpenAPI `format: byte`.\n",maxLength:10485760,"x-oapi-codegen-extra-tags":{db:"filter_file"},"x-order":4},filterResource:{type:"string",description:`Filter resource discriminator describing the filter body's source
49
49
  format (e.g. WASM module identifier or external resource path).
50
50
  Stored in the \`filter_resource\` text column.
51
51
  `,maxLength:5e3,"x-oapi-codegen-extra-tags":{db:"filter_resource"},"x-order":5},location:{description:"Optional structured location metadata (branch, host, path, ...).","x-order":6,type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},visibility:{description:"Visibility scope (private, public, published).","x-order":7,type:"string",enum:["private","public","published"],"x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the filter when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},"x-oapi-codegen-extra-tags":{db:"catalog_data"},"x-order":8,type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},createdAt:{description:"Timestamp of filter creation.","x-oapi-codegen-extra-tags":{db:"created_at"},"x-order":9,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp of last filter modification.","x-oapi-codegen-extra-tags":{db:"updated_at"},"x-order":10,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},MesheryFilterPayload:{type:"object",description:"Payload for creating or updating a filter via\n`POST /api/content/filters` or\n`PUT /api/content/filters/{filterId}`. Contains only\nclient-settable fields; server-generated `createdAt` /\n`updatedAt` and the owning `userId` (which the server derives\nfrom the authenticated session) are intentionally excluded.\n",required:["name"],properties:{id:{description:'Existing filter ID for updates; omit on create. Wrapped in\nan `allOf` so we can attach the `json:"id,omitempty"` tag\nfor upsert ergonomics without recursing into the underlying\nUUID definition.\n',"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"}},name:{type:"string",description:"Human-readable filter name.",minLength:1,maxLength:255},filterFile:{type:"string",format:"byte",description:`Raw filter source as base64-encoded bytes (\`format: byte\`).
@@ -896,9 +896,9 @@ export interface operations {
896
896
  parameters: {
897
897
  query?: {
898
898
  /** @description Get responses by page */
899
- page?: string;
899
+ page?: number;
900
900
  /** @description Get responses by pagesize */
901
- pagesize?: string;
901
+ pagesize?: number;
902
902
  /** @description Get responses that match search param value */
903
903
  search?: string;
904
904
  /** @description Get ordered responses */
@@ -1351,9 +1351,9 @@ export interface operations {
1351
1351
  parameters: {
1352
1352
  query?: {
1353
1353
  /** @description Get responses by page */
1354
- page?: string;
1354
+ page?: number;
1355
1355
  /** @description Get responses by pagesize */
1356
- pagesize?: string;
1356
+ pagesize?: number;
1357
1357
  /** @description Get responses that match search param value */
1358
1358
  search?: string;
1359
1359
  /** @description Get ordered responses */
@@ -1,2 +1,2 @@
1
- 'use strict';var e={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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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 a paginated list of invitations for the organization",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:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",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",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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}}}}}}},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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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",parameters:[{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}],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",parameters:[{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}],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:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}}}}},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"}},signupRequestId:{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},signupFirstName:{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},signupLastName:{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},signupEmail:{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},signupOccupation:{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},signupOrganization:{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},signupRole:{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},signupFormType:{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},signupStatus:{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},signupTaskId:{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},signupTaskLink:{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}},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.",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",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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupData:{type:"object",additionalProperties:false,description:"A signup request record as persisted in the signup_data table. Captures the requester's identity, the product form the request originated from (for example playground, meshmap, docker-extension), the moderation status, and the tracking task created for the request. Also embedded in signup webhook and notification payloads, where only a subset of fields may be populated.",properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},SignupRequestNotification:{type:"object",additionalProperties:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}},SignupWebhookPayload:{type:"object",additionalProperties:false,description:"Outbound webhook body that Cloud POSTs to the configured signup and entitlement webhooks (WEBHOOK_SIGNUP_REQUEST, WEBHOOK_KANVAS_ENTITLEMENT) when a signup request is processed. Emitted by Cloud; not served by any Cloud endpoint.",required:["signupData","newUser"],properties:{signupData:{description:"The signup request that triggered the webhook.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},newUser:{type:"boolean",description:"Whether the requester is a newly created user.","x-oapi-codegen-extra-tags":{json:"newUser"}}}},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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},t=e;
1
+ 'use strict';var e={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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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 a paginated list of invitations for the organization",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",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",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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}}}}}}},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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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",parameters:[{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}],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",parameters:[{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}],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:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}}}}},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"}},signupRequestId:{name:"id",in:"query",required:true,description:"The ID of the signup request being approved or denied.",schema:{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"}}},signupFirstName:{name:"firstName",in:"query",required:false,description:"First name of the requester.",schema:{type:"string"}},signupLastName:{name:"lastName",in:"query",required:false,description:"Last name of the requester.",schema:{type:"string"}},signupEmail:{name:"email",in:"query",required:false,description:"Email address of the requester.",schema:{type:"string",format:"email"}},signupOccupation:{name:"occupation",in:"query",required:false,description:"Occupation of the requester.",schema:{type:"string"}},signupOrganization:{name:"organization",in:"query",required:false,description:"Organization of the requester.",schema:{type:"string"}},signupRole:{name:"role",in:"query",required:false,description:"Requested role.",schema:{type:"string"}},signupFormType:{name:"formType",in:"query",required:false,description:"The signup form variant the request originated from.",schema:{type:"string"}},signupStatus:{name:"status",in:"query",required:false,description:"Status to record on the signup request.",schema:{type:"string"}},signupTaskId:{name:"taskId",in:"query",required:false,description:"Tracking task identifier associated with the request.",schema:{type:"string"}},signupTaskLink:{name:"taskLink",in:"query",required:false,description:"Tracking task link associated with the request.",schema:{type:"string"}}},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.",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",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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"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"}}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupData:{type:"object",additionalProperties:false,description:"A signup request record as persisted in the signup_data table. Captures the requester's identity, the product form the request originated from (for example playground, meshmap, docker-extension), the moderation status, and the tracking task created for the request. Also embedded in signup webhook and notification payloads, where only a subset of fields may be populated.",properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},SignupRequestNotification:{type:"object",additionalProperties:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}},SignupWebhookPayload:{type:"object",additionalProperties:false,description:"Outbound webhook body that Cloud POSTs to the configured signup and entitlement webhooks (WEBHOOK_SIGNUP_REQUEST, WEBHOOK_KANVAS_ENTITLEMENT) when a signup request is processed. Emitted by Cloud; not served by any Cloud endpoint.",required:["signupData","newUser"],properties:{signupData:{description:"The signup request that triggered the webhook.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},newUser:{type:"boolean",description:"Whether the requester is a newly created user.","x-oapi-codegen-extra-tags":{json:"newUser"}}}},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"}},owner:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,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.",readOnly:true,"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.",readOnly:true,"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",nullable:true,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"},"x-go-type-skip-optional-pointer":true,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.",readOnly:true,"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",nullable:true,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",readOnly:true,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"},"x-go-type-skip-optional-pointer":true,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",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},t=e;
2
2
  module.exports=t;