openapi: 3.0.0 servers: - url: https://api.enterprise.apigee.com/v1 info: title: Organizations API description: >- Manage organizations. The base entity for an account on Apigee Edge, an organization is a container for all managed entities, including APIs, API products, developers, apps, environments, and so on. version: '1.0' security: - Basic: [] - OAuth: [] paths: "/organizations": get: tags: ["Organization"] summary: List organizations description: >- Lists all organizations. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. operationId: 'listOrganizations' parameters: [] responses: '200': description: OK content: application/json: schema: type: array items: type: string '400': description: Bad request post: tags: ["Organization"] summary: Create an organization description: >- Creates an organization. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. After you create the organization, you must: * Associate the organization with a pod * Add an organization administrator Edge provides scripts and other tools that you can use as an alternative to making API calls directly. For example, for Edge 4.16.05 and later, see Creating an organization, environment, and virtual host. operationId: 'createOrganization' parameters: [] responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Organization' example: createdAt: 1394486446988 createdBy: noreply_admin@apigee.com displayName: myorg environments: - prod - test - portal lastModifiedAt: 1590113466345 lastModifiedBy: admin@example.com name: mmyorg properties: property: - name: features.isCpsEnabled value: 'true' - name: subscriptionType value: enterprise type: paid '400': description: Bad request requestBody: description: Organization details. content: application/json: schema: $ref: '#/components/schemas/OrganizationRequest' example: displayName: myorg environments: - prod - test - portal name: myorg properties: property: - name: features.isCpsEnabled value: 'true' - name: subscriptionType value: enterprise type: paid "/organizations/{org_name}": post: tags: ["Organization"] summary: Update organization properties description: >- Updates organization properties. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. Some Edge functionality is controlled by properties set on an organization. For example, when defining resource paths in API products, you can change the way Edge treats a single forward slash (/) by setting an organization property. **Caution**: When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit existing properties from the payload in this API call, the properties are removed. To get the current list of properties for the environment, use the Get organization API. If you attempt to set a property but it doesn't appear in the response payload, then the property must be set by a user in the system administrator role. For Apigee Edg for Public Cloud, contact Apigee Support for assistance with setting properties requiring system administrator role. Some properties in your organization are reserved and unchangable. For example: * `features.isMonetizationEnabled` - Monetization is a paid feature. You can't modify this value. When you update other organization properties, you must include any existing reserved properties and their current values in order for this update call to succeed. Available properties are described in the relevant sections of the Edge documentation. operationId: 'updateOrganizationProperties' parameters: - $ref: '#/components/parameters/org_name' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' example: createdAt: 1394486446988 createdBy: noreply_admin@apigee.com displayName: myorg environments: - prod - test - portal lastModifiedAt: 1590113466345 lastModifiedBy: admin@example.com name: mmyorg properties: property: - name: subscriptionType value: enterprise type: paid '400': description: Bad request requestBody: description: Organization details. content: application/json: schema: $ref: '#/components/schemas/OrganizationProperties' example: properties: property: - name: subscriptionType value: enterprise delete: tags: ["Organization"] summary: Delete an organization description: >- Deletes an organization. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. You can only delete an organization after you have: * Deleted all virtual hosts in all environments in the organization * Deleted all environments in the organization * Disassociated the organization from all pods operationId: 'deleteOrganization' parameters: - $ref: '#/components/parameters/org_name' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' example: createdAt: 1394486446988 createdBy: noreply_admin@apigee.com displayName: myorg environments: - prod - test - portal lastModifiedAt: 1590113466345 lastModifiedBy: admin@example.com name: mmyorg properties: property: - name: features.isCpsEnabled value: 'true' - name: subscriptionType value: enterprise type: paid '400': description: Bad request get: tags: ["Organization"] summary: Get organization description: >- Gets the profile of a specific organization. An organization is the base container for all objects in an API provider's account on Apigee Edge. An organization contains API proxies, API products, apps, and developers, and the other entities. A user account is required for each organization for which you may be a member. (Most users will have an account in only one organization.) You pass in your credentials and the name of your organization with each API request you submit. In the response, the value of the type property is "trial" if you are requesting information about an organization associated with a free developer account, and "paid" for a paid account. operationId: 'getOrganization' parameters: - $ref: '#/components/parameters/org_name' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' example: createdAt: 1394486446988 createdBy: noreply_admin@apigee.com displayName: myorg environments: - prod - test - portal lastModifiedAt: 1590113466345 lastModifiedBy: admin@example.com name: mmyorg properties: property: - name: features.isCpsEnabled value: 'true' - name: subscriptionType value: enterprise type: paid '400': description: Bad request "/organizations/{org_name}/pods": post: tags: ["Organization", "Pods"] summary: Associate or disassociate an organization and a pod description: >- Associates or disassociates an organization and a pod. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. By default, the name of the region is `dc-1` and the name of the pod is `gateway`. This names are set by the following properties in the Edge config file when you installed Edge: ``` MP_POD=gateway REGION=dc-1 ``` To associate a pod, pass the following string: `region={region_name}&pod={pod_name}` To disassociate a pod, pass the following string: `region={region_name}&pod={pod_name}&action=remove` For more information, see the Edge installation instructions. operationId: 'associatePod' parameters: - $ref: '#/components/parameters/org_name' responses: '200': description: OK '400': description: Bad request requestBody: description: Pod details. content: application/x-www-form-urlencoded: schema: type: string get: tags: ["Organization", "Pods"] summary: List pods associated with an organization description: >- Lists the pods associated with an organization. **Notes**: * **Apigee Edge for Private Cloud only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance. * **This API cannot be executed using the Try this API panel**. operationId: 'getPods' parameters: - $ref: '#/components/parameters/org_name' responses: '200': description: OK '400': description: Bad request components: securitySchemes: Basic: type: http scheme: basic description: >- Multi-factor authentication is not supported. OAuth: type: apiKey name: Authorization in: header description: >- For OAuth, enter the following in the Key field: Bearer %your-token% (see https://docs.apigee.com/api-platform/system-administration/using-oauth2#get-the-tokens) parameters: org_name: in: path name: org_name required: true schema: type: string description: Organization name. schemas: Organization: description: Organization details. type: object required: - name properties: createdAt: format: int32 description: Output only. Time the organization was created in milliseconds since epoch. type: integer createdBy: description: Output only. Email address of the admin that created the organization. type: string displayName: description: Name of the organization used in the UI. Required when creating an organization. type: string environments: description: >- List of environments defined for the organization. type: array items: type: string lastModifiedAt: format: int32 description: Output only. Time the organization was last modified in milliseconds since epoch. type: integer lastModifiedBy: description: Output only. Email of admin that last modified the organization. type: string name: description: >- Name of the organization. The organization name must contain lowercase letters only; it should not contain spaces, underscores, or periods. type: string properties: description: >- List of properties that can be used to customize the organization. type: object properties: property: description: Organization property names and values. type: array items: type: object properties: name: description: Name of property. type: string value: description: Set to `"true"` to enable or `"false"` to disable the property. type: string type: description: Type of subscription. Valid values are `paid` and `trial`. When creating an organization, set to `paid`. Required when creating an organization. type: string OrganizationProperties: description: Organization properties update request. type: object properties: properties: description: >- List of properties that can be used to customize the organization. type: object properties: property: description: Organization property names and values. type: array items: type: object properties: name: description: Name of property. type: string value: description: Set to `"true"` to enable or `"false"` to disable the property. type: string OrganizationRequest: description: Organization request. type: object required: - name properties: displayName: description: Name of the organization used in the UI. Required when creating an organization. type: string environments: description: >- List of environments defined for the organization. type: array items: type: string name: description: >- Name of the organization. The organization name must contain lowercase letters only; it should not contain spaces, underscores, or periods. type: string properties: description: >- List of properties that can be used to customize the organization. type: object properties: property: description: Organization property names and values. type: array items: type: object properties: name: description: Name of property. type: string value: description: Value of the property. For boolean property values, `true` to enable or `false` to disable the property. type: string type: description: Type of subscription. Valid values are `paid` and `trial`. When creating an organization, set to `paid`. Required when creating an organization. type: string