> ## Documentation Index
> Fetch the complete documentation index at: https://docs.authsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update push authenticator configuration

> Update the tenant's push authenticator configuration.



## OpenAPI

````yaml management-api PATCH /authenticator-configurations/push
openapi: 3.1.0
info:
  description: Authsignal's Management API
  version: 1.0.0
  title: Management Api
  termsOfService: https://www.authsignal.com/legal/terms-of-service
  contact:
    email: hello@authsignal.com
servers:
  - url: https://api.authsignal.com/v1/management
    description: Authsignal's US (Oregon) Management API
  - url: https://au.api.authsignal.com/v1/management
    description: Authsignal's AU (Sydney) Management API
  - url: https://eu.api.authsignal.com/v1/management
    description: Authsignal's EU (Ireland) Management API
  - url: https://ca.api.authsignal.com/v1/management
    description: Authsignal's CA (Montreal) Management API
security:
  - basicAuth: []
tags:
  - name: Tenant
    description: Endpoints related to the configuration of a tenant.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: Action Configurations
    description: Endpoints related to the configuration of action configurations.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: SMS OTP configuration
    description: Endpoints for managing the tenant's SMS OTP configuration.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: email OTP configuration
    description: Endpoints for managing the tenant's email OTP configuration.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: passkey configuration
    description: Endpoints for managing the tenant's passkey configuration.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: push configuration
    description: Endpoints for managing the tenant's push configuration.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: Rules
    description: Endpoints related to the configuration of rules.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: Theme
    description: Endpoints related to the configuration of a Tenant's theme.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
  - name: Message Overrides
    description: >-
      Endpoints related to the configuration of a Tenant's pre-built UI message
      overrides.
    externalDocs:
      description: Find out more
      url: https://docs.authsignal.com
externalDocs:
  description: Find out more about Authsignal
  url: https://docs.authsignal.com
