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

# Update autopay

> > 🚧 Beta
> This is a Beta endpoint. Feedback from the community is welcome. We may make breaking changes to this endpoint.

Update an autopay. Currently only supports cancelling a pending autopay by
setting the status to SKIPPED.




## OpenAPI

````yaml openapi-v1.json patch /autopays/{autopay_id}
openapi: 3.0.3
info:
  description: >-
    This is the official reference documentation for Synctera APIs. If you need
    something specific or have a question, <a class='text-blue-600'
    href='https://synctera.com/contact-us' target='_blank'
    rel='noreferrer'>contact us</a>.</p>
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Synctera API
  version: 1.188.0
servers:
  - description: Production
    url: https://api.synctera.com/v1
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v1
security:
  - bearerAuth: []
tags:
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: Rates
    name: Rates
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Tenant Config
    name: Tenant Config
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: >-
      Aggregated write-off amounts for lending accounts, computed from posted
      transactions.
    name: Write Off Amounts
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Lending Config
    name: Lending Config
  - description: Payments related to lending accounts
    name: Payments
  - description: Manage negative balance processes
    name: Negative Balance
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: Create and manage accounts
    name: Accounts
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Billing rates
    name: Billing Rates
  - description: Bank Delinquency Configuration
    name: Bank Delinquency Configuration
  - description: >-
      Rules that map a posted payment transaction (bank/partner + transaction
      attributes) to a regulatory payment code. NULL match columns act as
      wildcards.
    name: Payment Code Configuration
  - description: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Request to create and manage exclusions
    name: Statements
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Create a credit application.
    name: Applications (beta)
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
paths:
  /autopays/{autopay_id}:
    summary: Autopay by ID
    patch:
      tags:
        - Autopays
      summary: Update autopay
      description: >
        > 🚧 Beta

        > This is a Beta endpoint. Feedback from the community is welcome. We
        may make breaking changes to this endpoint.


        Update an autopay. Currently only supports cancelling a pending autopay
        by

        setting the status to SKIPPED.
      operationId: patchAutopay
      parameters:
        - $ref: '#/components/parameters/autopay_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/autopay_update_request'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/autopay'
          description: Updated autopay
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/not_found'
        '500':
          $ref: '#/components/responses/internal_server_error'
