action discourse_create_invite { label: "Create an invite" provider: discourse method: POST path: "/invites.json" encoding: json input: { type: "object" properties: { "Api-Key": { type: "string" } "Api-Username": { type: "string" } custom_message: { type: "string" description: "optional, for email invites" } email: { type: "string" description: "required for email invites only" } expires_at: { type: "string" description: "optional, if not supplied, the invite_expiry_days site\nsetting is used" } group_id: { type: "integer" description: "optional, either this or `group_names`" } group_names: { type: "string" description: "optional, either this or `group_id`" } max_redemptions_allowed: { type: "integer" description: "optional, for link invites" } skip_email: { type: "boolean" } topic_id: { type: "integer" } } required: ["Api-Key", "Api-Username"] additionalProperties: false } output: { type: "object" properties: { created_at: { type: "string" } custom_message: { type: ["string", "null"] } email: { type: "string" } emailed: { type: "boolean" } expired: { type: "boolean" } expires_at: { type: "string" } groups: { type: "array" items: { type: "object" } } id: { type: "integer" } link: { type: "string" } topics: { type: "array" items: { type: "object" } } updated_at: { type: "string" } } } }