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

# Mark a SEPA XML file as uploaded

> Marks a SEPA XML file as uploaded to the bank. This means, that the SEPA XML file was uploaded to the bank already. All related payment transactions will be marked as waiting, until the grace period of the bank is over. You cannot regenerate the SEPA XML file, when it was marked as uploaded.

<sup>Required permissions: `sepa-xml:write`</sup>



## OpenAPI

````yaml put /sepa-xml-files/{id}/uploaded
openapi: 3.1.0
info:
  title: Fynn API
  description: ''
  termsOfService: https://www.fynn.eu/tos
  contact:
    name: Fynn UG (haftungsbeschränkt)
    url: https://www.fynn.eu
    email: hi@fynn.eu
  license:
    name: Proprietary
    url: https://www.fynn.eu/license
  version: 0.0.0
servers:
  - url: https://coreapi.io
    description: Production
  - url: https://preview.coreapi.io
    description: Sandbox
security:
  - JWT: []
tags: []
paths:
  /sepa-xml-files/{id}/uploaded:
    parameters: []
    put:
      tags:
        - SepaXmlStatement
      summary: Mark a SEPA XML file as uploaded
      description: >-
        Marks a SEPA XML file as uploaded to the bank. This means, that the SEPA
        XML file was uploaded to the bank already. All related payment
        transactions will be marked as waiting, until the grace period of the
        bank is over. You cannot regenerate the SEPA XML file, when it was
        marked as uploaded.


        <sup>Required permissions: `sepa-xml:write`</sup>
      operationId: markSepaXmlFileAsUploaded
      parameters:
        - name: id
          in: path
          description: SepaXmlStatement identifier
          required: true
          deprecated: false
          schema:
            type: string
          style: simple
          explode: false
      requestBody:
        description: The updated SepaXmlStatement resource
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SepaXmlStatement.MarkSepaXmlUploaded'
          text/html:
            schema:
              $ref: '#/components/schemas/SepaXmlStatement.MarkSepaXmlUploaded'
        required: true
      responses:
        '200':
          description: SepaXmlStatement resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SepaXmlStatement-SepaXmlStatementDetail'
            text/html:
              schema:
                $ref: '#/components/schemas/SepaXmlStatement-SepaXmlStatementDetail'
          links: {}
        '400':
          description: Invalid input
        '404':
          description: Resource not found
        '422':
          description: Unprocessable entity
      deprecated: false
      security:
        - JWT:
            - sepa-xml:write
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl -X PUT \
             /sepa-xml-files/{id}/uploaded \
             --header "Content-Type: application/json" \
             --header "Authorization: Bearer <token>" \
             --data '{
                "autoCaptureAfterDays": ""
            }'
