> ## Documentation Index
> Fetch the complete documentation index at: https://chainpatrol-mintlify-04a0fc55.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Organization Reports (Deprecated)

> Get reports for an organization based on organization slug and filters

<Warning>
  **This endpoint is deprecated.** Please use the new RESTful endpoint [GET /organization/reports](/external-api/organization-reports-list) instead. This endpoint will be removed in a future version.
</Warning>

## Quick Start

### Authentication

Include your API key in the `X-API-KEY` header:

```bash theme={null}
X-API-KEY: <api-key>
```

# Pagination

Make sure to use the `limit` and `cursor` parameters to paginate through the results.

# Filtering

## Dates

When filtering by dates you need to provide both the `startDate` and `endDate` parameters.

## Only Rejected

You can filter for only reports with a rejected proposals by setting the `onlyRejected` parameter to `true`.

The reports returned will have proposals inside, however not all proposals will be rejected, as a report can have multiple proposals inside, and some may be rejected while others are approved. So you need to look through the data if you want only rejected proposals.

## Filter by reporter or reviewer

Use `reporterKind` and `reviewerKind` to filter reports by whether the submitter (reporter) or the reviewer that approved the report was a human user or ChainPatrol Automation. Each parameter accepts one of:

* `"human"` — only reports submitted or approved by a human user.
* `"automation"` — only reports submitted or approved by ChainPatrol Automation.

`reviewerKind` matches the reviewer on the approving decision, so it only affects reports that have an approved proposal.

Use these filters when you want to measure or export automation performance separately from human-submitted or human-approved reports.

```json theme={null}
{
  "slug": "your-org-slug",
  "reporterKind": "human",
  "reviewerKind": "automation"
}
```

<Note>
  The older `excludeAutomation` boolean is now deprecated. It is preserved as a backward-compatible alias for `reporterKind: "human"` — setting `excludeAutomation: true` filters to human reporters when `reporterKind` is not set. Prefer `reporterKind` in new integrations.
</Note>

## Filter to reports waiting on customer approval

Set `needsCustomerReview` to `true` to return only reports the organization still has to action, or `false` to return only reports that are not waiting on them. This is the same queue the organization's Review page shows, so use it to power a "reports needing your review" dashboard or export.

A report counts when it has at least one pending proposal that is the organization's to action:

* A proposal that ChainPatrol staff escalated to the organization and the organization has not answered yet, or
* Any pending proposal on a report the organization submitted itself.

Obligatory Organization Admin Approval does not widen this filter. That setting says an asset type will eventually need admin sign-off, not that every pending proposal is waiting on the admin right now — an untriaged proposal is still ChainPatrol's to review, and only reaches the organization once staff escalate it.

```json theme={null}
{
  "slug": "your-org-slug",
  "needsCustomerReview": true
}
```


## OpenAPI

````yaml POST /public/getOrganizationReports
openapi: 3.0.3
info:
  title: ChainPatrol External API - OpenAPI 3.0
  description: ChainPatrol External API documentation
  version: 2.0.0
servers:
  - url: https://app.chainpatrol.io/api/v2
security: []
tags:
  - name: asset
  - name: report
externalDocs:
  url: https://chainpatrol.com/docs
