# Apigee API . organizations . developers

## Instance Methods

Returns the apps Resource.

Returns the attributes Resource.

Creates a developer. Once created,

Deletes a developer. All apps and API keys associated

Returns the developer details, including the

Lists all developers in an organization by email address.

Sets the status of a developer. Valid values are `active` or `inactive`.

Updates a developer.

### Method Details

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

    Creates a developer. Once created,
    the developer can register an app and obtain an API key.

    At creation time, a developer is set as `active`. To change the developer
    status, use the SetDeveloperStatus API.

    Args:
      parent: string, Required. Name of the Apigee organization in which the developer is created.
    Use the following structure in your request:
      `organizations/{org}`. (required)
      body: object, The request body.
        The object takes the form of:

    {
        "apps": [ # List of apps associated with the developer.
          "A String",
        ],
        "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
        "appFamily": "A String", # Developer app family.
        "accessType": "A String", # Access type.
        "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
            # the developer in Apigee hybrid.
        "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
        "developerId": "A String", # ID of the developer.
            #
            # **Note**: IDs are generated internally by Apigee and are not
            # guaranteed to stay the same over time.
        "firstName": "A String", # Required. First name of the developer.
        "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
            # milliseconds since epoch.
        "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
            # since epoch.
        "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
        "companies": [ # List of companies associated with the developer.
          "A String",
        ],
        "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
          { # Key-value pair to store extra metadata.
            "value": "A String", # Value of the attribute.
            "name": "A String", # API key of the attribute.
          },
        ],
        "lastName": "A String", # Required. Last name of the developer.
      }

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

    Returns:
      An object of the form:

        {
          "apps": [ # List of apps associated with the developer.
            "A String",
          ],
          "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
          "appFamily": "A String", # Developer app family.
          "accessType": "A String", # Access type.
          "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
              # the developer in Apigee hybrid.
          "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
          "developerId": "A String", # ID of the developer.
              #
              # **Note**: IDs are generated internally by Apigee and are not
              # guaranteed to stay the same over time.
          "firstName": "A String", # Required. First name of the developer.
          "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
              # milliseconds since epoch.
          "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
              # since epoch.
          "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
          "companies": [ # List of companies associated with the developer.
            "A String",
          ],
          "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
            { # Key-value pair to store extra metadata.
              "value": "A String", # Value of the attribute.
              "name": "A String", # API key of the attribute.
            },
          ],
          "lastName": "A String", # Required. Last name of the developer.
        }

