73 Strings Qualitative Data API

The **Qualitative Data APIs**, a RESTful service on the 73 Strings platform, provide structured access to narrative-driven company insights, enabling retrieval of qualitative analysis data such as strategic commentary, business model descriptions, and expert assessments. These APIs are designed to support workflows across investment teams by offering consistent and versioned access to qualitative inputs captured at various reporting stages across multiple funds and organizations.

OpenAPI Specification

73-strings-qualitative-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Qualitative Data API
  description: The **Qualitative Data APIs**, a RESTful service on the 73 Strings platform, provide structured access to narrative-driven company insights, enabling retrieval of qualitative analysis data such as strategic commentary, business model descriptions, and expert assessments. These APIs are designed to support workflows across investment teams by offering consistent and versioned access to qualitative inputs captured at various reporting stages across multiple funds and organizations.
  contact:
    name: ''
    email: support@73strings.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
- url: https://api-accord-eut-73strings.azure-api.net/qualitative-data
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Qualitative Data
  description: The **Qualitative Data APIs**, a RESTful service on the 73 Strings platform, provide structured access to narrative-driven company insights, enabling retrieval of qualitative analysis data such as strategic commentary, business model descriptions, and expert assessments. These APIs are designed to support workflows across investment teams by offering consistent and versioned access to qualitative inputs captured at various reporting stages across multiple funds and organizations.
