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

# List TPRM Companies

> List third-party companies being monitored, with their current risk ratings.



## OpenAPI

````yaml get /tprm/companies
openapi: 3.1.0
info:
  title: Leen Security API
  version: 0.0.1
servers:
  - description: Production API (US)
    url: https://api.leen.dev/v1
  - description: Production API (EU)
    url: https://api.eu-c1.leen.dev/v1
  - description: Production API (APAC)
    url: https://api.ap-se2.leen.dev/v1
security: []
paths:
  /tprm/companies:
    get:
      tags:
        - tprm
        - companies
      summary: List TPRM Companies
      description: >-
        List third-party companies being monitored, with their current risk
        ratings.
      operationId: get_companies
      parameters:
        - in: query
          name: sort
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Sort
        - description: Filter by company_id (comma-separated list, e.g., 'id_1,id_2')
          in: query
          name: company_ids
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by company_id (comma-separated list, e.g., 'id_1,id_2')
            title: Company Ids
        - description: Filter by companies date added after this date
          in: query
          name: date_added
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: Filter by companies date added after this date
            title: Date Added
        - description: Filter companies by domain (exact match)
          in: query
          name: domain
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter companies by domain (exact match)
            title: Domain
        - description: >-
            Only records whose `updated_at` is at or after this time. Leen bumps
            `updated_at` whenever any field on a record changes, so this is the
            filter for an incremental sync: it returns records that are new and
            records that changed, and nothing that has stood still. Example:
            `2021-01-01T00:00:00+00:00`.
          in: query
          name: updatedSince
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              Only records whose `updated_at` is at or after this time. Leen
              bumps `updated_at` whenever any field on a record changes, so this
              is the filter for an incremental sync: it returns records that are
              new and records that changed, and nothing that has stood still.
              Example: `2021-01-01T00:00:00+00:00`.
            examples:
              - '2021-01-01T00:00:00+00:00'
            title: Updatedsince
        - description: >-
            Opaque position of the next page, taken from the previous response.
            Ignore its contents; it encodes where the walk had reached.
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Opaque position of the next page, taken from the previous
              response. Ignore its contents; it encodes where the walk had
              reached.
            title: Cursor
        - description: >-
            How many records to return per page. The walk is the same either
            way; a larger page means fewer round trips and more memory per
            response.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: >-
              How many records to return per page. The walk is the same either
              way; a larger page means fewer round trips and more memory per
              response.
            maximum: 500
            minimum: 1
            title: Limit
            type: integer
        - in: header
          name: X-CONNECTION-ID
          required: false
          schema:
            anyOf:
              - format: uuid
                type: string
              - type: 'null'
            title: X-Connection-Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/KeySetPaginatedResponse_TPRMCompanyKBRespModel_
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Content
      security:
        - API-Key: []
          Bearer-Token: []