`delete(name, x__xgafv=None)`

    Deletes a developer. All apps and API keys associated
    with the developer are also removed.

    **Warning**: This API will permanently delete the developer
    and related artifacts.

    To avoid permanently deleting developers and their artifacts,
    set the developer status to `inactive` using
    the SetDeveloperStatus API.

    **Note**: The delete operation is asynchronous. The developer app is
    deleted immediately,
    but its associated resources, such as apps and API keys, may take anywhere
    from a few seconds to a few minutes to be deleted.

    Args:
      name: string, Required. Email address of the developer. Use the following structure in your
    request:
      `organizations/{org}/developers/{developer_email}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
          "apps": [ # List of apps associated with the developer.
            "A String",
          ],
          "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
          "appFamily": "A String", # Developer app family.
          "accessType": "A String", # Access type.
          "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
              # the developer in Apigee hybrid.
          "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
          "developerId": "A String", # ID of the developer.
              #
              # **Note**: IDs are generated internally by Apigee and are not
              # guaranteed to stay the same over time.
          "firstName": "A String", # Required. First name of the developer.
          "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
              # milliseconds since epoch.
          "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
              # since epoch.
          "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
          "companies": [ # List of companies associated with the developer.
            "A String",
          ],
          "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
            { # Key-value pair to store extra metadata.
              "value": "A String", # Value of the attribute.
              "name": "A String", # API key of the attribute.
            },
          ],
          "lastName": "A String", # Required. Last name of the developer.
        }

`get(name, action=None, x__xgafv=None)`

    Returns the developer details, including the
    developer's name, email address, apps, and other information.

    **Note**: The response includes only the first 100 developer apps.

    Args:
      name: string, Required. Email address of the developer. Use the following structure in your
    request:
      `organizations/{org}/developers/{developer_email}` (required)
      action: string, Status of the developer. Valid values are `active` or `inactive`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
          "apps": [ # List of apps associated with the developer.
            "A String",
          ],
          "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
          "appFamily": "A String", # Developer app family.
          "accessType": "A String", # Access type.
          "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
              # the developer in Apigee hybrid.
          "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
          "developerId": "A String", # ID of the developer.
              #
              # **Note**: IDs are generated internally by Apigee and are not
              # guaranteed to stay the same over time.
          "firstName": "A String", # Required. First name of the developer.
          "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
              # milliseconds since epoch.
          "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
              # since epoch.
          "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
          "companies": [ # List of companies associated with the developer.
            "A String",
          ],
          "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
            { # Key-value pair to store extra metadata.
              "value": "A String", # Value of the attribute.
              "name": "A String", # API key of the attribute.
            },
          ],
          "lastName": "A String", # Required. Last name of the developer.
        }

`list(parent, startKey=None, includeCompany=None, ids=None, expand=None, count=None, x__xgafv=None)`

    Lists all developers in an organization by email address.

    By default,
    the response does not include company developers. Set the `includeCompany`
    query parameter to `true` to include company developers.

    **Note**: A maximum of 1000 developers are returned in the response. You
    paginate the list of developers returned using the `startKey` and `count`
    query parameters.

    Args:
      parent: string, Required. Name of the Apigee organization. Use the following structure in your
    request:
      `organizations/{org}`. (required)
      startKey: string, **Note**: Must be used in conjunction with the `count` parameter.

    Email address of the developer from which to start displaying the list of
    developers. For example, if the an unfiltered list returns:

    ```
    westley@example.com
    fezzik@example.com
    buttercup@example.com
    ```

    and your `startKey` is `fezzik@example.com`, the list returned will be

    ```
    fezzik@example.com
    buttercup@example.com
    ```
      includeCompany: boolean, Flag that specifies whether to include company details in the response.
      ids: string, Optional. List of IDs to include, separated by commas.
      expand: boolean, Specifies whether to expand the results. Set to `true`
    to expand the results. This query parameter is not valid if you use
    the `count` or `startKey` query parameters.
      count: string, Optional. Number of developers to return in the API call. Use with the `startKey`
    parameter to provide more targeted filtering.
    The limit is 1000.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
        "developer": [ # List of developers.
          {
              "apps": [ # List of apps associated with the developer.
                "A String",
              ],
              "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
              "appFamily": "A String", # Developer app family.
              "accessType": "A String", # Access type.
              "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
                  # the developer in Apigee hybrid.
              "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
              "developerId": "A String", # ID of the developer.
                  #
                  # **Note**: IDs are generated internally by Apigee and are not
                  # guaranteed to stay the same over time.
              "firstName": "A String", # Required. First name of the developer.
              "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
                  # milliseconds since epoch.
              "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
                  # since epoch.
              "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
              "companies": [ # List of companies associated with the developer.
                "A String",
              ],
              "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
                { # Key-value pair to store extra metadata.
                  "value": "A String", # Value of the attribute.
                  "name": "A String", # API key of the attribute.
                },
              ],
              "lastName": "A String", # Required. Last name of the developer.
            },
        ],
      }

`setDeveloperStatus(name, action=None, x__xgafv=None)`

    Sets the status of a developer. Valid values are `active` or `inactive`.

    A developer is `active` by default. If you set a developer's status to
    `inactive`, the API keys assigned to the developer apps are no longer valid
    even though the API keys are set to `approved`. Inactive developers
    can still sign in to the developer portal and create apps; however, any
    new API keys generated during app creation won't work.

    If successful, the API call returns the
    following HTTP status code: `204 No Content`

    Args:
      name: string, Required. Email address of the developer. Use the following structure in your
    request:
      `organizations/{org}/developers/{developer_email}` (required)
      action: string, Status of the developer. Valid values are `active` and `inactive`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

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

    Updates a developer.

    This API replaces the existing developer details with those specified
    in the request. Include or exclude any existing details that
    you want to retain or delete, respectively.

    The custom attribute limit is 18.

    **Note**: OAuth access tokens and Key Management Service (KMS) entities
    (apps, developers, and API products) are cached for 180 seconds
    (current default). Any custom attributes associated with these entities
    are cached for at least 180 seconds after the entity is accessed at
    runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy
    won't be able to expire an access token in less than 180 seconds.

    Args:
      name: string, Required. Email address of the developer. Use the following structure in your
    request:
      `organizations/{org}/developers/{developer_email}` (required)
      body: object, The request body.
        The object takes the form of:

    {
        "apps": [ # List of apps associated with the developer.
          "A String",
        ],
        "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
        "appFamily": "A String", # Developer app family.
        "accessType": "A String", # Access type.
        "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
            # the developer in Apigee hybrid.
        "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
        "developerId": "A String", # ID of the developer.
            #
            # **Note**: IDs are generated internally by Apigee and are not
            # guaranteed to stay the same over time.
        "firstName": "A String", # Required. First name of the developer.
        "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
            # milliseconds since epoch.
        "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
            # since epoch.
        "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
        "companies": [ # List of companies associated with the developer.
          "A String",
        ],
        "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
          { # Key-value pair to store extra metadata.
            "value": "A String", # Value of the attribute.
            "name": "A String", # API key of the attribute.
          },
        ],
        "lastName": "A String", # Required. Last name of the developer.
      }

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

    Returns:
      An object of the form:

        {
          "apps": [ # List of apps associated with the developer.
            "A String",
          ],
          "status": "A String", # Output only. Status of the developer. Valid values are `active` and `inactive`.
          "appFamily": "A String", # Developer app family.
          "accessType": "A String", # Access type.
          "email": "A String", # Required. Email address of the developer. This value is used to uniquely identify
              # the developer in Apigee hybrid.
          "userName": "A String", # Required. User name of the developer. Not used by Apigee hybrid.
          "developerId": "A String", # ID of the developer.
              #
              # **Note**: IDs are generated internally by Apigee and are not
              # guaranteed to stay the same over time.
          "firstName": "A String", # Required. First name of the developer.
          "lastModifiedAt": "A String", # Output only. Time at which the developer was last modified in
              # milliseconds since epoch.
          "createdAt": "A String", # Output only. Time at which the developer was created in milliseconds
              # since epoch.
          "organizationName": "A String", # Output only. Name of the Apigee organization in which the developer resides.
          "companies": [ # List of companies associated with the developer.
            "A String",
          ],
          "attributes": [ # Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.
            { # Key-value pair to store extra metadata.
              "value": "A String", # Value of the attribute.
              "name": "A String", # API key of the attribute.
            },
          ],
          "lastName": "A String", # Required. Last name of the developer.
        }