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

# Update Export Job Items

> Update the status and other attributes of the export job items in batches of 100. This API only supports updating up to 100 items.



## OpenAPI

````yaml put /v3/export-jobs/{jobId}/items
openapi: 3.0.1
info:
  title: Export API
  description: >
    This API enables you to perform the following:

    - Retrieve a list of accounting entries that have been exported to the
    external ERP/accounting system.

    - Create a new export job event.

    - Retrieve a list of existing export jobs and create a new one.

    - Retrieve details of an export job.

    - Retrieve a list of export job items and update their information.
  termsOfService: https://pleo.io/terms/
  contact:
    email: apiteam@pleo.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 32.4.0
servers:
  - url: https://external.pleo.io
    description: Production server
  - url: https://external.staging.pleo.io
    description: Staging server
security:
  - bearerAuth: []
  - basicAuth: []
tags:
  - name: health
  - name: export-items
  - name: export-jobs
  - name: admin
  - name: export-job-items
  - name: Export API (v2)
  - name: Export Items (v2)
  - name: Export API (v3)
  - name: Export Items (v3)
paths:
  /v3/export-jobs/{jobId}/items:
    put:
      tags:
        - Export API (v3)
      summary: Update Export Job Items
      description: >-
        Update the status and other attributes of the export job items in
        batches of 100. This API only supports updating up to 100 items.
      operationId: updateExportJobItemsV3
      parameters:
        - name: jobId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
            description: Export Job ID
            format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UpdateExportJobItemV3'
      responses:
        '200':
          description: Export job items updated successfully.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExportJobItemUpdateV3'
        '404':
          description: Export job not found.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExceptionInfo'
              example:
                type: EXPORT_NOT_FOUND
                message: Export job not found.
        '413':
          description: Number of items to update is more than 100.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExceptionInfo'
              example:
                type: EXPORT_JOB_ITEMS_UPDATE_LIMIT
                message: Number of items to update is more than 100.
        '422':
          description: Export job is finished.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExceptionInfo'
              example:
                type: EXPORT_JOB_STATUS_UNPROCESSABLE
                message: Export job is finished.
