# Apigee API . organizations . appgroups . apps

## Instance Methods

Returns the keys Resource.

Close httplib2 connections.

Creates an app and associates it with an AppGroup. This API associates the AppGroup app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that API product. The `name` is the unique ID of the app that you can use in API calls.

Deletes an AppGroup app. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted.

Returns the details for an AppGroup app.

Lists all apps created by an AppGroup in an Apigee organization. Optionally, you can request an expanded view of the AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of 1000 AppGroup apps are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.

Retrieves the next page of results.

Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. **Note:** We recommend that you avoid making concurrent update requests for the same resource. Near-simultaneous writes to the same entity can result in conflicts and unexpected behavior. Ensure operations are sequential when modifying a single resource.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, x__xgafv=None)`

    Creates an app and associates it with an AppGroup. This API associates the AppGroup app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that API product. The `name` is the unique ID of the app that you can use in API calls.

    Args:
      parent: string, Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}` (required)
      body: object, The request body.
        The object takes the form of:

    { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }

`delete(name, x__xgafv=None)`

    Deletes an AppGroup app. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted.

    Args:
      name: string, Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }

`get(name, x__xgafv=None)`

    Returns the details for an AppGroup app.

    Args:
      name: string, Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists all apps created by an AppGroup in an Apigee organization. Optionally, you can request an expanded view of the AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of 1000 AppGroup apps are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000.

    Args:
      parent: string, Required. Name of the AppGroup. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}` (required)
      pageSize: integer, Optional. Maximum number entries to return. If unspecified, at most 1000 entries will be returned.
      pageToken: string, Optional. Page token. If provides, must be a valid AppGroup app returned from a previous call that can be used to retrieve the next page.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for ListAppGroupApps
      "appGroupApps": [ # List of AppGroup apps and their credentials.
        { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
          "apiProducts": [ # List of API products associated with the AppGroup app.
            "A String",
          ],
          "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
          "appId": "A String", # Immutable. ID of the AppGroup app.
          "attributes": [ # List of attributes for the AppGroup app.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
          "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
          "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
            {
              "apiProducts": [ # List of API products this credential can be used for.
                {
                  "apiproduct": "A String", # Name of the API product.
                  "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
                },
              ],
              "attributes": [ # List of attributes associated with this credential.
                { # Key-value pair to store extra metadata.
                  "name": "A String", # API key of the attribute.
                  "value": "A String", # Value of the attribute.
                },
              ],
              "consumerKey": "A String", # Consumer key.
              "consumerSecret": "A String", # Secret key.
              "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
              "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
              "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
                "A String",
              ],
              "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
            },
          ],
          "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
          "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
          "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
          "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
            "A String",
          ],
          "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
        },
      ],
      "nextPageToken": "A String", # Token that can be sent as `next_page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`update(name, action=None, body=None, x__xgafv=None)`

    Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. **Note:** We recommend that you avoid making concurrent update requests for the same resource. Near-simultaneous writes to the same entity can result in conflicts and unexpected behavior. Ensure operations are sequential when modifying a single resource.

    Args:
      name: string, Required. Name of the AppGroup app. Use the following structure in your request: `organizations/{org}/appgroups/{app_group_name}/apps/{app}` (required)
      body: object, The request body.
        The object takes the form of:

    { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }

      action: string, Approve or revoke the consumer key by setting this value to `approve` or `revoke`. The `Content-Type` header must be set to `application/octet-stream`, with empty body.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for [GetAppGroupApp].[AppGroupApps.GetAppGroupApp], [CreateAppGroupAppRequest].[AppGroupApp.CreateAppGroupAppRequest] and [DeleteAppGroupApp].[AppGroupApp.DeleteAppGroupApp]
      "apiProducts": [ # List of API products associated with the AppGroup app.
        "A String",
      ],
      "appGroup": "A String", # Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*).
      "appId": "A String", # Immutable. ID of the AppGroup app.
      "attributes": [ # List of attributes for the AppGroup app.
        { # Key-value pair to store extra metadata.
          "name": "A String", # API key of the attribute.
          "value": "A String", # Value of the attribute.
        },
      ],
      "callbackUrl": "A String", # Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps.
      "createdAt": "A String", # Output only. Time the AppGroup app was created in milliseconds since epoch.
      "credentials": [ # Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products.
        {
          "apiProducts": [ # List of API products this credential can be used for.
            {
              "apiproduct": "A String", # Name of the API product.
              "status": "A String", # Status of the API product. Valid values are `approved` or `revoked`.
            },
          ],
          "attributes": [ # List of attributes associated with this credential.
            { # Key-value pair to store extra metadata.
              "name": "A String", # API key of the attribute.
              "value": "A String", # Value of the attribute.
            },
          ],
          "consumerKey": "A String", # Consumer key.
          "consumerSecret": "A String", # Secret key.
          "expiresAt": "A String", # Time the credential will expire in milliseconds since epoch.
          "issuedAt": "A String", # Time the credential was issued in milliseconds since epoch.
          "scopes": [ # List of scopes to apply to the app. Specified scopes must already exist on the API product that you associate with the app.
            "A String",
          ],
          "status": "A String", # Status of the credential. Valid values include `approved` or `revoked`.
        },
      ],
      "keyExpiresIn": "A String", # Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set.
      "lastModifiedAt": "A String", # Output only. Time the AppGroup app was modified in milliseconds since epoch.
      "name": "A String", # Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*).
      "scopes": [ # Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app.
        "A String",
      ],
      "status": "A String", # Status of the App. Valid values include `approved` or `revoked`.
    }