paths:
  /api/v1/ems/customAttributeData:
    post:
      operationId: getCustomAttributeDetails
      summary: Get Custom Attribute Data
      tags:
      - Qualitative Data
      description: 'This API is designed to retrieve custom attribute data for multiple entities requested by the company. When the request payload includes a list of entities, the API identifies each one and returns the custom attributes associated with it.


        Custom attributes are additionally created custom fields to capture specific details unique to an entity. Since these attributes can vary across different entities, the API ensures that the response provides the correct attribute values mapped to each entity individually.


        In essence, this API acts as a reliable way to fetch all entity-specific custom attribute details in one call, helping business systems maintain consistency, accuracy, and efficiency when handling entity-level data.'
      parameters:
      - name: subscription-key
        in: header
        required: true
        description: A unique key that grants secure access to an API, enabling authentication, usage tracking, and controlled permissions.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request_CustomAttributes'
            examples:
              default:
                value:
                  userId: 456fa8cd-xxxx-xxxx-xxxx-850b67f2efd4
                  orgId: cfcbb891-xxxx-xxxx-xxxx-57142094123c
                  entityIds:
                  - 0caf8dc0-xxxx-xxxx-xxxx-b43a2621fcba
                  - 64f1db13-xxxx-xxxx-xxxx-a963cec04899
                  attributeIds:
                  - 3286287b-xxxx-xxxx-xxxx-ab4409f445f5
                  - b57a75f7-xxxx-xxxx-xxxx-407d49868e5a
        description: The request payload is the package of information sent to an API so it knows what action to take or what data to provide.
      responses:
        '200':
          description: The request was successful and the requested data has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Response_CustomAttributes'
              examples:
                Success Example:
                  description: Sample response for 200 OK Success.
                  value:
                    response:
                      orgId: cfcbb891-xxxx-xxxx-xxxx-57142094123c
                      data:
                      - entityId: 0caf8dc0-xxxx-xxxx-xxxx-b43a2621fcba
                        dataApiAttributesInfos:
                        - attributeId: b57a75f7-xxxx-xxxx-xxxx-407d49868e5a
                          attributeName: Business Sponsor
                          tag: Income Statement
                          attributeType: TEXT
                          description: null
                          global: 'false'
                          value: GHO-SI-ESG
                    success: true
                    message: Success
                    errorCode: null
        '207':
          description: The request was partially successful and valid request data has been returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Response_CustomAttributes'
              examples:
                Success Example:
                  description: Sample response for 207 Multi Status Success.
                  value:
                    response:
                      orgId: cfcbb891-xxxx-xxxx-xxxx-57142094123c
                      data:
                      - entityId: 0caf8dc0-xxxx-xxxx-xxxx-b43a2621fcba
                        dataApiAttributesInfos:
                        - attributeId: b57a75f7-xxxx-xxxx-xxxx-407d49868e5a
                          attributeName: Business Sponsor
                          tag: Income Statement
                          attributeType: TEXT
                          description: null
                          global: 'false'
                          value: GHO-SI-ESG
                      errors:
                      - success: false
                        message: 'Invalid entity ids: [64f1db13-xxxx-xxxx-xxxx-a963cec04899]'
                        responseCode: BAD_REQUEST
                    success: true
                    message: Success
                    errorCode: null
        '400':
          description: The request is malformed or missing required parameters.
          content:
            application/json:
              examples:
                Bad Request Example:
                  description: Sample response for 400 Bad Request.
                  value:
                    response: []
                    success: false
                    message: Invalid input, please try again
                    errorCode: EXCE00028
        '401':
          description: The subscription key is missing or invalid.
          content:
            application/json:
              examples:
                Invalid Subscription Key Example:
                  description: Sample response for 401 Unauthorized.
                  value:
                    response: []
                    success: false
                    message: Access denied due to invalid subscription key. Please provide a valid key with active subscription.
                    errorCode: EXCE00028
        '500':
          description: An unexpected error occurred on the server (Internal Server Error).
          content:
            application/json:
              examples:
                Internal Server Error Example:
                  description: Sample response for 500 Internal Server Error
                  value:
                    response: []
                    success: false
                    message: Internal server error. Please try again later or contact support.
                    errorCode: EXCE00028
  /api/v1/ems/getEntityGeneralDetails:
    post:
      operationId: getGeneralDetails
      summary: Get Entity General Details
      tags:
      - Qualitative Data
      description: 'The 73Value Equity offers robust tools for managing private equity funds, allowing users to create multiple funds and add companies across these funds for the valuation of both funds and companies. The **getGeneralDetails API** retrieves detailed information about various companies'', which are part of funds the user can access.


        This API fetches essential information such as the company''s name, industry, headquarters location, and other general details. It ensures that users have quick and easy access to fundamental company information within the funds they manage or have access to.


        This API is particularly useful for fund managers, analysts, and investors who need to gather basic company information efficiently. By leveraging the capabilities of the 73Value Equity product, users can streamline their access to important company details, enhancing their ability to manage and analyze their investments.'
      parameters:
      - name: subscription-key
        in: header
        required: true
        description: A unique key that allows you to access and use an API
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyIdsRequest'
            examples:
              default:
                value:
                  company_ids:
                  - b92ce0c7-63f6-4177-b59a-6c9fb54970e7
                  - 3a13cbae-1513-49af-956d-150e0b4efe16
                  - 37eb09f6-52ca-434d-b2fd-42df54b1024d
                  user_id: 4d32666b-5fa9-489f-93b1-1f5036bd2a41
        description: Request body containing user ID and company IDs
      responses:
        '200':
          description: Successfully retrieved general details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyDataResponse'
              examples:
                Success Example:
                  description: Success Example
                  value:
                    response:
                      data:
                      - id: 06305e61-fb17-4e05-xxx2-431414d986e0
                        orgId: 2746c10b-70cb-xxx5aa-b320-23d2768614e7
                        companyId: b92ce0c7-63f6-xxx77-b59a-6c9fb54970e7
                        businessUnitId: null
                        accountId: null
                        description: 'Hi i am mohit garg please test with me this and check horizantal '
                        industry: Interactive Media & Services, Interactive Media & Services, Media & Entertainment, Communication Services
                        geography: ''
                        geographicalExposure: null
                        headCount: 0
                        strategyNotes: null
                        fiscalYearEnd: MAY
                        currency: USD
                        investmentRational: null
                        funds: null
                        gdMultiValueData: null
                        gdCompanyMultiValueData: null
                        spvs: null
                        investmentDate: '2025-05-21T12:00:00Z'
                        units: Millions
                        uniqueKey: MohitGarg123456789
                        webSite: ''
                        clientSector: null
                        companyType: NA
                        investmentType: NA
                        shortDescription: ''
                        legalEntityName: ''
                        restrictedList: 'No'
                        informationRights: 'Yes'
                        fundsList: []
                        spvsList: []
                        multiValueVerticalData: []
                        multiValueAgentData: []
                        multiValueSponsorData: []
                        multiValueESGRatingData: []
                        domainsList: []
                        productsList: []
                        addressList: []
                        acquisionsList: []
                        competitorsList: []
                        clientSectorList: []
                        securityList: []
                        segmentList: []
                      - id: be078aa8-75e7-407c-xxxa-3a6585b26361
                        orgId: 2746c10b-70cb-xxx5aa-b320-23d2768614e7
                        companyId: 3a13cbae-1513-xxxaf-956d-150e0b4efe16
                        businessUnitId: null
                        accountId: null
                        description: ''
                        industry: ''
                        geography: ''
                        geographicalExposure: null
                        headCount: 0
                        strategyNotes: null
                        fiscalYearEnd: null
                        currency: ''
                        investmentRational: null
                        funds: null
                        gdMultiValueData: null
                        gdCompanyMultiValueData: null
                        spvs: null
                        investmentDate: null
                        units: null
                        uniqueKey: null
                        webSite: ''
                        clientSector: null
                        companyType: null
                        investmentType: null
                        shortDescription: null
                        legalEntityName: null
                        restrictedList: null
                        informationRights: null
                        fundsList: []
                        spvsList: []
                        multiValueVerticalData: []
                        multiValueAgentData: []
                        multiValueSponsorData: []
                        multiValueESGRatingData: []
                        domainsList: []
                        productsList: []
                        addressList: []
                        acquisionsList: []
                        competitorsList: []
                        clientSectorList: []
                        securityList: []
                        segmentList: []
                      - id: 6c0a3ada-e71f-42c1-xxxd-e99baa0d3f18
                        orgId: 2746c10b-70cb-xxx5aa-b320-23d2768614e7
                        companyId: 37eb09f6-52ca-xxx4d-b2fd-42df54b1024d
                        businessUnitId: null
                        accountId: null
                        description: ''
                        industry: ''
                        geography: ''
                        geographicalExposure: null
                        headCount: 0
                        strategyNotes: null
                        fiscalYearEnd: null
                        currency: ''
                        investmentRational: null
                        funds: null
                        gdMultiValueData: null
                        gdCompanyMultiValueData: null
                        spvs: null
                        investmentDate: null
                        units: null
                        uniqueKey: null
                        webSite: ''
                        clientSector: null
                        companyType: null
                        investmentType: null
                        shortDescription: null
                        legalEntityName: null
                        restrictedList: null
                        informationRights: null
                        fundsList: []
                        spvsList: []
                        multiValueVerticalData: []
                        multiValueAgentData: []
                        multiValueSponsorData: []
                        multiValueESGRatingData: []
                        domainsList: []
                        productsList: []
                        addressList: []
                        acquisionsList: []
                        competitorsList: []
                        clientSectorList: []
                        securityList: []
                        segmentList: []
                No Data Example:
                  description: No Data Example
                  value:
                    response: []
                    success: false
                    message: Data not found.
                    errorCode: EXCE00021
        '202':
          description: Request accepted for processing, but not yet completed.
          content:
            application/json:
              examples:
                Accepted Example:
                  description: Accepted Example
                  value:
                    response: []
                    success: true
                    message: Request accepted and is being processed.
                    errorCode: null
        '400':
          description: Invalid input, missing parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              examples:
                Bad Request Example:
                  description: Bad Request Example
                  value:
                    response: []
                    success: false
                    message: Invalid request parameters.
                    errorCode: EXCE00028
                Required Fields Can't Be Null Or Empty Example:
                  description: Required Fields Can't Be Null Or Empty Example
                  value:
                    response: []
                    success: false
                    message: Fields cannot be null or empty..
                    errorCode: EXCE00020
        '401':
          description: Invalid or missing Subscription key.
          content:
            application/json:
              examples:
                Invalid Subscription key Example:
                  description: Invalid Subscription key Example
                  value:
                    statusCode: 401
                    message: Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              examples:
                Resource not found Example:
                  description: Resource not found Example
                  value:
                    statusCode: 404
                    message: Resource not found
        '405':
          description: 'Request with incorrect HTTPS method. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              examples:
                Method not allowed Example:
                  description: Method not allowed Example
                  value:
                    statusCode: 405
                    message: Method Not Allowed. Please use the correct HTTP method.
        '429':
          description: Too many requests sent in a short period. The client is being rate limited.
          content:
            application/json:
              examples:
                Too Many Request Example.:
                  description: Too Many Request Example.
                  value:
                    statusCode: 429
                    message: Too Many Requests. Please slow down and try again later.
        '500':
          description: Internal server error.
          content:
            application/json:
              examples:
                Invalid Subscription key Example:
                  description: Invalid Subscription key Example
                  value:
                    statusCode: 500
                    message: Internal server error. Please try again later or contact support.
  /api/v1/ems/getEntityQualitativeAnalysisData:
    post:
      operationId: getQualitativeAnalysisData
      summary: Get Entity Qualitative Analysis Data
      tags:
      - Qualitative Data
      description: "The 73 Monitor allows users to add qualitative comments or insights about the company. The **get73MQualitativeAnalysis API** retrieves qualitative insights or commentary related to a specific company within a particular fund, the user can access to. The Qualitative Analysis section allows fund managers or analysts, to input their observations, insights, or detailed commentary about a company's performance, strategy, or other relevant factors. These inputs are typically structured as pairs of titles and comments, providing a clear and organized way to document and review qualitative data.\n\n By leveraging the capabilities of the 73Value Equity product, users can streamline their access to important company details, enhancing their ability to manage and analyze their investments."
      parameters:
      - name: subscription-key
        in: header
        required: true
        description: A unique key that allows you to access and use an API
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityQualitativeAnalysisDataReqDTO'
            examples:
              default:
                value:
                  userId: 4d32666b-5fa9-xxx89f-93b1-1f5036bd2a41
                  companyId:
                  - 189d620b-8551-xxx64-b595-b5eb50411d2a
                  tags:
                  - Employee Benefit5
                  orgId: 2746c10b-70cb-xxx45aa-b320-23d2768614e7
                  startDate: ''
                  endDate: ''
                  asOfDate: ''
        description: Request body containing transaction details for qualitative analysis
      responses:
        '200':
          description: Successfully retrieved qualitative analysis data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitativeAnalysisDataResDTO'
              examples:
                Success Example:
                  description: Success Example
                  value:
                    response:
                      data:
                      - createdBy: System
                        createdDate: '2025-04-14T12:05:40Z'
                        lastModifiedBy: System
                        lastModifiedDate: '2025-04-14T12:07:36Z'
                        tenantOrgId: 2746c10b-70cb-xxx45aa-b320-23d2768614e7
                        createdByUserId: c9676cc5-54ab-xxx79-984b-29b01b86ca0b
                        createdByUserName: Rahul Vanga
                        lastUpdatedByUserId: c9676cc5-54ab-xxx79-984b-29b01b86ca0b
                        lastUpdatedByUserName: Rahul Vanga
                        createdBySelectedUserId: 4d32666b-5fa9-xxx9f-93b1-1f5036bd2a41
                        createdBySelectedUserName: Admin
                        lastUpdatedBySelectedUserId: 4d32666b-5fa9-xxx9f-93b1-1f5036bd2a41
                        lastUpdatedBySelectedUserName: Admin
                        auditSourceModule: null
                        id: ruowNJYBP7vcBDXZ3yPQ
                        orgId: 2746c10b-70cb-xxx45aa-b320-23d2768614e7
                        companyId: 189d620b-8551-xxx64-b595-b5eb50411d2a
                        tag: Employee Benefit5
                        title: navi
                        articleDate: '2021-03-31T12:00:00Z'
                        description: navi
                        imageUrl: []
                        sourceUrl: null
                        displayUrl: []
                        uploadedImage: false
                        articleDateString: '2021-03-31'
                    success: true
                    message: Success
                    errorCode: null
                No Data Example:
                  description: No Data Example
                  value:
                    response: []
                    success: false
                    message: Data not found.
                    errorCode: EXCE00021
        '202':
          description: Request accepted for processing, but not yet completed.
          content:
            application/json:
              examples:
                Accepted Example:
                  description: Accepted Example
                  value:
                    response: []
                    success: true
                    message: Request accepted and is being processed.
                    errorCode: null
        '400':
          description: Invalid input, missing parameters.
          content:
            application/json:
              examples:
                Bad Request Example:
                  description: Bad Request Example
                  value:
                    response: []
                    success: false
                    message: Invalid request parameters.
                    errorCode: EXCE00028
                Required Fields Can't Be Null Or Empty Example:
                  description: Required Fields Can't Be Null Or Empty Example
                  value:
                    response: []
                    success: false
                    message: Fields cannot be null or empty..
                    errorCode: EXCE00020
        '401':
          description: Invalid or missing Subscription key.
          content:
            application/json:
              examples:
                Invalid Subscription key Example:
                  description: Invalid Subscription key Example
                  value:
                    statusCode: 401
                    message: Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.
        '405':
          description: 'Request with incorrect HTTPS method. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              examples:
                Method not allowed Example:
                  description: Method not allowed Example
                  value:
                    statusCode: 405
                    message: Method Not Allowed. Please use the correct HTTP method.
        '429':
          description: Too many requests sent in a short period. The client is being rate limited.
          content:
            application/json:
              examples:
                Too Many Request Example.:
                  description: Too Many Request Example.
                  value:
                    statusCode: 429
                    message: Too Many Requests. Please slow down and try again later.
        '500':
          description: Internal server error.
          content:
            application/json:
              examples:
                Internal Server Error Example:
                  description: Internal Server Error Example
                  value:
                    statusCode: 500
                    message: Internal server error. Please try again later or contact support.