components:
  schemas:
    KeySetPaginatedResponse_TPRMCompanyKBRespModel_:
      properties:
        items:
          description: The records on this page.
          items:
            $ref: '#/components/schemas/TPRMCompanyKBRespModel'
          title: Items
          type: array
        next_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque position of the next page. Pass it back as `cursor` to
            continue; null when this is the last page.
          title: Next Cursor
        previous_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque position of the previous page, for walking backwards. Null on
            the first page.
          title: Previous Cursor
      required:
        - items
      title: KeySetPaginatedResponse[TPRMCompanyKBRespModel]
      type: object
    ErrorResponse:
      properties:
        code:
          description: Error code
          title: Code
          type: string
        detail:
          description: List of error dictionaries
          items:
            additionalProperties: true
            type: object
          title: Detail
          type: array
        message:
          description: Error message
          title: Message
          type: string
        type:
          description: Type of error
          title: Type
          type: string
      required:
        - type
        - code
        - message
        - detail
      title: ErrorResponse
      type: object
    TPRMCompanyKBRespModel:
      properties:
        compliance_claimed:
          anyOf:
            - items:
                $ref: '#/components/schemas/ComplianceClaimedModel'
              type: array
            - type: 'null'
          description: The compliance claimed by the company
          title: Compliance Claimed
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date the company was created
          title: Created At
        date_added:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date the company was added
          title: Date Added
        domain:
          anyOf:
            - type: string
            - type: 'null'
          description: The domain of the company
          title: Domain
        id:
          description: Leen's UUID for the tprm company
          format: uuid
          title: Id
          type: string
        industry:
          anyOf:
            - type: string
            - type: 'null'
          description: The industry of the company
          title: Industry
        name:
          description: The name of the company
          title: Name
          type: string
        related_portfolios:
          description: The related portfolios of the company
          items:
            $ref: '#/components/schemas/RelatedPortfolioModel'
          title: Related Portfolios
          type: array
        score:
          anyOf:
            - $ref: '#/components/schemas/ScoreModel'
            - type: 'null'
          description: The score of the company
        size:
          anyOf:
            - type: string
            - type: 'null'
          description: The size of the company
          title: Size
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date the company was updated
          title: Updated At
        vendor_attributes:
          anyOf:
            - $ref: '#/components/schemas/TPRMCompanyKnowledgeBaseVendorAttributes'
            - type: 'null'
          description: The vendor attributes of the company
      required:
        - id
        - name
        - domain
        - score
        - industry
        - size
        - date_added
        - compliance_claimed
        - vendor_attributes
        - related_portfolios
        - updated_at
        - created_at
      title: TPRM Company
      type: object
    ComplianceClaimedModel:
      properties:
        last_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Updated At
        standard:
          title: Standard
          type: string
      required:
        - standard
      title: ComplianceClaimedModel
      type: object
    RelatedPortfolioModel:
      properties:
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
        - id
        - name
      title: RelatedPortfolioModel
      type: object
    ScoreModel:
      properties:
        factors:
          default: []
          items:
            $ref: '#/components/schemas/ScoreFactorModel'
          title: Factors
          type: array
        grade:
          anyOf:
            - type: string
            - type: 'null'
          title: Grade
        rating:
          anyOf:
            - type: integer
            - type: 'null'
          title: Rating
      title: ScoreModel
      type: object
    TPRMCompanyKnowledgeBaseVendorAttributes:
      properties:
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Timestamp when the vendor first created the company
          title: Created At
        data:
          anyOf:
            - $ref: '#/components/schemas/BlackKiteTPRMCompanyVendorData'
            - $ref: '#/components/schemas/SecurityScorecardTPRMCompanyVendorData'
            - $ref: '#/components/schemas/BitSightTPRMCompanyVendorData'
            - type: 'null'
          title: Data
        id:
          description: vendor-reported company ID
          title: Id
          type: string
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Timestamp when the vendor last updated the company
          title: Updated At
      required:
        - id
      title: TPRMCompanyKnowledgeBaseVendorAttributes
      type: object
    ScoreFactorModel:
      properties:
        grade:
          anyOf:
            - type: string
            - type: 'null'
          title: Grade
        name:
          title: Name
          type: string
        rating:
          anyOf:
            - type: integer
            - type: 'null'
          title: Rating
      required:
        - name
      title: ScoreFactorModel
      type: object
    BlackKiteTPRMCompanyVendorData:
      properties:
        dashboard_link:
          anyOf:
            - type: string
            - type: 'null'
          title: Dashboard Link
        strategy_report_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Strategy Report Url
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
      title: BlackKiteTPRMCompanyVendorData
      type: object
    SecurityScorecardTPRMCompanyVendorData:
      properties:
        last_30_days_breach_count:
          title: Last 30 Days Breach Count
          type: number
        last_month_score_change:
          title: Last Month Score Change
          type: number
        lifecycle_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Lifecycle Status
        monitored:
          title: Monitored
          type: boolean
        tags:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Tags
      required:
        - monitored
        - last_month_score_change
        - last_30_days_breach_count
      title: SecurityScorecardTPRMCompanyVendorData
      type: object
    BitSightTPRMCompanyVendorData:
      properties:
        display_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Url
      title: BitSightTPRMCompanyVendorData
      type: object
  securitySchemes:
    API-Key:
      in: header
      name: X-API-KEY
      type: apiKey
    Bearer-Token:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.