---
title: "Get an Ideal Customer Profile"
method: GET
path: "/copilot/v1/ideal-company-profile/{segmentId}"
tags: ["Ideal Customer Profile"]
---

# Get an Ideal Customer Profile

`GET /copilot/v1/ideal-company-profile/{segmentId}`

## Request

- Base URL: `https://api.zoominfo.com/gtm`
- URL: `https://api.zoominfo.com/gtm/copilot/v1/ideal-company-profile/{segmentId}`
- Auth: OAuth 2
  - Authorization code: `https://login.zoominfo.com`
  - Token URL: `https://okta-login.zoominfo.com/oauth2/default/v1/token` scopes: `api:gtm-config:read`

Retrieves a single Ideal Customer Profile by its unique identifier.

An Ideal Customer Profile defines the profile of organizations that best match a company's target market.
Segments typically describe companies using firmographic attributes such as industry, company size, revenue range, geography, and other qualification criteria.
Segments may also include seed companies or structured search filters used for account matching.
If the specified segmentId does not exist, the endpoint returns **404 Not Found**.

If you do not know the ID of the record you need, call
[List Ideal Customer Profiles](ref:customeridealcompanysegmentinterface_listidealcompanysegments) to browse the full set.

Common use cases
- Retrieve the full configuration of a specific ICP segment
- Load segment details before updating the record
- Use ICP definitions in integrations or automation workflows

## Path parameters

- `segmentId` string, uuid, required

## Response `200`

Success

- IdealCompanySegmentModel: API model for a single Ideal Customer Profile.
  - `data` IdealCompanySegment, required: Ideal Customer Profile resource.
    - `id` string, required: The unique identifier for the resource
    - `type` string, required: The type of the resource
    - `attributes` IdealCompanySegmentAttributes, required: Attributes that define an ideal company segment/Ideal Customer Profile. Ideal company segments/Ideal Customer Profile describe the types of companies a customer wants to target. This typically contains industry, company size, revenue range, geography, etc.
      - `name` string: Name of the Ideal Customer Profile (e.g., 'Enterprise SaaS', 'Mid-Market Financial Services'). Required when creating a new record. When provided (for create or update), must be between 1 and 1024 characters.
      - `description` string: Description of the profile. Typically includes industry, company size, revenue range, geography, etc. Maximum 10,000 characters.
      - `source` 'manual' | 'import' | 'system' | 'mcp': Source type indicating how a GTM configuration record was created or last modified. Used across all customer-level entities for audit provenance tracking. When source is explicitly set in a request, the corresponding created_by/updated_by must also be provided. Defaults to 'manual' when not specified.
      - `customFields` CustomFieldItem[]: Flexible key-value store for customer-specific custom fields and extended metadata. The backend validates schema and value types. Use this to capture additional profile criteria beyond the standard fields.
        - `title` string, required: The display title of the custom field.
        - `description` string: An optional description of the field. Defaults to an empty string in the backend.
        - `value` string, required: The string value associated with this custom field.
    - `meta` GtmConfigAuditFields: Common audit fields present on all customer-level GTM configuration entities. These fields track the full lifecycle of a record including creation, modification, archival (temporary hiding), and soft deletion (permanent hiding for compliance). A record can be active, deleted only, or both.
      - `createdAt` string, date-time: ISO 8601 timestamp when the record was originally created. Auto-populated by backend.
      - `updatedAt` string, date-time: ISO 8601 timestamp of the most recent modification to the record. Auto-populated by backend.
      - `createdBy` string: User ID of the person who created the record. Extracted from the JWT token on creation.
      - `updatedBy` string: User ID of the person who last modified the record. Extracted from the JWT token on update.
      - `archivedAt` string, date-time: ISO 8601 timestamp when the record was archived. Archived records are identified by archivedAt and archivedBy
      - `archivedBy` string: User ID of the person who archived the record

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/zoominfo/apis/copilot-api-v1.md) - [All operations](https://skmtc.dev/zoominfo/apis/copilot-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/zoominfo/apis/copilot-api-v1/revisions/f737ab239c2a?raw)
