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

# List User Organizations

> List organizations accessible to the current user along with each org's subscription status, which services (reporting, reviewing, protection, takedowns, detection, dark web monitoring) are enabled, integration connection status (Slack, Discord, Telegram, Vercel, Intercom, Moderation API), whether Obligatory Organization Admin Approval is enabled, the org-level Letter of Authorization / Power of Attorney attachments, and every org-level trademark registration on file. Each service exposes an `active` flag; **only `takedowns` additionally exposes `automated`**. The `integrations` object shows which third-party integrations are connected: `slack`, `discord`, `vercel`, `intercom`, and `moderation` are booleans; `telegram` is `{ connected, groupCount }` since an org can have multiple Telegram groups. The `legalDocuments` block has `letterOfAuthorization` and `powerOfAttorney` entries, each with `{ present, fileName, fileUrl }`. `trademarkRegistrations` is the full list of org-level trademarks with their issuing office, registration number, and (when uploaded) a `certificateFileUrl` link — use it to identify which customers have or have not added trademarks. Optional `subscriptionStatus`, `services`, and `obligatoryAdminApproval` filters narrow the result server-side. INACTIVE orgs are always excluded.

## Overview

List the organizations accessible to the current user, along with each one's
subscription status, which services are enabled (reporting, reviewing, protection,
takedowns, detection, and dark web monitoring), integration connection status, whether
obligatory organization admin approval is enabled, the org-level Letter of Authorization
and Power of Attorney attachments, and every org-level trademark registration on file.

## Notes

* Every service exposes an `active` flag; only `takedowns` additionally exposes
  `automated`.
* The `integrations` object reports which third-party integrations are connected. `slack`,
  `discord`, `vercel`, `intercom`, and `moderation` are booleans; `telegram` reports both a
  connected flag and a group count, since an organization can have multiple Telegram
  groups.
* `legalDocuments` has `letterOfAuthorization` and `powerOfAttorney` entries, each
  reporting whether the document is present along with its file name and URL.
* `trademarkRegistrations` is the full list of org-level trademarks with their issuing
  office, registration number, and a certificate PDF link when one has been uploaded — use
  it to identify which customers have or have not added trademarks.
* The optional `subscriptionStatus`, `services`, and `obligatoryAdminApproval` filters
  narrow the result server-side. `INACTIVE` organizations are always excluded.


## OpenAPI