components:
  schemas:
    UpdateExportJobItemV3:
      required:
        - accountingEntryId
        - status
      type: object
      properties:
        accountingEntryId:
          type: string
          description: ID of the accounting entry being updated.
          format: uuid
        exportedAt:
          pattern: YYYY-MM-DDTHH:mi:ssZ
          type: string
          description: Date and time when the export job was initiated.
          format: date-time
        externalId:
          type: string
          description: The accounting system identifier of the entry after export.
        externalUrl:
          type: string
          description: URL to access the resource of the entry in the accounting system.
        failureReason:
          type: string
          description: Detailed message explaining the failure.
        failureReasonType:
          $ref: '#/components/schemas/ExportJobItemFailureReasonType'
        status:
          $ref: '#/components/schemas/ExportJobItemStatus'
    ExportJobItemUpdateV3:
      required:
        - data
        - errors
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExportJobItemV3'
        errors:
          type: array
          description: >-
            If any errors occurred in updating the export job items, they will
            be listed here.
          items:
            $ref: '#/components/schemas/ExportJobItemUpdateErrorV3'
    ExceptionInfo:
      required:
        - type
      type: object
      properties:
        message:
          type: string
        type:
          type: string
    ExportJobItemFailureReasonType:
      type: string
      description: >-

        | Value  | Description |

        | ------ | ----------- |

        | receipt_upload_failure | An error occurred while uploading the receipt
        file to the accounting system. |

        | receipt_download_failure | An error occurred while downloading the
        receipt file from Pleo. |

        | receipt_file_size_limit_exceeded | If the receipt file size has
        exceeded the limit specified by the accounting system. |

        | receipt_conversion_failure | When an attempt to convert the receipt to
        a different file type and the conversion failed. |

        | unexpected_failure | An unexpected error occurred. |

        | invalid_configuration | This would define a failure reason pertaining
        to invalid configuration needed to complete the export of the item or
        interact with the accounting system. |

        | missing_configuration | This would define a failure reason pertaining
        to incomplete configuration needed to complete the export of the item or
        interact with the accounting system. |

        | accounting_system_authentication_failure | The integration service
        could not authenticate with the accounting system. |

        | accounting_system_rate_limit | There was an irrecoverable rate limit
        issue that the integration service encountered at any stage of the
        export job process while communicating with the accounting system. |

        | accounting_system_unreachable | This would be an error that occurs if
        the integration service is unable to reach the accounting system. |

        | validation_failure | If there was an irrecoverable validation error
        that occurred while validating the export item. |

        | accounting_system_validation_failure | If there was an irrecoverable
        validation error encountered by the accounting system as a result of
        exporting the item. |

        | authorization_failure | This is an error that may have occurred
        because the authorization granted with the token that was generated
        during the installation of the integration, has been revoked or the user
        that authorized no longer has that access in the accounting system. |

        | accounting_system_timeout | This would be an error that occurs if the
        integration service encounters an irrecoverable timeout while
        communicating with the accounting system. |

        | vendor_unknown | Failure due to unknown or invalid vendor account
        number in the accounting system at time of exporting the item. |

        | account_unknown | Failure due to unknown or invalid account number in
        the accounting system at time of exporting the item. |

        | tax_code_unknown | Failure due to unknown or invalid tax code in the
        accounting system at time of exporting the item. |

        | tag_unknown | Failure due to unknown or invalid tag in the accounting
        system at time of exporting the item. |
      enum:
        - receipt_upload_failure
        - receipt_download_failure
        - receipt_file_size_limit_exceeded
        - receipt_conversion_failure
        - unexpected_failure
        - invalid_configuration
        - missing_configuration
        - accounting_system_authentication_failure
        - accounting_system_rate_limit
        - accounting_system_unreachable
        - validation_failure
        - accounting_system_validation_failure
        - authorization_failure
        - accounting_system_timeout
        - vendor_unknown
        - account_unknown
        - tax_code_unknown
        - tag_unknown
    ExportJobItemStatus:
      type: string
      description: >-

        | Value  | Description |

        | ------ | ----------- |

        | pending | The export job item is selected for export, yet it is
        waiting to be exported. |

        | in_progress | The export job item is currently being exported to the
        ERP/accounting system. |

        | failed | The export job item could not be exported to the
        ERP/accounting system. |

        | successful | The export job item is successfully exported to the
        ERP/accounting system. |

        | abandoned | The export job item could not be exported to the
        ERP/accounting system because the export job could not be completed. |
      enum:
        - pending
        - in_progress
        - failed
        - successful
        - abandoned
    ExportJobItemV3:
      required:
        - accountingEntryId
        - exportJobId
        - status
      type: object
      properties:
        accountingEntryId:
          type: string
          description: The accounting entry identifier being exported.
          format: uuid
        exportJobId:
          type: string
          description: The export job identifier for which this item belongs to.
          format: uuid
        exportedAt:
          pattern: YYYY-MM-DDTHH:mi:ssZ
          type: string
          description: Date and time the item was exported.
          format: date-time
          nullable: true
        externalId:
          type: string
          description: >-
            This is an external identifier of the corresponding accounting entry
            in the accounting system after export.
          nullable: true
        externalUrl:
          type: string
          description: >-
            This is the external URL pointing to the accounting entry resource
            in the accounting system after the export.
          nullable: true
        failureReason:
          type: string
          description: Reason why the export of this item failed in the case of a failure.
          nullable: true
        failureReasonType:
          type: string
          description: This can be one of ExportJobItemFailureReasonType values
          example: receipt_upload_failure
        status:
          type: string
          description: This can be one of ExportJobItemStatus values
          example: pending
    ExportJobItemUpdateErrorV3:
      required:
        - accountingEntryId
        - message
        - type
      type: object
      properties:
        accountingEntryId:
          type: string
          description: Accounting entry ID for which this error occurred.
          format: uuid
        message:
          type: string
          description: Descriptive error message.
        type:
          type: string
          description: This can be one of ExportJobItemUpdateErrorType values
          example: ACCOUNTING_ENTRY_DOES_NOT_EXIST
      description: >-
        If any errors occurred in updating the export job items, they will be
        listed here.
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        JWT Bearer token authentication. Include the token in the Authorization
        header as: `Bearer <token>`
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      description: >-
        Basic HTTP authentication using API key. Use your API key as the
        username and leave the password empty. The credentials will be Base64
        encoded automatically.
      scheme: basic

````