components:
  parameters:
    autopay_id:
      description: Autopay ID
      example: 2d0f7601-ecc6-48b4-b82f-5d64fa84628b
      in: path
      name: autopay_id
      required: true
      schema:
        format: uuid
        type: string
  schemas:
    autopay_update_request:
      description: Request to update an autopay
      properties:
        status:
          $ref: '#/components/schemas/autopay_status'
      type: object
    autopay:
      description: >
        An autopay record. STATEMENT autopays are tied to a specific billing
        period;

        SCHEDULED autopays are created during EOD orchestration and are not tied
        to a billing period.
      properties:
        attempt_history:
          $ref: '#/components/schemas/autopay_attempt_history'
        autopay_config_id:
          description: >
            ID of the autopay configuration that created this autopay. Absent
            for MANUAL

            autopays, which are not tied to an autopay configuration.
          example: 3e1f8712-fdd7-59c5-c93f-6e75fb95739c
          format: uuid
          type: string
        autopay_type:
          $ref: '#/components/schemas/autopay_type'
        billing_period_id:
          description: >
            The billing period ID this autopay is for. Present for STATEMENT
            autopays; absent for SCHEDULED autopays.
          example: 4f2g9823-gee8-60d6-d04g-7f86gc06840d
          format: uuid
          type: string
        config_snapshot:
          $ref: '#/components/schemas/autopay_config_data'
        creation_time:
          description: Timestamp when the autopay was created
          example: '2024-01-15T10:30:00Z'
          format: date-time
          type: string
        current_amount:
          description: >
            The amount in cents associated with this autopay.

            For PENDING autopays this is the projected amount based on the
            config snapshot

            and current balances and may change before execution as balances
            change.

            For EXECUTED autopays this is the actual amount used at execution
            time

            (mirrors `executed_amount`).

            For SKIPPED, FAILED, or cancelled autopays without an
            `executed_amount` this is 0.
          example: 5000
          format: int64
          type: integer
        executed_amount:
          description: >
            The amount in cents actually used when the autopay was executed.

            Absent until the autopay is executed; once present it is the source
            of truth

            for the autopay amount and never changes.
          example: 5000
          format: int64
          type: integer
        id:
          description: Unique identifier for the autopay
          example: 2d0f7601-ecc6-48b4-b82f-5d64fa84628b
          format: uuid
          type: string
        last_updated_time:
          description: Timestamp when the autopay was last updated
          example: '2024-01-15T10:30:00Z'
          format: date-time
          type: string
        lending_account_id:
          description: The lending account ID this autopay belongs to
          example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
          format: uuid
          type: string
        payment_attributes:
          $ref: '#/components/schemas/autopay_payment_attributes'
        rendered_description:
          description: >
            The payment description rendered from the description template at
            autopay creation time.

            This is used for ACH addenda and internal transfer memo fields.
          example: Autopay for account ending in 1234
          type: string
        scheduled_date:
          description: Date when the autopay is scheduled to execute
          example: '2024-01-25'
          format: date
          type: string
        statement_id:
          description: The statement ID that triggered this autopay
          example: 5g3h0934-hff9-71e7-e15h-8g97hd17951e
          format: uuid
          type: string
        status:
          $ref: '#/components/schemas/autopay_status'
        tenant:
          $ref: '#/components/schemas/tenant'
      required:
        - autopay_type
        - config_snapshot
        - creation_time
        - id
        - last_updated_time
        - lending_account_id
        - rendered_description
        - scheduled_date
        - status
      type: object
    autopay_status:
      description: |
        Status of the autopay:
        - PENDING: Autopay is scheduled and waiting to be executed
        - EXECUTED: Autopay was successfully executed
        - SKIPPED: Autopay was skipped (e.g., no balance due)
        - FAILED: Autopay failed to execute
      enum:
        - EXECUTED
        - FAILED
        - PENDING
        - SKIPPED
      type: string
    autopay_attempt_history:
      description: History of execution attempts for an autopay
      properties:
        attempts:
          description: List of execution attempts, ordered chronologically
          items:
            $ref: '#/components/schemas/autopay_attempt'
          type: array
      required:
        - attempts
      type: object
    autopay_type:
      description: >
        Controls when autopay is triggered:

        - STATEMENT: triggered once per billing cycle when a statement is
        created

        - SCHEDULED: triggered on a recurring cadence via EOD orchestration;
        requires amount_rule=CURRENT_BALANCE and timing_rule=DAILY
      enum:
        - SCHEDULED
        - STATEMENT
      type: string
    autopay_config_data:
      description: >
        Autopay configuration settings.

        When autopay_type is SCHEDULED, amount_rule must be CURRENT_BALANCE and
        timing_rule must be DAILY.

        When autopay_type is STATEMENT, timing_rule must be ON_DUE_DATE or
        DAYS_BEFORE_DUE.
      properties:
        amount_rule:
          $ref: '#/components/schemas/autopay_amount_rule'
        autopay_type:
          $ref: '#/components/schemas/autopay_type'
        description_template:
          $ref: '#/components/schemas/autopay_description_template'
        failure_policy:
          $ref: '#/components/schemas/autopay_failure_policy'
        payment_configs:
          $ref: '#/components/schemas/autopay_payment_configs'
        payment_method:
          $ref: '#/components/schemas/autopay_payment_method'
        rule_configs:
          $ref: '#/components/schemas/autopay_rule_configs'
        timing_rule:
          $ref: '#/components/schemas/autopay_timing_rule'
      required:
        - amount_rule
        - autopay_type
        - failure_policy
        - payment_method
        - timing_rule
      type: object
    autopay_payment_attributes:
      description: |
        Identifiers for the payment created by an autopay execution.
        Only one field will be populated depending on the payment method used.
      properties:
        ach_id:
          description: ACH transaction ID when payment method is "ach"
          example: 6a4b1045-cdd0-82f8-f26c-9e08ce28062f
          format: uuid
          type: string
        transaction_id:
          description: Internal transaction UUID when payment method is "internal_transfer"
          example: 7b5c2156-dee1-93a9-a37d-0f19df39173a
          format: uuid
          type: string
      type: object
    tenant:
      properties:
        bank_id:
          description: Bank ID
          example: 6
          type: integer
        partner_id:
          description: Partner ID
          example: 6
          type: integer
      required:
        - bank_id
        - partner_id
      title: Tenant
      type: object
    error:
      description: Synctera error responses in API v1 implement a custom error schema.
      properties:
        code:
          description: >
            A machine-readable string that identifies the error for programmatic
            use.
          example: BAD_REQUEST_BODY
          type: string
        detail:
          description: |
            A human-readable string explaining this particular error.
          example: 'Missing required fields: first_name, dob'
          type: string
        status:
          description: HTTP status code for this response
          example: 400
          type: integer
      title: Synctera error response
      type: object
    autopay_attempt:
      description: A single attempt to execute an autopay
      properties:
        attempted_at:
          description: Timestamp when the attempt was made
          example: '2024-01-25T14:30:00Z'
          format: date-time
          type: string
        payment_attributes:
          $ref: '#/components/schemas/autopay_payment_attributes'
        reason:
          description: Reason for failure or skip (if applicable)
          example: Insufficient funds in payment source account
          type: string
        status:
          $ref: '#/components/schemas/autopay_attempt_status'
      required:
        - attempted_at
        - status
      type: object
    autopay_amount_rule:
      description: |
        Rule for calculating the autopay amount:
        - MINIMUM_DUE: Pay the minimum payment due
        - STATEMENT_BALANCE: Pay the full statement balance
        - CURRENT_BALANCE: Pay the current account balance
        - FIXED_AMOUNT: Pay a fixed amount
      enum:
        - CURRENT_BALANCE
        - FIXED_AMOUNT
        - MINIMUM_DUE
        - STATEMENT_BALANCE
      type: string
    autopay_description_template:
      description: >
        Go template for payment description. Used for ACH addenda and internal
        transfer memo.

        Supports template variables:

        - {{.Last4AccountId}}: Last 4 characters of the lending account UUID

        - {{.BillingPeriodEndDate}}: End date of the billing period (YYYY-MM-DD)

        - {{.PaymentAmount}}: Payment amount formatted as currency (e.g.,
        "$50.00")

        Default: "Autopay"
      example: Autopay for account ending in {{.Last4AccountId}}
      type: string
    autopay_failure_policy:
      description: Policy for handling autopay failures
      enum:
        - NO_RETRY
      type: string
    autopay_payment_configs:
      description: Payment method-specific configurations
      properties:
        ach:
          $ref: '#/components/schemas/ach_payment_config'
        internal_transfer:
          $ref: '#/components/schemas/internal_transfer_payment_config'
      type: object
    autopay_payment_method:
      description: >
        Payment method for autopay:

        - ACH: Pull funds from an external account via ACH debit

        - INTERNAL_TRANSFER: Transfer funds from a Synctera platform account
        (generally the customer's own account)
      enum:
        - ACH
        - INTERNAL_TRANSFER
      type: string
    autopay_rule_configs:
      description: Rule-specific configurations
      properties:
        current_balance:
          $ref: '#/components/schemas/current_balance_config'
        days_before_due:
          $ref: '#/components/schemas/days_before_due_config'
        fixed_amount:
          $ref: '#/components/schemas/fixed_amount_config'
        minimum_due:
          $ref: '#/components/schemas/minimum_due_config'
        statement_balance:
          $ref: '#/components/schemas/statement_balance_config'
      type: object
    autopay_timing_rule:
      description: >
        Rule for when the autopay should fire. The valid set depends on
        autopay_type:

        - STATEMENT autopays use ON_DUE_DATE or DAYS_BEFORE_DUE (anchored to the
        billing due date).

        - SCHEDULED autopays use DAILY (future cadences like WEEKLY/BIWEEKLY
        will be added here).
      enum:
        - DAILY
        - DAYS_BEFORE_DUE
        - ON_DUE_DATE
      type: string
    autopay_attempt_status:
      description: >
        Status of an autopay attempt:

        - SUCCESS: The attempt succeeded and payment was initiated

        - FAILED: The attempt failed (e.g., insufficient funds, validation
        error)

        - SKIPPED: The attempt was skipped (e.g., no balance due, already paid)
      enum:
        - FAILED
        - SKIPPED
        - SUCCESS
      type: string
    ach_payment_config:
      description: Configuration specific to ACH payment method
      properties:
        external_account_id:
          description: The external account ID to debit via ACH
          example: 8f5b4c62-f5a0-4e68-9669-19dbc7a74d8e
          format: uuid
          type: string
        is_same_day:
          description: Whether to send as same-day ACH (default false)
          example: true
          type: boolean
        sec_code:
          description: Standard Entry Class Code (WEB, CCD, or PPD). Default is WEB.
          enum:
            - CCD
            - PPD
            - WEB
          example: WEB
          type: string
      required:
        - external_account_id
      type: object
    internal_transfer_payment_config:
      description: Configuration specific to internal transfer payment method
      properties:
        source_account_id:
          description: The internal Synctera platform account ID to transfer funds from
          example: 8f5b4c62-f5a0-4e68-9669-19dbc7a74d8e
          format: uuid
          type: string
        subtype:
          description: >-
            Transaction subtype for the internal transfer (default
            "autopay_payment")
          example: autopay_payment
          type: string
      required:
        - source_account_id
      type: object
    current_balance_config:
      description: Configuration for current balance amount rule
      type: object
    days_before_due_config:
      description: Configuration for days before due timing rule
      properties:
        offset_days:
          description: Number of days before the due date to schedule the autopay
          example: 3
          maximum: 30
          minimum: 1
          type: integer
      required:
        - offset_days
      type: object
    fixed_amount_config:
      description: Configuration for fixed amount autopay rule
      properties:
        amount:
          description: Fixed amount to pay in cents (e.g. $100.00 is 10000)
          example: 10000
          format: int64
          type: integer
      required:
        - amount
      type: object
    minimum_due_config:
      description: Configuration for minimum due amount rule
      type: object
    statement_balance_config:
      description: Configuration for statement balance amount rule
      type: object
  responses:
    bad_request:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Bad request
    unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unauthorized
    forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Forbidden
    not_found:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Resource not found
    internal_server_error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````