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

# List company attributes available for policy checks

> Returns the authenticated account's launch catalogue with picker metadata. Admins may pass user_id to inspect an account and retain access to the full internal catalogue.




## OpenAPI

````yaml https://app.herondata.io/swagger get /api/company_attributes
openapi: 3.0.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data API
  version: '2021-07-19'
servers:
  - description: Production
    url: https://app.herondata.io
security:
  - ApiKeyAuth:
      - key_XXX
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/
paths:
  /api/company_attributes:
    get:
      tags:
        - Policy
      summary: List company attributes available for policy checks
      description: >
        Returns the authenticated account's launch catalogue with picker
        metadata. Admins may pass user_id to inspect an account and retain
        access to the full internal catalogue.
      parameters:
        - description: Account to inspect. Honoured only for admins.
          in: query
          name: user_id
          required: false
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CompanyAttributeCatalogueSchema'
                type: array
          description: Ok
        '404':
          description: Account or policy access not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CompanyAttributeCatalogueSchema:
      properties:
        check_options:
          description: Allowed check forms and any conditional inputs for this value type.
          readOnly: true
        description:
          description: >-
            What the value means, written for the customer reading their own
            rules - the status words a position count admits, what a window is
            anchored to, when the value is missing rather than zero. Null for a
            label with no curated description yet. Present only for accounts on
            policy versions
          nullable: true
          readOnly: true
          type: string
        display_name:
          description: >-
            The attribute's human-readable name, with its tier as a qualifier,
            e.g. "NSF days last 30 days", "Open judgment total amount (12
            months, background check, owner 1)". Parameters are not part of the
            name - render them from `parameters` where the context wants them.
            Derived, so it may be reworded. Present only for accounts on policy
            versions
          readOnly: true
          type: string
        label:
          description: >-
            The attribute's stable identifier, which a check refers to and a CRM
            field maps onto. Namespaced with ":" where a source groups its
            attributes, e.g. "nsf_days_last_30_days",
            "BackgroundCheck:owner_1:open_total_amount_judgment_12mo"
          type: string
        parameter_definitions:
          description: >-
            Presentation metadata for every parameter axis, including its name,
            description, default value and an option-to-label map. Null for an
            unparametrised label
          readOnly: true
        parameters:
          additionalProperties:
            type: string
          description: >-
            Which variant of a parametrised label this is, e.g. {"product_type":
            "mca", "status": "active_only"}. Null for a label that takes no
            parameters, and null on a catalogue listing, where parameter
            definitions give the choices instead
          nullable: true
          type: object
        topic_path:
          description: The picker hierarchy from broad topic to narrow topic.
          items:
            type: string
          readOnly: true
          type: array
        type:
          description: >-
            The value's type, which decides what a check on it can compare:
            "int", "float", "decimal", "string", "date", "datetime", "bool"
          enum:
            - float
            - int
            - decimal
            - string
            - date
            - datetime
            - bool
        unit:
          description: >-
            How to format the value, which `type` alone cannot say: "currency"
            (in the deal's currency), "percentage" (already in percent points),
            "count", "ratio" (a 0-1 quotient), "days", "text". Null for an
            attribute with no declared unit - print the raw value
          enum:
            - currency
            - percentage
            - count
            - ratio
            - days
            - text
            - null
          nullable: true
        value_set:
          description: >-
            The finite vocabulary the value is drawn from, so the editor can
            offer a dropdown instead of free text. Keys into the
            /policy_value_sets response. Null for free text
          enum:
            - us_state
            - naics_industry
            - null
          nullable: true
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````