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

# Replace a payment reminder configuration

> OAuth scope: `client_invoice.write`

Replaces the reminder's `send_to`, `copy_to_self` and `rules` wholesale. The client the reminder is configured for cannot be changed.

<Warning>
  This replaces the entire `rules` array, not just the rules included in the request. Any rule not present in the payload is removed, and rule ids are not preserved across an update. Read the current configuration first if you only mean to change part of the schedule.
</Warning>

<Info>
  **Price plans:** this endpoint requires the Invoice Automation add-on. Without it, requests return `403`. Removing the add-on **deletes the reminder configuration of every client in the organization**, and it cannot be recovered — it has to be created again.
</Info>




## OpenAPI

````yaml put /v2/reminders/{id}
openapi: 3.1.1
info:
  version: v2
  title: Qonto
servers:
  - url: https://thirdparty.qonto.com
    description: Production URL
  - url: https://thirdparty-sandbox.staging.qonto.co
    description: Sandbox URL
security:
  - OAuth:
      - organization.read
      - membership.read
      - membership.write
      - attachment.write
      - internal_transfer.write
      - payment.write
      - supplier_invoice.write
      - supplier_invoice.read
      - client_invoices.read
      - client_invoice.write
      - client.read
      - client.write
      - product.read
      - product.write
      - request_review.write
      - request_review.read
      - team.read
      - team.write
      - request_transfers.write
      - insurance_contract.read
      - insurance_contract.write
      - card.read
      - card.write
      - bank_account.write
      - beneficiary.trust
      - webhook
      - payment_link.write
      - payment_link.read
      - sepa_direct_debit.read
      - sepa_direct_debit.write
      - terminal.read
      - terminal.write
  - SecretKey: []
paths:
  /v2/reminders/{id}:
    put:
      tags:
        - Reminders
      summary: Replace a payment reminder configuration
      description: >
        OAuth scope: `client_invoice.write`


        Replaces the reminder's `send_to`, `copy_to_self` and `rules` wholesale.
        The client the reminder is configured for cannot be changed.


        <Warning>
          This replaces the entire `rules` array, not just the rules included in the request. Any rule not present in the payload is removed, and rule ids are not preserved across an update. Read the current configuration first if you only mean to change part of the schedule.
        </Warning>


        <Info>
          **Price plans:** this endpoint requires the Invoice Automation add-on. Without it, requests return `403`. Removing the add-on **deletes the reminder configuration of every client in the organization**, and it cannot be recovered — it has to be created again.
        </Info>
      operationId: update_reminder
      parameters:
        - $ref: '#/components/parameters/X-Qonto-Staging-Token'
        - schema:
            type: string
            format: uuid
          in: path
          name: id
          required: true
          description: The reminder's id.
      requestBody:
        description: >-
          `offset_days` is required when `operator` is `before` or `after`.
          Ignored when `operator` is `on`.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReminderUpdatePayload'
      responses:
        '200':
          description: Returns the updated reminder configuration.
          content:
            application/json:
              schema:
                type: object
                properties:
                  reminder:
                    $ref: '#/components/schemas/Reminder'
                required:
                  - reminder
        '400':
          $ref: '#/components/responses/400-Bad-request'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-Not-Found'
        '422':
          $ref: '#/components/responses/422-Unprocessable-Entity'
        '500':
          $ref: '#/components/responses/500-Internal-Server-Error'
      security:
        - OAuth:
            - client_invoice.write
        - SecretKey: []
