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

# Delete expense report for organization

> Soft-deletes an expense report: the report and every expense record in it are moved to status DELETED, the report's approval chains are removed and a DELETED change log entry is written. Nothing is removed from the database, and a deleted report is no longer returned by the read endpoints. It is idempotent - deleting an already deleted report answers 204 as well - and it has no status or report-type restriction. The report must belong to the organization in the path.
It requires the `adminApiExpenseReports:deleteExpenseReport` permission, which is given to the same roles as `adminApiExpenseReports:updateExpenseReport`. The caller must also be allowed to modify reports in the organization, so a consultant with the read-only report viewer role is denied.




## OpenAPI

````yaml /openapi/findity-admin-api.json delete /organizations/{organizationId}/reports/{reportId}
openapi: 3.1.0
info:
  title: Findity Admin API
  description: Findity Admin API
  version: 1.0.0
servers:
  - url: https://stage-api.findity.com/api/v1/admin
  - url: https://api.findity.com/api/v1/admin
security:
  - bearerAuth: []
paths:
  /organizations/{organizationId}/reports/{reportId}:
    delete:
      tags:
        - Expense Reports
      summary: Delete expense report for organization
      description: >
        Soft-deletes an expense report: the report and every expense record in
        it are moved to status DELETED, the report's approval chains are removed
        and a DELETED change log entry is written. Nothing is removed from the
        database, and a deleted report is no longer returned by the read
        endpoints. It is idempotent - deleting an already deleted report answers
        204 as well - and it has no status or report-type restriction. The
        report must belong to the organization in the path.

        It requires the `adminApiExpenseReports:deleteExpenseReport` permission,
        which is given to the same roles as
        `adminApiExpenseReports:updateExpenseReport`. The caller must also be
        allowed to modify reports in the organization, so a consultant with the
        read-only report viewer role is denied.
      operationId: deleteOrganizationExpenseReport
      parameters:
        - name: organizationId
          in: path
          required: true
          description: >-
            The unique identifier of the organization. String, UUID format
            (32-character hexadecimal). Required.
          schema:
            $ref: '#/components/schemas/Uuid'
            example: 05b8daba9ba14a49846fe77883248cf0
        - $ref: '#/components/parameters/expenseReportId'
      responses:
        '204':
          description: The report was deleted, or was already deleted. No response body.
        '403':
          description: >
            Forbidden — the caller lacks the
            `adminApiExpenseReports:deleteExpenseReport` permission, or may not
            modify reports in the organization (for example a report viewer
            consultant).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403Error'
              examples:
                missingPermission:
                  summary: The caller lacks the delete permission
                  value:
                    result: error
                    description: Not allowed
                cannotModifyReports:
                  summary: The caller may not modify reports in the organization
                  value:
                    result: error
                    description: Insufficient rights
        '404':
          description: >
            Not found — the organization does not exist, the caller is not an
            administrator of it (for the developer role: the organization was
            not created by the caller's client application), or the caller's
            token is scoped to another organization; or the expense report does
            not exist or belongs to another organization than the one in the
            path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Error'
              examples:
                unknownOrganization:
                  summary: Unknown organization id
                  value:
                    result: error
                    code: ORGANIZATION_NOT_FOUND
                    description: >-
                      Organization not found for
                      id='05b8daba9ba14a49846fe77883248cf0'
                organizationNotFound:
                  summary: The caller may not access the organization
                  value:
                    result: error
                    code: ORGANIZATION_NOT_FOUND
                    description: Organization not found
                expenseReportNotFound:
                  summary: >-
                    Expense report not found (unknown id, or it belongs to
                    another organization)
                  value:
                    result: error
                    code: EXPENSE_REPORT_NOT_FOUND
                    description: Expense report not found
components:
  schemas:
    Uuid:
      type: string
      pattern: ^[0-9a-fA-F]{32}$
      description: UUID without dashes (32-character hex string)
    403Error:
      type: object
      properties:
        result:
          type: string
        code:
          type: string
        description:
          type: string
      example:
        result: error
        description: Not allowed
    404Error:
      type: object
      properties:
        result:
          type: string
        code:
          type: string
        description:
          type: string
      example:
        result: error
        code: ORGANIZATION_NOT_FOUND
        description: 'Failed to get organization for id: {orgId}'
  parameters:
    expenseReportId:
      in: path
      name: reportId
      required: true
      description: >-
        The unique identifier of the expense report. String, UUID format
        (32-character hexadecimal). Required.
      schema:
        $ref: '#/components/schemas/Uuid'
      example: f328e47d595c40ad80f27f52626c5b92
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````