components:
  schemas:
    SepaXmlStatement.MarkSepaXmlUploaded:
      type: object
      description: ''
      deprecated: false
      properties:
        autoCaptureAfterDays:
          minimum: 0
          maximum: 90
          description: >-
            The number of days after which the payment should be captured
            automatically. 0 means immediately.

            If you are using the **bank account synchronization**, you should
            set this value to `null`.

            The amount will be captured automatically, when the bank account
            synchronization is processed.


            Advantages of using the bank account synchronization:

            - more accurate payment status and payment date

            - correct accounting of the payment

            - declines are handled automatically

            - less manual work
          type:
            - integer
            - 'null'
    SepaXmlStatement-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f7a6d-1b0b-4e1a-8e1a-0b1b0b1b0b1b
          type: string
        uploaded:
          readOnly: true
          description: >-
            Indicates if the SEPA XML file was uploaded to the bank already. If
            not, the file can be deleted. If yes, all transactions will be
            marked as waiting, until the grace period of the bank is over.
          type: boolean
        uniqueMessageId:
          description: The unique message ID of the SEPA XML file
          example: COKSDE33XXX-2021-01-01-12-00-00-000000000
          type: string
        generatedAt:
          readOnly: true
          description: The date and time when the SEPA XML file was generated
          type: string
          format: date-time
        sepaXmlPayments:
          description: The SEPA XML payments included in this SEPA XML file
          type: array
          items:
            $ref: '#/components/schemas/SepaXmlPayment-SepaXmlStatementDetail'
        mediaId:
          readOnly: true
          description: >-
            The media file containing the SEPA XML statement(s) as zip. See <a
            href ="#tag/Media/operation/getDownloadToken">Download media</a> for
            more information.
          example: ad8f7a6d-1b0b-4e1a-8e1a-0b1b0b1b0b1b
          type: string
    SepaXmlPayment-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f1c1e-0b0a-4e1a-8b0a-0b0a4e1a8b0a
          type: string
        type:
          default: debit
          example: debit
          enum:
            - credit
            - debit
          description: |-


            Possible values:
             * `credit`: Credit
             * `debit`: Debit
        createdAt:
          default: CURRENT_TIMESTAMP
          example: '2021-01-01T00:00:00+00:00'
        dueDate:
          type:
            - string
            - 'null'
          format: date-time
        remittanceInformation:
          example: '#Fynn - Debit for invoice 123'
          type:
            - string
            - 'null'
        endToEndId:
          example: Fynn-123
          type:
            - string
            - 'null'
        amount:
          example: 100
          type: integer
        sepaMandate:
          $ref: '#/components/schemas/SepaMandate-SepaXmlStatementDetail'
          readOnly: true
        invoice:
          description: >-
            The invoice of the payment. In case of a cart payment or manual
            payment intent, the invoice is null.
          anyOf:
            - $ref: '#/components/schemas/Invoice-SepaXmlStatementDetail'
            - type: 'null'
        transaction:
          description: The transaction of the payment.
          nullable: false
        autoCaptureAt:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
    SepaMandate-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f0b9c-0b1a-4e1a-8b0a-0b1a4e1a8b0a
          type: string
        status:
          description: |-
            The status of the mandate

            Possible values:
             * `active`: The mandate is active and can be used for payments
             * `revoked`: The customer has revoked the mandate or a payment was rejected by the bank. The mandate can not be used for payments anymore
          example: active
          enum:
            - active
            - revoked
        creditorIdentifier:
          readOnly: true
          type: string
        mandateReference:
          description: The reference of the mandate
          example: MNDT-2021-0001
          type: string
        bankAccount:
          $ref: '#/components/schemas/BankAccount-SepaXmlStatementDetail'
          description: The bank account of the mandate
        sequenceType:
          description: |-
            The sequence type of the mandate

            Possible values:
             * `FRST`: The sepa mandate is used for the first time for a recurring payment
             * `RCUR`: The sepa mandate was already used the first time and is now used for recurring payments
             * `FNAL`: The sepa mandate is used for the last time for a recurring payment
             * `OOFF`: The sepa mandate is only allowed to be used for one payment
          example: FRST
          enum:
            - FRST
            - RCUR
            - FNAL
            - OOFF
        sepaType:
          description: |-
            The type of the mandate

            Possible values:
             * `CORE`: The core scheme is used for payments between consumers and companies
             * `B2B`: The B2B scheme is used for payments between companies. No refund is possible
             * `COR1`: The COR1 scheme is used for payments between consumers and companies. The payment is processed faster than with the core scheme
          example: core
          enum:
            - CORE
            - B2B
            - COR1
    Invoice-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          description: The unique identifier of the invoice.
          example: 00000000-0000-0000-0000-000000000000
          type: string
          format: uuid
        customer:
          $ref: '#/components/schemas/Customer-SepaXmlStatementDetail'
          description: The customer of the invoice.
        paymentMethod:
          description: >-
            The payment method which should be used to fullfill the payment of
            the invoice.
          anyOf:
            - $ref: '#/components/schemas/PaymentMethod-SepaXmlStatementDetail'
            - type: 'null'
        type:
          description: The type of the invoice.
          example: TYPE_INVOICE
          enum:
            - TYPE_INVOICE
            - TYPE_CREDIT
            - TYPE_REFUND
            - TYPE_REMINDER
            - TYPE_CANCEL
            - TYPE_DUNNING
        currencyCode:
          description: >-
            The currency code of the invoice. If multiple currency codes will be
            used in the positions, they will be converted to that base currency.
          example: EUR
          type: string
        number:
          readOnly: true
          description: >-
            The document id of the invoice. This will be generated, when the
            invoice will be finalized.
          example: RE-0000000001
          type: string
        status:
          readOnly: true
          type: string
          enum:
            - STATUS_DRAFT
            - STATUS_PAID
            - STATUS_CANCELLED
            - STATUS_CLOSED
            - STATUS_REFUNDED
            - STATUS_REMINDED
            - STATUS_UNPAID
            - STATUS_NEW
            - STATUS_FINALIZING
        finalizationDate:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
        dueDate:
          type:
            - string
            - 'null'
          format: date-time
        dunningLevel:
          readOnly: true
          type: integer
        dunningStatus:
          readOnly: true
          default: none
          example: none
          type: string
          enum:
            - reminder
            - dunning
            - none
        payDate:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
        invoiceAddress:
          readOnly: true
          description: The invoice address of the invoice.
          nullable: true
        internalNote:
          description: The notice of the invoice.
          deprecated: true
          example: This invoice is with a special discount.
          type:
            - string
            - 'null'
        netAmount:
          $ref: '#/components/schemas/MoneyEmbedded-SepaXmlStatementDetail'
          readOnly: true
          description: The net amount of the invoice.
        grossAmount:
          $ref: '#/components/schemas/MoneyEmbedded-SepaXmlStatementDetail'
          readOnly: true
        taxAmount:
          $ref: '#/components/schemas/MoneyEmbedded-SepaXmlStatementDetail'
          readOnly: true
        customFields:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
          example:
            field1: value1
            field2: value2
          description: >-
            Custom fields for the entity. The keys are the field names and the
            values are the field values. They need to be configured under
            \"/custom-fields\" in the API documentation. The input is validated
            against the configuration. For more details see [Custom Fields
            Guide](/guide/tenant/custom-fields)
        unpaidAmount:
          $ref: '#/components/schemas/Money-SepaXmlStatementDetail'
          readOnly: true
    BankAccount-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f0b9c-4b1e-4e0e-8b9c-4b1e4e0e8b9c
          type: string
          description: Unique identifier of the bank account
        iban:
          example: DE12500105170648489890
          type: string
          description: The IBAN of the bank account
        bic:
          example: PBNKDEFFXXX
          type: string
          description: The BIC/SWIFT code of the bank
        accountHolder:
          example: Max Mustermann
          type: string
          description: The name of the account holder
        bankName:
          example: Commerzbank
          type: string
          description: The name of the bank
    Customer-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: 00000000-0000-0000-0000-000000000000
          type: string
        customerNumber:
          minLength: 2
          maxLength: 255
          example: CUSTOMER-000
          nullable: false
        timeZone:
          readOnly: true
          default: Europe/Berlin
          example: Europe/Berlin
          type: string
        firstName:
          minLength: 2
          maxLength: 255
          description: Can be empty if the customer is a company.
          example: John
          nullable: true
        lastName:
          minLength: 2
          maxLength: 255
          description: Can be empty if the customer is a company.
          example: Doe
          nullable: true
        currencyCode:
          description: >-
            Can be empty. In this case the default currency of the tenant is
            used.
          externalDocs:
            url: https://schema.org/priceCurrency
          example: EUR
          type: string
        companyName:
          minLength: 2
          maxLength: 255
          example: Acme Inc.
          type:
            - string
            - 'null'
        datevId:
          minLength: 2
          maxLength: 255
          description: The ID of the customer in DATEV
          example: '123456789'
          type:
            - string
            - 'null'
        status:
          default: STATUS_ACTIVE
          example: STATUS_ACTIVE
          enum:
            - STATUS_ACTIVE
            - STATUS_ARCHIVED
            - STATUS_SUSPENDED
    PaymentMethod-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
          description: Unique identifier of the payment method
          example: c1a2b3c4-d5e6-4f7a-8b9b-0c1d2e3f4a5b
        gatewayName:
          type: string
          enum:
            - wallet
            - sepa_debit
            - stripe
            - fake_provider
            - paypal
            - bank_transfer
            - go_cardless
            - testing
          description: The payment gateway used to process the payment method
        type:
          type:
            - string
            - 'null'
          enum:
            - sepa_debit
            - card
            - paypal
            - bank_transfer
            - wallet
            - fake_provider
            - null
          description: The type of the payment method
        default:
          type: boolean
          description: Whether this is the default payment method for the customer
          example: true
        status:
          default: active
          example: active
          type: string
          enum:
            - active
            - action_required
            - expired
            - revoked
            - gateway_unconfigured
          description: The current status of the payment method
        enabled:
          type: boolean
          description: Whether the payment method is enabled for use
          example: true
        name:
          type:
            - string
            - 'null'
          description: Display name of the payment method
          example: Visa (4242)
        creationDate:
          readOnly: true
          type: string
          format: date-time
          description: The date when the payment method was created
          example: '2024-01-15T10:30:00+00:00'
        expirationDate:
          type:
            - string
            - 'null'
          format: date-time
          description: The expiration date of the payment method, if applicable
          example: '2026-12-31T23:59:59+00:00'
    MoneyEmbedded-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
    Money-SepaXmlStatementDetail:
      type: object
      description: ''
      deprecated: false
  securitySchemes:
    JWT:
      type: http
      scheme: bearer

````