````yaml POST /user/orgs
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:
  /user/orgs:
    post:
      tags:
        - user
      summary: Get user organizations
      description: >-
        List organizations accessible to the current user along with each org's
        subscription status, which services (reporting, reviewing, protection,
        takedowns, detection, dark web monitoring) are enabled, integration
        connection status (Slack, Discord, Telegram, Vercel, Intercom,
        Moderation API), whether Obligatory Organization Admin Approval is
        enabled, the org-level Letter of Authorization / Power of Attorney
        attachments, and every org-level trademark registration on file. Each
        service exposes an `active` flag; **only `takedowns` additionally
        exposes `automated`**. The `integrations` object shows which third-party
        integrations are connected: `slack`, `discord`, `vercel`, `intercom`,
        and `moderation` are booleans; `telegram` is `{ connected, groupCount }`
        since an org can have multiple Telegram groups. The `legalDocuments`
        block has `letterOfAuthorization` and `powerOfAttorney` entries, each
        with `{ present, fileName, fileUrl }`. `trademarkRegistrations` is the
        full list of org-level trademarks with their issuing office,
        registration number, and (when uploaded) a `certificateFileUrl` link —
        use it to identify which customers have or have not added trademarks.
        Optional `subscriptionStatus`, `services`, and `obligatoryAdminApproval`
        filters narrow the result server-side. INACTIVE orgs are always
        excluded.
      operationId: userOrgs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  default: ''
                subscriptionStatus:
                  type: array
                  items:
                    type: string
                    enum:
                      - PROSPECT
                      - POC
                      - ACTIVE
                      - INTEGRATION
                  minItems: 1
                services:
                  type: object
                  properties:
                    reporting:
                      type: object
                      properties:
                        active:
                          type: boolean
                    reviewing:
                      type: object
                      properties:
                        active:
                          type: boolean
                    protection:
                      type: object
                      properties:
                        active:
                          type: boolean
                    takedowns:
                      type: object
                      properties:
                        active:
                          type: boolean
                        automated:
                          type: boolean
                    detection:
                      type: object
                      properties:
                        active:
                          type: boolean
                    darkWebMonitoring:
                      type: object
                      properties:
                        active:
                          type: boolean
                obligatoryAdminApproval:
                  type: object
                  properties:
                    active:
                      type: boolean
                    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
                      minItems: 1
                pendingServiceApproval:
                  type: object
                  properties:
                    active:
                      type: boolean
                    services:
                      type: array
                      items:
                        type: string
                        enum:
                          - protection
                          - takedowns
                      minItems: 1
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  organizations:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                        name:
                          type: string
                        slug:
                          type: string
                        avatarUrl:
                          type: string
                          nullable: true
                        contactUrl:
                          type: string
                          nullable: true
                        subscriptionStatus:
                          type: string
                          enum:
                            - POC
                            - ACTIVE
                            - PROSPECT
                            - INTEGRATION
                            - INACTIVE
                        portalVisibility:
                          type: string
                          enum:
                            - PUBLIC
                            - PRIVATE
                            - DISABLED
                          description: >-
                            Visibility of the org's public security portal
                            (chainpatrol.io/<slug>). `PUBLIC` is discoverable;
                            `PRIVATE` renders only the report form (no metrics
                            or listings); `DISABLED` returns a 404.
                        reportVisibility:
                          type: string
                          enum:
                            - PUBLIC
                            - PRIVATE
                          description: >-
                            Whether the report listings on the public portal are
                            visible to visitors. `PUBLIC` shows the org's
                            reports; `PRIVATE` hides the report list even when
                            the portal is discoverable.
                        metricsVisibility:
                          type: string
                          enum:
                            - PUBLIC
                            - PRIVATE
                            - DISABLED
                          description: >-
                            Whether the metrics/threats-blocked stats render on
                            the public portal. `PUBLIC` shows the metrics tab;
                            `PRIVATE` hides it from anonymous visitors;
                            `DISABLED` doesn't compute metrics at all.
                        brandMetadata:
                          type: object
                          properties:
                            websiteUrl:
                              type: string
                              nullable: true
                              description: >-
                                Public website URL of the brand (linked from the
                                portal header)
                            twitterHandle:
                              type: string
                              nullable: true
                              description: >-
                                Public Twitter/X handle of the brand, stored
                                with the leading `@` (e.g. `@acme`)
                            securityContactEmail:
                              type: string
                              nullable: true
                              description: >-
                                Email address for security correspondence — used
                                by takedown providers and researchers, distinct
                                from the internal customer POC email
                            industry:
                              type: string
                              nullable: true
                              description: >-
                                Free-form industry label (e.g. "DeFi", "CEX",
                                "NFT", "Wallet")
                          required:
                            - websiteUrl
                            - twitterHandle
                            - securityContactEmail
                            - industry
                          description: >-
                            Public brand-facing metadata (website, twitter,
                            security contact, industry) shown on the portal and
                            used by staff for outbound
                        portalCustomization:
                          type: object
                          properties:
                            useCustomDetails:
                              type: boolean
                              description: >-
                                When true, the portal uses
                                `name`/`slug`/`avatarUrl` from this object
                                instead of the org's own name/slug/avatar
                            name:
                              type: string
                              nullable: true
                              description: >-
                                Custom display name shown on the portal (used
                                only when `useCustomDetails=true`)
                            slug:
                              type: string
                              nullable: true
                              description: >-
                                Custom URL slug (`chainpatrol.io/<slug>`) —
                                takes precedence over the org's own slug when
                                set, regardless of `useCustomDetails`
                            avatarUrl:
                              type: string
                              nullable: true
                              description: >-
                                Custom avatar URL shown on the portal (used only
                                when `useCustomDetails=true`)
                            bannerEnabled:
                              type: boolean
                              description: >-
                                When true, the portal renders `bannerContent` as
                                a highlighted banner at the top of the page
                            bannerContent:
                              type: string
                              nullable: true
                              description: >-
                                Markdown body of the portal banner. Null (or
                                empty) with `bannerEnabled=true` means the
                                toggle is on but no content has been written yet
                          required:
                            - useCustomDetails
                            - name
                            - slug
                            - avatarUrl
                            - bannerEnabled
                            - bannerContent
                          description: >-
                            Customer-configurable presentation of the public
                            security portal — custom name/slug/avatar and the
                            banner content
                        services:
                          type: object
                          properties:
                            reporting:
                              type: object
                              properties:
                                active:
                                  type: boolean
                              required:
                                - active
                            reviewing:
                              type: object
                              properties:
                                active:
                                  type: boolean
                              required:
                                - active
                            protection:
                              type: object
                              properties:
                                active:
                                  type: boolean
                              required:
                                - active
                            takedowns:
                              type: object
                              properties:
                                active:
                                  type: boolean
                                automated:
                                  type: boolean
                              required:
                                - active
                                - automated
                            detection:
                              type: object
                              properties:
                                active:
                                  type: boolean
                              required:
                                - active
                            darkWebMonitoring:
                              type: object
                              properties:
                                active:
                                  type: boolean
                              required:
                                - active
                          required:
                            - reporting
                            - reviewing
                            - protection
                            - takedowns
                            - detection
                            - darkWebMonitoring
                        integrations:
                          type: object
                          properties:
                            slack:
                              type: boolean
                            discord:
                              type: boolean
                            telegram:
                              type: object
                              properties:
                                connected:
                                  type: boolean
                                groupCount:
                                  type: number
                              required:
                                - connected
                                - groupCount
                            vercel:
                              type: boolean
                            intercom:
                              type: boolean
                            moderation:
                              type: boolean
                          required:
                            - slack
                            - discord
                            - telegram
                            - vercel
                            - intercom
                            - moderation
                        obligatoryAdminApproval:
                          type: object
                          properties:
                            active:
                              type: boolean
                            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
                          required:
                            - active
                            - assetTypes
                        pendingServiceApprovals:
                          type: array
                          items:
                            type: object
                            properties:
                              service:
                                type: string
                                enum:
                                  - protection
                                  - takedowns
                              automated:
                                type: boolean
                              serviceType:
                                type: string
                                enum:
                                  - isDetectionActive
                                  - isReportingActive
                                  - isAutomatedReportingActive
                                  - isReviewingActive
                                  - isAutomatedReviewingActive
                                  - isProtectionActive
                                  - isAutomatedProtectionActive
                                  - isTakedownsActive
                                  - isAutomatedTakedownsActive
                                  - requiresCustomerReview
                              serviceName:
                                type: string
                              requestedAt:
                                type: string
                            required:
                              - service
                              - automated
                              - serviceType
                              - serviceName
                              - requestedAt
                        legalDocuments:
                          type: object
                          properties:
                            letterOfAuthorization:
                              type: object
                              properties:
                                present:
                                  type: boolean
                                  description: >-
                                    Whether the organization has this document
                                    attached
                                fileName:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Original filename of the uploaded document
                                    (null when not present)
                                fileUrl:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Direct URL to view or download the document
                                    (null when not present)
                              required:
                                - present
                                - fileName
                                - fileUrl
                            powerOfAttorney:
                              type: object
                              properties:
                                present:
                                  type: boolean
                                  description: >-
                                    Whether the organization has this document
                                    attached
                                fileName:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Original filename of the uploaded document
                                    (null when not present)
                                fileUrl:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Direct URL to view or download the document
                                    (null when not present)
                              required:
                                - present
                                - fileName
                                - fileUrl
                          required:
                            - letterOfAuthorization
                            - powerOfAttorney
                          description: >-
                            Org-level Letter of Authorization and Power of
                            Attorney attachments
                        trademarkRegistrations:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                description: Trademark registration ID
                              brandName:
                                type: string
                                description: >-
                                  Trademarked brand name as it appears on the
                                  registration
                              trademarkOffice:
                                type: string
                                description: >-
                                  Issuing trademark office (e.g. `USPTO`,
                                  `EUIPO`)
                              registrationNumber:
                                type: string
                                description: Registration number assigned by the office
                              goodsAndServicesClass:
                                type: string
                                description: >-
                                  Nice Classification class(es) the registration
                                  covers
                              rightsOwnerName:
                                type: string
                                nullable: true
                                description: >-
                                  Legal entity the trademark is registered to,
                                  if recorded
                              registrationPageUrl:
                                type: string
                                nullable: true
                                description: >-
                                  Public URL on the trademark office's site, if
                                  recorded
                              certificateFileName:
                                type: string
                                nullable: true
                                description: >-
                                  Original filename of the uploaded certificate
                                  PDF (null when no certificate is attached)
                              certificateFileUrl:
                                type: string
                                nullable: true
                                description: >-
                                  Direct URL to view or download the certificate
                                  PDF (null when no certificate is attached)
                            required:
                              - id
                              - brandName
                              - trademarkOffice
                              - registrationNumber
                              - goodsAndServicesClass
                              - rightsOwnerName
                              - registrationPageUrl
                              - certificateFileName
                              - certificateFileUrl
                          description: >-
                            Org-level trademark registrations attached to the
                            organization. An empty array means no trademarks are
                            on file — use this to identify customers who still
                            need to add them.
                      required:
                        - id
                        - name
                        - slug
                        - avatarUrl
                        - contactUrl
                        - subscriptionStatus
                        - portalVisibility
                        - reportVisibility
                        - metricsVisibility
                        - brandMetadata
                        - portalCustomization
                        - services
                        - integrations
                        - obligatoryAdminApproval
                        - pendingServiceApprovals
                        - legalDocuments
                        - trademarkRegistrations
                required:
                  - organizations
        '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.

````