components:
  parameters:
    X-Qonto-Staging-Token:
      name: X-Qonto-Staging-Token
      in: header
      description: >-
        Required only for Sandbox API requests; to get one, please sign up to
        the [Developer Portal](https://developers.qonto.com/).
      schema:
        type: string
  schemas:
    ReminderUpdatePayload:
      type: object
      required:
        - send_to
        - rules
      properties:
        send_to:
          type: array
          minItems: 1
          items:
            type: string
            format: email
          description: The email addresses the reminders are sent to.
          example:
            - accounting@acme.com
        copy_to_self:
          type: boolean
          default: false
          description: >-
            Whether a copy of each reminder is also sent to your organization's
            contact email.
        rules:
          type: array
          minItems: 1
          maxItems: 5
          description: >-
            The complete reminder schedule. Replaces the existing schedule
            entirely — see the warning above.
          items:
            type: object
            required:
              - operator
              - email_title
            properties:
              operator:
                type: string
                enum:
                  - 'on'
                  - before
                  - after
                description: When the reminder is sent, relative to the invoice due date.
              offset_days:
                type: integer
                minimum: 1
                maximum: 999
                description: >-
                  How many days before or after the due date the reminder is
                  sent. Required when `operator` is `before` or `after`. Ignored
                  when `operator` is `on`.
                example: 7
              email_title:
                type: string
                description: The subject of the reminder email.
                example: 'Reminder: invoice due in 7 days'
              email_body:
                type: string
                description: The body of the reminder email.
                example: Your invoice is due in 7 days.
    Reminder:
      type: object
      required:
        - id
        - client_id
        - send_to
        - copy_to_self
        - rules
        - created_at
        - updated_at
      properties:
        id:
          type: string
          format: uuid
        client_id:
          type: string
          format: uuid
        send_to:
          type: array
          items:
            type: string
            format: email
        copy_to_self:
          type: boolean
        rules:
          type: array
          items:
            type: object
            required:
              - operator
              - email_title
            properties:
              operator:
                type: string
                enum:
                  - 'on'
                  - before
                  - after
              offset_days:
                type: integer
                minimum: 1
                maximum: 999
                nullable: true
              email_title:
                type: string
              email_body:
                type: string
                nullable: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    BadRequestResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BadRequestError'
      required:
        - errors
    UnauthorizedResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UnauthorizedError'
      required:
        - errors
    ForbiddenResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ForbiddenError'
      required:
        - errors
    NotFoundError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
        source:
          type: object
          properties:
            parameter:
              type: string
              description: The parameter that causes the error.
      required:
        - code
        - detail
      x-examples:
        Object not found:
          code: not_found
          detail: Object not found
          source:
            parameter: id
    UnprocessableEntityError:
      type: object
      properties:
        status:
          type: string
          example: unprocessable entity
        code:
          type: string
          description: Error code.
          example: missing_key
        detail:
          type: string
          description: Human readable error that explains error `code`.
          example: property is missing
        message:
          type: string
          example: property id is missing
        source:
          type: object
          properties:
            pointer:
              type: string
              description: >-
                The property and the item in an array (if applicable) that
                causes the error.
              example: id
      required:
        - code
        - detail
    BadRequestError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
        source:
          type: object
          properties:
            pointer:
              type: string
              description: >-
                The property in the request body that caused the error
                (optional).
            parameter:
              type: string
              description: The query parameter that caused the error (optional).
      required:
        - code
        - detail
      x-examples:
        Authorization field missing:
          code: bad_request
          detail: Authorization field missing
    UnauthorizedError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Invalid credentials:
          code: unauthorized
          detail: Invalid credentials
    ForbiddenError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Insufficient permissions:
          code: forbidden
          detail: User does not have sufficient permissions for this action.
  responses:
    400-Bad-request:
      description: Returns a bad request error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequestResponseBody'
          examples:
            Authorization field missing:
              value:
                errors:
                  - code: bad_request
                    detail: Authorization field missing
    401-Unauthorized:
      description: Returns an unauthorized error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedResponseBody'
          examples:
            authorization_header_missing:
              value:
                errors:
                  - code: authorization_header_missing
                    detail: authorization header missing
            authorization_token_invalid:
              value:
                errors:
                  - code: authorization_token_invalid
                    detail: authorization token invalid
    403-Forbidden:
      description: Returns a forbidden error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenResponseBody'
          examples:
            Insufficient permissions:
              value:
                errors:
                  - code: forbidden
                    detail: User does not have sufficient permissions for this action.
    404-Not-Found:
      description: Returns a not found error.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/NotFoundError'
    422-Unprocessable-Entity:
      description: Returns an unprocessable entity error.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/UnprocessableEntityError'
    500-Internal-Server-Error:
      description: Returns an internal server error.
  securitySchemes:
    OAuth:
      type: oauth2
      description: >
        Bearer authorization header: `Bearer <token>`, where `<token>` is the
        access token received from the authorization server at the end of the
        [OAuth 2.0
        flow](/get-started/business-api/authentication/oauth/oauth-flow).
      flows:
        authorizationCode:
          refreshUrl: https://oauth.qonto.com/oauth2/token
          authorizationUrl: https://oauth.qonto.com/oauth2/auth
          scopes:
            attachment.read: Retrieve attachments
            attachment.write: Upload attachments and remove attachments from transactions
            bank_account.write: Create, update and close bank accounts
            beneficiary.trust: Trust SEPA beneficiaries
            card.read: Retrieve cards
            card.write: Create or update cards
            cash_flow_category.read: Retrieve cash flow categories
            cash_flow_category.write: Create cash flow categories and assign them to transactions
            client.read: Retrieve clients
            client.write: Create clients
            client_invoice.write: Create client invoices
            client_invoices.read: Retrieve client invoices and credit notes
            einvoicing.read: Retrieve e-invoicing settings
            embed_auth_link.write: Create Embed auth links
            insurance_contract.read: Retrieve insurance contracts
            insurance_contract.write: Create and update insurance contracts
            internal_transfer.write: >-
              Create internal transfers (between 2 Qonto accounts of the same
              organization)
            international_transfer.write: Create international transfers
            membership.read: Retrieve the authentified membership
            membership.write: Invite team members
            offline_access: Retrieve a refresh token
            organization.read: >-
              Retrieve organization, bank accounts, transactions, transfers,
              beneficiaries, labels, memberships, requests & statements
            payment.write: Create external transfers and untrust beneficiaries
            payment_link.read: >-
              Retrieve payment links, their payments, and the available payment
              methods
            payment_link.write: >-
              Connect to the payment links provider, create and deactivate
              payment links
            product.read: Retrieve products
            product.write: Create products
            request_cards.write: Create card requests
            request_review.write: Approve or decline requests
            request_transfers.write: Create transfer requests
            sepa_direct_debit.read: View SEPA Direct Debit payments
            sepa_direct_debit.write: Manage SEPA Direct Debit payments
            subscription.read: Retrieve the organization's current subscription plan
            supplier_invoice.read: Retrieve supplier invoices
            supplier_invoice.write: Create supplier invoices
            team.read: Retrieve teams
            team.write: Create teams
            terminal.read: View your payment terminals
            terminal.write: Configure your terminals and initiate payments
            user_organization.read: View the organizations the user has granted access to
            webhook: >-
              Receive a notification each time a particular event occurs in
              Qonto
          tokenUrl: https://oauth.qonto.com/oauth2/token
    SecretKey:
      type: apiKey
      description: cf. [API key](/get-started/business-api/authentication/api-key)
      name: Authorization
      in: header

````