paths:
  /authenticator-configurations/push:
    patch:
      tags:
        - push configuration
      summary: Update the push configuration
      description: Updates the tenant's push configuration. Omitted fields are preserved.
      operationId: updatePushAuthenticatorConfiguration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePushAuthenticatorConfigurationBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushAuthenticatorConfiguration'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    UpdatePushAuthenticatorConfigurationBody:
      type: object
      description: >-
        Push fields to update. Omitted fields are preserved. Send `null` for a
        clearable field to remove it. Credential objects are merged with stored
        credentials. When `pushProvider` changes, the new provider's credentials
        (or `webhookUrl` for `WEBHOOK`) are required unless already stored;
        restating the current provider needs none. Credentials and `webhookUrl`
        must belong to the selected (or stored) provider, and a request that
        leaves it without them is rejected.
      properties:
        isActive:
          type: boolean
        pushProvider:
          $ref: '#/components/schemas/PushConfigurationProvider'
        webhookUrl:
          oneOf:
            - type: string
              format: uri
              pattern: ^https://
            - type: 'null'
        credentialLifetimeInMinutes:
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 525600
        requireAppAttestation:
          type: boolean
        appAttestationFailureMode:
          type: string
          enum:
            - BLOCK
            - ALLOW_WITH_WARNING
        sendingRateLimitConfigurations:
          oneOf:
            - $ref: '#/components/schemas/SendingRateLimitConfigurations'
            - type: 'null'
        apnsCredentials:
          $ref: '#/components/schemas/ApnsCredentialsUpdate'
          description: >-
            Use with the `DEFAULT` push provider for Apple Push Notification
            service.
        fcmCredentials:
          $ref: '#/components/schemas/FcmCredentialsUpdate'
          description: >-
            Use with the `DEFAULT` or `FIREBASE` push provider for Firebase
            Cloud Messaging.
      additionalProperties: false
      allOf:
        - if:
            properties:
              pushProvider:
                const: DEFAULT
            required:
              - pushProvider
          then:
            not:
              required:
                - webhookUrl
        - if:
            properties:
              pushProvider:
                const: FIREBASE
            required:
              - pushProvider
          then:
            not:
              anyOf:
                - required:
                    - apnsCredentials
                - required:
                    - webhookUrl
        - if:
            properties:
              pushProvider:
                const: WEBHOOK
            required:
              - pushProvider
          then:
            not:
              anyOf:
                - required:
                    - apnsCredentials
                - required:
                    - fcmCredentials
      example:
        credentialLifetimeInMinutes: null
    PushAuthenticatorConfiguration:
      type: object
      properties:
        authenticatorId:
          type: string
          description: The immutable identifier for this configuration.
          readOnly: true
        isActive:
          type: boolean
        verificationMethod:
          type: string
          const: PUSH
          readOnly: true
          description: The verification method produced by this configuration.
        pushProvider:
          $ref: '#/components/schemas/PushConfigurationProvider'
        webhookUrl:
          type: string
          format: uri
        credentialLifetimeInMinutes:
          type: integer
          minimum: 0
          maximum: 525600
        requireAppAttestation:
          type: boolean
        appAttestationFailureMode:
          type: string
          enum:
            - BLOCK
            - ALLOW_WITH_WARNING
        sendingRateLimitConfigurations:
          $ref: '#/components/schemas/SendingRateLimitConfigurations'
        apnsCredentials:
          $ref: '#/components/schemas/ApnsCredentialsResponse'
          description: >-
            Use with the `DEFAULT` push provider for Apple Push Notification
            service.
        fcmCredentials:
          $ref: '#/components/schemas/FcmCredentialsResponse'
          description: >-
            Use with the `DEFAULT` or `FIREBASE` push provider for Firebase
            Cloud Messaging.
      required:
        - authenticatorId
        - verificationMethod
        - isActive
      additionalProperties: true
      example:
        authenticatorId: 6b736c64-ff30-4b85-8706-0c78c34c0ca9
        verificationMethod: PUSH
        isActive: true
        pushProvider: WEBHOOK
        webhookUrl: https://example.com/authsignal/push
        credentialLifetimeInMinutes: 1440
        sendingRateLimitConfigurations:
          - rateLimit: 6
            windowInMinutes: 10
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        errorDescription:
          type: string
    PushConfigurationProvider:
      type: string
      description: >-
        The push provider. `DEFAULT` requires Apple Push Notification service or
        Firebase Cloud Messaging credentials. `FIREBASE` requires Firebase Cloud
        Messaging credentials. `WEBHOOK` requires `webhookUrl`.
      enum:
        - DEFAULT
        - FIREBASE
        - WEBHOOK
    SendingRateLimitConfigurations:
      type: array
      description: Message delivery limits. Every configured limit applies.
      items:
        $ref: '#/components/schemas/RateLimitConfiguration'
      minItems: 1
      maxItems: 6
    ApnsCredentialsUpdate:
      oneOf:
        - $ref: '#/components/schemas/ApnsCredentials'
        - type: 'null'
    FcmCredentialsUpdate:
      oneOf:
        - $ref: '#/components/schemas/FcmCredentials'
        - type: 'null'
    ApnsCredentialsResponse:
      type: object
      properties:
        teamId:
          type: string
        keyId:
          type: string
        bundleId:
          type: string
        sandbox:
          type: boolean
      additionalProperties: false
    FcmCredentialsResponse:
      type: object
      properties:
        projectId:
          type: string
        clientEmail:
          type: string
      additionalProperties: false
    RateLimitConfiguration:
      type: object
      properties:
        rateLimit:
          type: integer
          minimum: 1
          maximum: 100
        windowInMinutes:
          type: number
          minimum: 1
          maximum: 1440
      required:
        - rateLimit
        - windowInMinutes
      additionalProperties: false
    ApnsCredentials:
      type: object
      properties:
        teamId:
          type: string
        keyId:
          type: string
        bundleId:
          type: string
        privateKey:
          type: string
          writeOnly: true
        sandbox:
          type: boolean
      additionalProperties: false
    FcmCredentials:
      type: object
      properties:
        serviceAccountKey:
          type: string
          writeOnly: true
      additionalProperties: false
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Use your Authsignal Management API secret key as the username and leave
        the password empty. This key is different from the Server API key and
        can be found in the API Keys section of the Authsignal Portal settings
        page.

````