# Organizations ## List organizations the user has access to `organizations.list(OrganizationListParams**kwargs) -> SyncSinglePage[Organization]` **get** `/organizations` Retrieve a list of organizations a particular user has access to. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `id: Optional[SequenceNotStr[str]]` Only return organizations with the specified IDs (ex. id=foo&id=bar). Send multiple elements by repeating the query value. - `containing: Optional[Containing]` - `account: Optional[str]` Filter the list of organizations to the ones that contain this particular account. - `organization: Optional[str]` Filter the list of organizations to the ones that contain this particular organization. - `user: Optional[str]` Filter the list of organizations to the ones that contain this particular user. IMPORTANT: Just because an organization "contains" a user is not a representation of any authorization or privilege to manage any resources therein. An organization "containing" a user simply means the user is managed by that organization. - `name: Optional[Name]` - `contains: Optional[str]` (case-insensitive) Filter the list of organizations to where the name contains a particular string. - `ends_with: Optional[str]` (case-insensitive) Filter the list of organizations to where the name ends with a particular string. - `starts_with: Optional[str]` (case-insensitive) Filter the list of organizations to where the name starts with a particular string. - `page_size: Optional[int]` The amount of items to return. Defaults to 10. - `page_token: Optional[str]` An opaque token returned from the last list response that when provided will retrieve the next page. Parameters used to filter the retrieved list must remain in subsequent requests with a page token. - `parent: Optional[Parent]` - `id: Optional[Union[str, Literal["null"]]]` Filter the list of organizations to the ones that are a sub-organization of the specified organization. "null" is a valid value to provide for this parameter. It means "where an organization has no parent (i.e. it is a 'root' organization)." - `str` - `Literal["null"]` Filter the list of organizations to the ones that are a sub-organization of the specified organization. "null" is a valid value to provide for this parameter. It means "where an organization has no parent (i.e. it is a 'root' organization)." - `"null"` ### Returns - `class Organization: …` References an Organization in the Cloudflare data model. - `id: str` - `create_time: datetime` - `meta: Meta` - `flags: Optional[MetaFlags]` Enable features for Organizations. - `account_creation: str` - `account_deletion: str` - `account_migration: str` - `account_mobility: str` - `sub_org_creation: str` - `managed_by: Optional[str]` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.organizations.list() page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": [ { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "create_time": "2019-12-27T18:11:19.117Z", "meta": { "flags": { "account_creation": "account_creation", "account_deletion": "account_deletion", "account_migration": "account_migration", "account_mobility": "account_mobility", "sub_org_creation": "sub_org_creation" }, "managed_by": "managed_by" }, "name": "name", "parent": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "name": "name" }, "profile": { "business_address": "business_address", "business_email": "business_email", "business_name": "business_name", "business_phone": "business_phone", "external_metadata": "external_metadata" } } ], "result_info": { "next_page_token": "next_page_token", "total_size": 0 }, "success": true } ``` ## Get organization `organizations.get(strorganization_id) -> Organization` **get** `/organizations/{organization_id}` Retrieve the details of a certain organization. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organization_id: str` ### Returns - `class Organization: …` References an Organization in the Cloudflare data model. - `id: str` - `create_time: datetime` - `meta: Meta` - `flags: Optional[MetaFlags]` Enable features for Organizations. - `account_creation: str` - `account_deletion: str` - `account_migration: str` - `account_mobility: str` - `sub_org_creation: str` - `managed_by: Optional[str]` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) organization = client.organizations.get( "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", ) print(organization.id) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "create_time": "2019-12-27T18:11:19.117Z", "meta": { "flags": { "account_creation": "account_creation", "account_deletion": "account_deletion", "account_migration": "account_migration", "account_mobility": "account_mobility", "sub_org_creation": "sub_org_creation" }, "managed_by": "managed_by" }, "name": "name", "parent": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "name": "name" }, "profile": { "business_address": "business_address", "business_email": "business_email", "business_name": "business_name", "business_phone": "business_phone", "external_metadata": "external_metadata" } }, "success": true } ``` ## Create organization `organizations.create(OrganizationCreateParams**kwargs) -> Organization` **post** `/organizations` Create a new organization for a user. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Returns - `class Organization: …` References an Organization in the Cloudflare data model. - `id: str` - `create_time: datetime` - `meta: Meta` - `flags: Optional[MetaFlags]` Enable features for Organizations. - `account_creation: str` - `account_deletion: str` - `account_migration: str` - `account_mobility: str` - `sub_org_creation: str` - `managed_by: Optional[str]` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) organization = client.organizations.create( name="name", ) print(organization.id) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "create_time": "2019-12-27T18:11:19.117Z", "meta": { "flags": { "account_creation": "account_creation", "account_deletion": "account_deletion", "account_migration": "account_migration", "account_mobility": "account_mobility", "sub_org_creation": "sub_org_creation" }, "managed_by": "managed_by" }, "name": "name", "parent": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "name": "name" }, "profile": { "business_address": "business_address", "business_email": "business_email", "business_name": "business_name", "business_phone": "business_phone", "external_metadata": "external_metadata" } }, "success": true } ``` ## Modify organization. `organizations.update(strorganization_id, OrganizationUpdateParams**kwargs) -> Organization` **put** `/organizations/{organization_id}` Modify organization. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organization_id: str` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Returns - `class Organization: …` References an Organization in the Cloudflare data model. - `id: str` - `create_time: datetime` - `meta: Meta` - `flags: Optional[MetaFlags]` Enable features for Organizations. - `account_creation: str` - `account_deletion: str` - `account_migration: str` - `account_mobility: str` - `sub_org_creation: str` - `managed_by: Optional[str]` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) organization = client.organizations.update( organization_id="a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", name="name", ) print(organization.id) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "create_time": "2019-12-27T18:11:19.117Z", "meta": { "flags": { "account_creation": "account_creation", "account_deletion": "account_deletion", "account_migration": "account_migration", "account_mobility": "account_mobility", "sub_org_creation": "sub_org_creation" }, "managed_by": "managed_by" }, "name": "name", "parent": { "id": "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", "name": "name" }, "profile": { "business_address": "business_address", "business_email": "business_email", "business_name": "business_name", "business_phone": "business_phone", "external_metadata": "external_metadata" } }, "success": true } ``` ## Delete organization. `organizations.delete(strorganization_id) -> OrganizationDeleteResponse` **delete** `/organizations/{organization_id}` Delete an organization. The organization MUST be empty before deleting. It must not contain any sub-organizations, accounts, members or users. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organization_id: str` ### Returns - `class OrganizationDeleteResponse: …` - `id: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) organization = client.organizations.delete( "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", ) print(organization.id) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id" }, "success": true } ``` ## Domain Types ### Organization - `class Organization: …` References an Organization in the Cloudflare data model. - `id: str` - `create_time: datetime` - `meta: Meta` - `flags: Optional[MetaFlags]` Enable features for Organizations. - `account_creation: str` - `account_deletion: str` - `account_migration: str` - `account_mobility: str` - `sub_org_creation: str` - `managed_by: Optional[str]` - `name: str` - `parent: Optional[Parent]` - `id: str` - `name: str` - `profile: Optional[Profile]` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Organization Delete Response - `class OrganizationDeleteResponse: …` - `id: str` # Organization Accounts # Organization Profile ## Get organization profile `organizations.organization_profile.get(strorganization_id) -> Result` **get** `/organizations/{organization_id}/profile` Get an organizations profile if it exists. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organization_id: str` ### Returns - `Result` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) organization_profile = client.organizations.organization_profile.get( "a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", ) print(organization_profile.business_address) ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "business_address": "business_address", "business_email": "business_email", "business_name": "business_name", "business_phone": "business_phone", "external_metadata": "external_metadata" }, "success": true } ``` ## Modify organization profile. `organizations.organization_profile.update(strorganization_id, OrganizationProfileUpdateParams**kwargs)` **put** `/organizations/{organization_id}/profile` Modify organization profile. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organization_id: str` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) client.organizations.organization_profile.update( organization_id="a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8", business_address="business_address", business_email="business_email", business_name="business_name", business_phone="business_phone", external_metadata="external_metadata", ) ``` ## Domain Types ### Organization Profile - `class OrganizationProfile: …` - `business_address: str` - `business_email: str` - `business_name: str` - `business_phone: str` - `external_metadata: str` # Members