// Code generated by oagen. DO NOT EDIT.
#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateUserOrganizationMembership {
/// The ID of the [user](https://workos.com/docs/reference/authkit/user).
pub user_id: String,
/// The ID of the [organization](https://workos.com/docs/reference/organization) which the user belongs to.
pub organization_id: String,
/// A single role identifier. Defaults to `member` or the explicit default role. Mutually exclusive with `role_slugs`.
#[serde(skip_serializing_if = "Option::is_none", default)]
pub role_slug: Option<String>,
/// An array of role identifiers. Limited to one role when Multiple Roles is disabled. Mutually exclusive with `role_slug`.
#[serde(skip_serializing_if = "Option::is_none", default)]
pub role_slugs: Option<Vec<String>>,
}