# Organizations ## List organizations the user has access to `client.organizations.list(OrganizationListParamsquery?, RequestOptionsoptions?): SinglePage` **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 - `query: OrganizationListParams` - `id?: Array` Only return organizations with the specified IDs (ex. id=foo&id=bar). Send multiple elements by repeating the query value. - `containing?: Containing` - `account?: string` Filter the list of organizations to the ones that contain this particular account. - `organization?: string` Filter the list of organizations to the ones that contain this particular organization. - `user?: string` 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?: Name` - `contains?: string` (case-insensitive) Filter the list of organizations to where the name contains a particular string. - `endsWith?: string` (case-insensitive) Filter the list of organizations to where the name ends with a particular string. - `startsWith?: string` (case-insensitive) Filter the list of organizations to where the name starts with a particular string. - `page_size?: number` The amount of items to return. Defaults to 10. - `page_token?: string` 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?: Parent` - `id?: (string & {}) | "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)." - `(string & {})` - `"null"` - `"null"` ### Returns - `Organization` References an Organization in the Cloudflare data model. - `id: string` - `create_time: string` - `meta: Meta` - `flags?: Flags` Enable features for Organizations. - `account_creation: string` - `account_deletion: string` - `account_migration: string` - `account_mobility: string` - `sub_org_creation: string` - `managed_by?: string` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const organization of client.organizations.list()) { console.log(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" } } ], "result_info": { "next_page_token": "next_page_token", "total_size": 0 }, "success": true } ``` ## Get organization `client.organizations.get(stringorganizationId, RequestOptionsoptions?): Organization` **get** `/organizations/{organization_id}` Retrieve the details of a certain organization. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organizationId: string` ### Returns - `Organization` References an Organization in the Cloudflare data model. - `id: string` - `create_time: string` - `meta: Meta` - `flags?: Flags` Enable features for Organizations. - `account_creation: string` - `account_deletion: string` - `account_migration: string` - `account_mobility: string` - `sub_org_creation: string` - `managed_by?: string` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const organization = await client.organizations.get('a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8'); console.log(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 `client.organizations.create(OrganizationCreateParamsbody, RequestOptionsoptions?): Organization` **post** `/organizations` Create a new organization for a user. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `body: OrganizationCreateParams` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Returns - `Organization` References an Organization in the Cloudflare data model. - `id: string` - `create_time: string` - `meta: Meta` - `flags?: Flags` Enable features for Organizations. - `account_creation: string` - `account_deletion: string` - `account_migration: string` - `account_mobility: string` - `sub_org_creation: string` - `managed_by?: string` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const organization = await client.organizations.create({ name: 'name' }); console.log(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. `client.organizations.update(stringorganizationId, OrganizationUpdateParamsbody, RequestOptionsoptions?): Organization` **put** `/organizations/{organization_id}` Modify organization. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organizationId: string` - `body: OrganizationUpdateParams` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Returns - `Organization` References an Organization in the Cloudflare data model. - `id: string` - `create_time: string` - `meta: Meta` - `flags?: Flags` Enable features for Organizations. - `account_creation: string` - `account_deletion: string` - `account_migration: string` - `account_mobility: string` - `sub_org_creation: string` - `managed_by?: string` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const organization = await client.organizations.update('a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8', { name: 'name', }); console.log(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. `client.organizations.delete(stringorganizationId, RequestOptionsoptions?): 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 - `organizationId: string` ### Returns - `OrganizationDeleteResponse` - `id: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const organization = await client.organizations.delete('a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8'); console.log(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 - `Organization` References an Organization in the Cloudflare data model. - `id: string` - `create_time: string` - `meta: Meta` - `flags?: Flags` Enable features for Organizations. - `account_creation: string` - `account_deletion: string` - `account_migration: string` - `account_mobility: string` - `sub_org_creation: string` - `managed_by?: string` - `name: string` - `parent?: Parent` - `id: string` - `name: string` - `profile?: Profile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Organization Delete Response - `OrganizationDeleteResponse` - `id: string` # Organization Accounts # Organization Profile ## Get organization profile `client.organizations.organizationProfile.get(stringorganizationId, RequestOptionsoptions?): 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 - `organizationId: string` ### Returns - `Result` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const organizationProfile = await client.organizations.organizationProfile.get( 'a7b9c3d2e8f4g1h5i6j0k9l2m3n7o4p8', ); console.log(organizationProfile.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. `client.organizations.organizationProfile.update(stringorganizationId, OrganizationProfileUpdateParamsbody, RequestOptionsoptions?): void` **put** `/organizations/{organization_id}/profile` Modify organization profile. (Currently in Closed Beta - see https://developers.cloudflare.com/fundamentals/organizations/) ### Parameters - `organizationId: string` - `body: OrganizationProfileUpdateParams` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); await client.organizations.organizationProfile.update('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 - `OrganizationProfile` - `business_address: string` - `business_email: string` - `business_name: string` - `business_phone: string` - `external_metadata: string` # Members