paths:
  /public/getOrganizationReports:
    post:
      tags:
        - public
      summary: Get reports for an organization
      description: Get reports for an organization based on organization slug and filters
      operationId: getOrganizationReports
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                slug:
                  type: string
                limit:
                  type: number
                  minimum: 1
                  maximum: 20
                cursor:
                  type: number
                  nullable: true
                status:
                  type: string
                  enum:
                    - TODO
                    - IN_PROGRESS
                    - CLOSED
                searchQuery:
                  type: string
                reporterQuery:
                  type: string
                excludeAutomation:
                  type: boolean
                  default: false
                reporterKind:
                  type: string
                  enum:
                    - human
                    - automation
                reviewerKind:
                  type: string
                  enum:
                    - human
                    - automation
                onlyRejected:
                  type: boolean
                  default: false
                onlyFavorited:
                  type: boolean
                  default: false
                reviewStatuses:
                  type: array
                  items:
                    type: string
                    enum:
                      - APPROVE
                      - REJECT
                      - SKIP
                      - ESCALATE
                assetTypes:
                  type: array
                  items:
                    type: string
                    enum:
                      - URL
                      - PAGE
                      - ADDRESS
                      - DISCORD
                      - LINKEDIN
                      - TWITTER
                      - FACEBOOK
                      - YOUTUBE
                      - REDDIT
                      - TELEGRAM
                      - GOOGLE_APP_STORE
                      - APPLE_APP_STORE
                      - AMAZON_APP_STORE
                      - MICROSOFT_APP_STORE
                      - TIKTOK
                      - INSTAGRAM
                      - THREADS
                      - MEDIUM
                      - CHROME_WEB_STORE
                      - MOZILLA_ADDONS
                      - OPERA_ADDONS
                      - EMAIL
                      - PATREON
                      - OPENSEA
                      - FARCASTER
                      - IPFS
                      - GOOGLE_FORM
                      - WHATSAPP
                      - DISCORD_USER
                      - QUORA
                      - GITHUB
                      - TEACHABLE
                      - SUBSTACK
                      - DEBANK
                      - TAWK_TO
                      - JOTFORM
                      - PRIMAL
                      - BLUESKY
                      - SNAPCHAT
                      - DESO
                      - PINTEREST
                      - FLICKR
                      - GALXE
                      - VELOG
                      - NPM
                      - PYPI
                      - HEX
                      - DOCKER_HUB
                      - VOCAL_MEDIA
                      - TECKFINE
                      - TENDERLY
                      - HACKMD
                      - ETSY
                      - ZAZZLE
                      - BASENAME
                      - BILIBILI_TV
                      - VIMEO
                      - DAILYMOTION
                      - PHONE_NUMBER
                      - SLACK
                      - CALENDLY
                      - NGROK
                      - RARIBLE
                      - RUST_PACKAGE
                      - FLATHUB
                      - VIDLII
                      - VEVIOZ
                      - ISSUU
                      - SOUNDCLOUD
                      - ZAPPER
                      - REDNOTE
                      - SAMSUNG_APP_STORE
                      - HUAWEI_APP_STORE
                      - XIAOMI_APP_STORE
                      - TENCENT_APP_STORE
                      - OPPO_APP_STORE
                      - VIVO_APP_STORE
                      - F_DROID
                      - GOOGLE_AD
                      - BING_AD
                      - TWITCH
                      - BEHANCE
                      - ZORA
                      - META_AD
                      - SIGNAL
                      - DEVIANTART
                      - BANDCAMP
                      - ARCHIVE_ORG
                      - FIVE_HUNDRED_PX
                      - LUMA
                      - SMARTMONEYMATCH
                reviewedByUserId:
                  type: number
                  nullable: true
                startDate:
                  type: string
                endDate:
                  type: string
                updatedAtStartDate:
                  type: string
                updatedAtEndDate:
                  type: string
                brandIds:
                  type: array
                  items:
                    type: number
                reportedByCustomer:
                  type: boolean
                countryCodes:
                  type: array
                  items:
                    type: string
                    minLength: 2
                    maxLength: 2
                registrars:
                  type: array
                  items:
                    type: string
                hasMxRecords:
                  type: boolean
                sources:
                  type: array
                  items:
                    type: string
                    enum:
                      - APP
                      - API
                      - CANARY_TOKEN
                      - AUTO_DETECTION
                      - ASSET_MANAGEMENT
                needsCustomerReview:
                  type: boolean
                  description: >-
                    Filter to reports waiting on the organization's own approval
                    — the same queue the Review page shows a customer admin.
                    `true` returns only reports with at least one pending
                    proposal that is the customer's to action; `false` returns
                    only reports that are not. A pending proposal counts when
                    ChainPatrol staff escalated it to the customer and the
                    customer has not answered yet, or when the organization
                    submitted the report itself. Obligatory Organization Admin
                    Approval does not widen this: an untriaged proposal is still
                    waiting on ChainPatrol review, and reaches the customer only
                    once staff escalate it.
              required:
                - slug
                - limit
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reports:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                        title:
                          type: string
                        description:
                          type: string
                        imageDisplay:
                          type: string
                          enum:
                            - VISIBLE
                            - BLUR
                            - HIDDEN
                        favoritedAt:
                          type: string
                          nullable: true
                        status:
                          type: string
                          nullable: true
                          enum:
                            - TODO
                            - IN_PROGRESS
                            - CLOSED
                            - null
                        reportedByCustomer:
                          type: boolean
                        slaDueAt:
                          type: string
                          nullable: true
                          description: >-
                            SLA deadline for this report. `null` when no SLA
                            applies (e.g. staff-created reports). Compare with
                            the current time to identify reports that are late
                            or due soon.
                        externalSubmissionLink:
                          type: string
                          nullable: true
                          description: >-
                            URL to the original external source of the report,
                            when it was submitted from a third-party surface
                            (e.g. a Discord/Twitter message link, or a webform
                            we forwarded through). `null` for reports created
                            directly in ChainPatrol.
                        duplicateOfId:
                          type: number
                          nullable: true
                          description: >-
                            ID of the canonical report this one duplicates.
                            `null` when the report is not a duplicate. Group by
                            this to dedupe when counting unique reports.
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                        attachments:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                              url:
                                type: string
                            required:
                              - id
                              - url
                        proposals:
                          type: array
                          items:
                            type: object
                            properties:
                              reviewStatus:
                                type: string
                                enum:
                                  - PENDING
                                  - APPROVED
                                  - REJECTED
                              asset:
                                type: object
                                properties:
                                  id:
                                    type: number
                                  type:
                                    type: string
                                    enum:
                                      - URL
                                      - PAGE
                                      - ADDRESS
                                      - DISCORD
                                      - LINKEDIN
                                      - TWITTER
                                      - FACEBOOK
                                      - YOUTUBE
                                      - REDDIT
                                      - TELEGRAM
                                      - GOOGLE_APP_STORE
                                      - APPLE_APP_STORE
                                      - AMAZON_APP_STORE
                                      - MICROSOFT_APP_STORE
                                      - TIKTOK
                                      - INSTAGRAM
                                      - THREADS
                                      - MEDIUM
                                      - CHROME_WEB_STORE
                                      - MOZILLA_ADDONS
                                      - OPERA_ADDONS
                                      - EMAIL
                                      - PATREON
                                      - OPENSEA
                                      - FARCASTER
                                      - IPFS
                                      - GOOGLE_FORM
                                      - WHATSAPP
                                      - DISCORD_USER
                                      - QUORA
                                      - GITHUB
                                      - TEACHABLE
                                      - SUBSTACK
                                      - DEBANK
                                      - TAWK_TO
                                      - JOTFORM
                                      - PRIMAL
                                      - BLUESKY
                                      - SNAPCHAT
                                      - DESO
                                      - PINTEREST
                                      - FLICKR
                                      - GALXE
                                      - VELOG
                                      - NPM
                                      - PYPI
                                      - HEX
                                      - DOCKER_HUB
                                      - VOCAL_MEDIA
                                      - TECKFINE
                                      - TENDERLY
                                      - HACKMD
                                      - ETSY
                                      - ZAZZLE
                                      - BASENAME
                                      - BILIBILI_TV
                                      - VIMEO
                                      - DAILYMOTION
                                      - PHONE_NUMBER
                                      - SLACK
                                      - CALENDLY
                                      - NGROK
                                      - RARIBLE
                                      - RUST_PACKAGE
                                      - FLATHUB
                                      - VIDLII
                                      - VEVIOZ
                                      - ISSUU
                                      - SOUNDCLOUD
                                      - ZAPPER
                                      - REDNOTE
                                      - SAMSUNG_APP_STORE
                                      - HUAWEI_APP_STORE
                                      - XIAOMI_APP_STORE
                                      - TENCENT_APP_STORE
                                      - OPPO_APP_STORE
                                      - VIVO_APP_STORE
                                      - F_DROID
                                      - GOOGLE_AD
                                      - BING_AD
                                      - TWITCH
                                      - BEHANCE
                                      - ZORA
                                      - META_AD
                                      - SIGNAL
                                      - DEVIANTART
                                      - BANDCAMP
                                      - ARCHIVE_ORG
                                      - FIVE_HUNDRED_PX
                                      - LUMA
                                      - SMARTMONEYMATCH
                                  content:
                                    type: string
                                  status:
                                    type: string
                                    enum:
                                      - UNKNOWN
                                      - ALLOWED
                                      - BLOCKED
                                  scans:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: number
                                        status:
                                          type: string
                                          enum:
                                            - PENDING
                                            - IN_PROGRESS
                                            - COMPLETED
                                            - FAILED
                                        output:
                                          nullable: true
                                        createdAt:
                                          type: string
                                        enrichments:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              id:
                                                type: number
                                              type:
                                                type: string
                                              output:
                                                nullable: true
                                              status:
                                                type: string
                                            required:
                                              - id
                                              - type
                                              - status
                                      required:
                                        - id
                                        - status
                                        - createdAt
                                        - enrichments
                                required:
                                  - id
                                  - type
                                  - content
                                  - status
                                  - scans
                            required:
                              - reviewStatus
                              - asset
                        reporter:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                            role:
                              type: string
                              enum:
                                - SUPERUSER
                                - SYSTEM
                                - CUSTOMER
                                - SUPPORT
                                - REVIEWER
                                - REPORTER
                                - MANAGER
                                - READ_ONLY
                            fullName:
                              type: string
                            avatarUrl:
                              type: string
                              nullable: true
                          required:
                            - id
                            - role
                            - fullName
                            - avatarUrl
                        externalReporter:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                            displayName:
                              type: string
                              nullable: true
                            avatarUrl:
                              type: string
                              nullable: true
                            platform:
                              type: string
                          required:
                            - id
                            - displayName
                            - avatarUrl
                            - platform
                        source:
                          type: string
                          nullable: true
                          enum:
                            - APP
                            - API
                            - CANARY_TOKEN
                            - AUTO_DETECTION
                            - ASSET_MANAGEMENT
                            - null
                        sourceMetadata:
                          nullable: true
                      required:
                        - id
                        - title
                        - description
                        - imageDisplay
                        - favoritedAt
                        - status
                        - reportedByCustomer
                        - slaDueAt
                        - externalSubmissionLink
                        - duplicateOfId
                        - createdAt
                        - updatedAt
                        - attachments
                        - proposals
                        - reporter
                        - externalReporter
                        - source
                  nextCursor:
                    type: number
                    nullable: true
                  totalCount:
                    type: number
                required:
                  - reports
                  - nextCursor
                  - totalCount
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - ApiKey: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Your API key. This is required by most endpoints to access our API
        programatically. Reach out to us at
        [support@chainpatrol.io](mailto:support@chainpatrol.io?subject=Re:%20API%20Key%20for%20SDK&body=Company:%20%0AName:%20%0APurpose:%20)
        to get an API key for your use.

````