:doc:`Pinpoint <../../pinpoint>` / Client / update_apns_channel

*******************
update_apns_channel
*******************



.. py:method:: Pinpoint.Client.update_apns_channel(**kwargs)

  

  Enables the APNs channel for an application or updates the status and settings of the APNs channel for an application.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel>`_  


  **Request Syntax**
  ::

    response = client.update_apns_channel(
        APNSChannelRequest={
            'BundleId': 'string',
            'Certificate': 'string',
            'DefaultAuthenticationMethod': 'string',
            'Enabled': True|False,
            'PrivateKey': 'string',
            'TeamId': 'string',
            'TokenKey': 'string',
            'TokenKeyId': 'string'
        },
        ApplicationId='string'
    )
    
  :type APNSChannelRequest: dict
  :param APNSChannelRequest: **[REQUIRED]** 

    Specifies the status and settings of the APNs (Apple Push Notification service) channel for an application.

    

  
    - **BundleId** *(string) --* 

      The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

      

    
    - **Certificate** *(string) --* 

      The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

      

    
    - **DefaultAuthenticationMethod** *(string) --* 

      The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

      

    
    - **Enabled** *(boolean) --* 

      Specifies whether to enable the APNs channel for the application.

      

    
    - **PrivateKey** *(string) --* 

      The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.

      

    
    - **TeamId** *(string) --* 

      The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

      

    
    - **TokenKey** *(string) --* 

      The authentication key to use for APNs tokens.

      

    
    - **TokenKeyId** *(string) --* 

      The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

      

    
  
  :type ApplicationId: string
  :param ApplicationId: **[REQUIRED]** 

    The unique identifier for the application. This identifier is displayed as the **Project ID** on the Amazon Pinpoint console.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'APNSChannelResponse': {
              'ApplicationId': 'string',
              'CreationDate': 'string',
              'DefaultAuthenticationMethod': 'string',
              'Enabled': True|False,
              'HasCredential': True|False,
              'HasTokenKey': True|False,
              'Id': 'string',
              'IsArchived': True|False,
              'LastModifiedBy': 'string',
              'LastModifiedDate': 'string',
              'Platform': 'string',
              'Version': 123
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      The request succeeded.

      
      

      - **APNSChannelResponse** *(dict) --* 

        Provides information about the status and settings of the APNs (Apple Push Notification service) channel for an application.

        
        

        - **ApplicationId** *(string) --* 

          The unique identifier for the application that the APNs channel applies to.

          
        

        - **CreationDate** *(string) --* 

          The date and time when the APNs channel was enabled.

          
        

        - **DefaultAuthenticationMethod** *(string) --* 

          The default authentication method that Amazon Pinpoint uses to authenticate with APNs for this channel, key or certificate.

          
        

        - **Enabled** *(boolean) --* 

          Specifies whether the APNs channel is enabled for the application.

          
        

        - **HasCredential** *(boolean) --* 

          (Not used) This property is retained only for backward compatibility.

          
        

        - **HasTokenKey** *(boolean) --* 

          Specifies whether the APNs channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

          
        

        - **Id** *(string) --* 

          (Deprecated) An identifier for the APNs channel. This property is retained only for backward compatibility.

          
        

        - **IsArchived** *(boolean) --* 

          Specifies whether the APNs channel is archived.

          
        

        - **LastModifiedBy** *(string) --* 

          The user who last modified the APNs channel.

          
        

        - **LastModifiedDate** *(string) --* 

          The date and time when the APNs channel was last modified.

          
        

        - **Platform** *(string) --* 

          The type of messaging or notification platform for the channel. For the APNs channel, this value is APNS.

          
        

        - **Version** *(integer) --* 

          The current version of the APNs channel.

          
    
  
  **Exceptions**
  
  *   :py:class:`Pinpoint.Client.exceptions.BadRequestException`

  
  *   :py:class:`Pinpoint.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`Pinpoint.Client.exceptions.PayloadTooLargeException`

  
  *   :py:class:`Pinpoint.Client.exceptions.ForbiddenException`

  
  *   :py:class:`Pinpoint.Client.exceptions.NotFoundException`

  
  *   :py:class:`Pinpoint.Client.exceptions.MethodNotAllowedException`

  
  *   :py:class:`Pinpoint.Client.exceptions.TooManyRequestsException`

  