components:
  schemas:
    CompanyDataResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyData'
          description: Array/List containing details of each company.
    CompanyIdsRequest:
      required:
      - companyIds
      - userId
      type: object
      properties:
        companyIds:
          type: array
          items:
            type: string
            description: 'array/list of company_id


              company_id → unique identifier of a company'
            example: '["n2n3jndi12-hxj2-h3un2j-mnxj823njw","nek3oec5njk3nk-nc34ni-nj49u48f- hcjcc904nf3","e4nikv4im4654n3k-nj959nrf4-nf4j44-nfjnrji93"]'
          description: 'array/list of company_id


            company_id → unique identifier of a company'
          example:
          - n2n3jndi12-hxj2-h3un2j-mnxj823njw
          - nek3oec5njk3nk-nc34ni-nj49u48f- hcjcc904nf3
          - e4nikv4im4654n3k-nj959nrf4-nf4j44-nfjnrji93
        userId:
          type: string
          description: Unique Identifier of a user.
          example: 420a8114-n32mxxxbe-948hn75-8d90-2c372e4230b3
    QualitativeAnalysisDataResDTO:
      type: object
      properties:
        response:
          $ref: '#/components/schemas/Response'
        success:
          type: boolean
          description: Indicates success or failure
        message:
          type: string
          description: Response message
        errorCode:
          type: string
          description: Error code if any
    EntityQualitativeAnalysisDataReqDTO:
      required:
      - companyId
      - orgId
      - userId
      type: object
      properties:
        userId:
          type: string
          description: User identifier
          format: uuid
          example: 4d32666b-5fa9-489f-93b1-1f5036bd2a41
        companyId:
          type: array
          items:
            type: string
            description: List of company identifiers
            format: uuid
          description: List of company identifiers
          example:
          - 189d620b-8551-4644-b595-b5eb50411d2a
        tags:
          type: array
          items:
            type: string
            description: List of tags to filter
            example: '["Employee Benefit5"]'
          description: List of tags to filter
          example:
          - Employee Benefit5
        orgId:
          type: string
          description: Organization identifier
          format: uuid
          example: 2746c10b-70cb-45aa-b320-23d2768614e7
        startDate:
          type:
          - string
          - 'null'
          description: Start date in ISO format (yyyy-MM-dd)
          example: '2023-01-01'
        endDate:
          type:
          - string
          - 'null'
          description: End date in ISO format (yyyy-MM-dd)
          example: '2023-12-31'
        asOfDate:
          type:
          - string
          - 'null'
          description: As of date in ISO format (yyyy-MM-dd)
          example: '2023-06-30'
      description: Request DTO for filtering data by user, company, tags, organization and dates
    CompanyData:
      type: object
      properties:
        description:
          type: string
          description: A detailed information on the company, mentioning its activities, products, operations and such.
          example: Puma SE, based in Herzogenaurach, Germany, is a well-known sportswear and athletic footwear brand. Founded in 1948, Puma is recognized for its iconic cat logo and innovative sports and lifestyle products.
        funds:
          type: string
          description: Lists the names of the funds in which the company is a participant.
          example: AA Excel Test Fund
        spv:
          type: string
          description: Lists the Special Purpose Vehicles (SPVs) associated with the company.
          example: SPV Test
        investmentDate:
          type: string
          description: Provides the dates on which initial investments were made in the company across various funds.
          example: 30-06-2024
        clientSector:
          type: string
          description: Specifies the sectors to which the company belongs, reflecting its primary areas of operation.
          example: Clothing
        industry:
          type: string
          description: Indicates the industries in which the company conducts its business activities.
          example: Apparel Retail, Specialty Retail, Retailing, Consumer Discretionary
        geography:
          type: string
          description: Primary geographical region where the company operates or has its HQ.
          example: DEU-Germany
        currency:
          type: string
          description: The currency in which the company’s valuation is calculated and reported.
          example: EUR
        fiscalYearEnd:
          type: string
          description: The month in which the company’s financial year concludes.
          example: DECEMBER
        website:
          type: string
          description: The official website URL of the company.
          example: https://us.puma.com/
        units:
          type: string
          description: The currency units used to display the company’s valuation figures.
          example: Millions
        headcount:
          type: integer
          description: The total number of employees working in the company’s organization.
          format: int32
          example: 172107
        companyType:
          type: string
          description: Indicates the kind of company holding.
          example: PUBLIC
        investmentStatus:
          type: string
          description: Investment status of the company inside various funds.
          example: CURRENT
        shortDescription:
          type: string
          description: A brief overview or summary of the company, highlighting its key activities and purpose.
          example: 'Puma: Puma, based in Herzogenaurach, Germany, is a prominent sportswear and athletic footwear brand recognized for its iconic cat logo and a 

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/73-strings/refs/heads/main/openapi/73-strings-qualitative-data-api-openapi.yml