---
title: "Listar campos personalizados"
method: GET
path: "/custom_fields"
tags: ["crm-v2-custom-fields"]
---

# Listar campos personalizados

`GET /custom_fields`

## Request

- Base URL: `https://api.rd.services/crm/v2`
- URL: `https://api.rd.services/crm/v2/custom_fields`
- Auth: OAuth 2
  - Authorization code: `/oauth/authorize`
  - Token URL: `/oauth/token`

Listar campos personalizados da conta, permitindo filtrar por entidade (negociação, contato, etc.) para entender a estrutura de dados de cada recurso.

## Filtro

Propriedades disponíveis para filtro usando [RDQL](crm-v2-rdql-filtering).

| Propriedade | Tipo | Descrição |
| :--- | :--- | :--- |
| `entity` | `String` | Permite filtrar campos personalizados de uma entidade. Opções: `organization`, `deal`, `contact`, `product`. |
| `slug` | `String` | Permite filtrar campos personalizados pelo `slug`. |
| `is:required` | `Boolean` | Filtra por campos personalizados que são obrigatórios. |
| `is:visible` | `Boolean` | Filtra por campos personalizados que são visíveis. |

## Ordenação

Propriedades disponíveis para [ordenação](crm-v2-introduction#ordenação).

* `slug`
* `order`

## Query parameters

- `filter` string
- `sort` object
- `page` object
  - `number` integer: Número da página.
  - `size` integer: Tamanho da página.

## Response `200`

OK

- object
  - `data` union[]: Lista de recursos relacionados.
    - union: Dados do recurso relacionado.
      - object
        - `id` string: Identificador único.
        - `name` string: Nome do campo personalizado.
        - `slug` string: Identificador único em texto do campo personalizado.
        - `entity` 'deal': Entidade à qual o campo é aplicado.
        - `type` 'text' | 'date' | 'option' | 'multiple_choice' | 'number' | 'hyperlink': Tipo do campo personalizado.
        - `options` string[]: Opções do campo personalizado, aplicável para tipos como `option` e `multiple_choice`.
        - `unique` boolean: Unicidade do campo personalizado.
        - `allow_new_option` boolean: Permitir novas opções para campos do tipo `option` e `multiple_choice`.
        - `order` integer: Ordem do campo personalizado.
        - `required_rules` CustomFieldRequiredRule[]: Regras que definem quando o campo é obrigatório.
          - `property` string: Propriedade da regra de obrigatoriedade. Exemplo: `deal_stage_id`.
          - `value` string: ID da propriedade da regra de obrigatoriedade.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `display_rules` CustomFieldDisplayRule[]: Regras que definem quando o campo é exibido.
          - `property` string: Propriedade da regra de exibição. Exemplo: `deal_pipeline_id`.
          - `value` string: ID da propriedade da regra de exibição.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `editable_on_deal` boolean: Se o valor pode ser editado na negociação (apenas produto).
        - `calculation_action` 'none' | 'add' | 'subtract': Ação de cálculo no total da linha (apenas monetary/percentage em produto).
        - `application_scope` 'all' | 'selected': Escopo de aplicação do campo (`all` ou `selected`). Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `all`.
        - `product_ids` string[]: IDs dos produtos aos quais o campo se aplica quando `application_scope` é `selected`. Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `[]`.
        - `created_at` string, date-time: Data de criação do campo personalizado.
        - `updated_at` string, date-time: Data de atualização do campo personalizado.
      - object
        - `id` string: Identificador único.
        - `name` string: Nome do campo personalizado.
        - `slug` string: Identificador único em texto do campo personalizado.
        - `entity` 'contact': Entidade à qual o campo é aplicado.
        - `type` 'text' | 'date' | 'option' | 'multiple_choice' | 'cpf' | 'number': Tipo do campo personalizado.
        - `options` string[]: Opções do campo personalizado, aplicável para tipos como `option` e `multiple_choice`.
        - `unique` boolean: Unicidade do campo personalizado.
        - `allow_new_option` boolean: Permitir novas opções para campos do tipo `option` e `multiple_choice`.
        - `order` integer: Ordem do campo personalizado.
        - `required_rules` CustomFieldRequiredRule[]: Regras que definem quando o campo é obrigatório.
          - `property` string: Propriedade da regra de obrigatoriedade. Exemplo: `deal_stage_id`.
          - `value` string: ID da propriedade da regra de obrigatoriedade.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `display_rules` CustomFieldDisplayRule[]: Regras que definem quando o campo é exibido.
          - `property` string: Propriedade da regra de exibição. Exemplo: `deal_pipeline_id`.
          - `value` string: ID da propriedade da regra de exibição.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `editable_on_deal` boolean: Se o valor pode ser editado na negociação (apenas produto).
        - `calculation_action` 'none' | 'add' | 'subtract': Ação de cálculo no total da linha (apenas monetary/percentage em produto).
        - `application_scope` 'all' | 'selected': Escopo de aplicação do campo (`all` ou `selected`). Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `all`.
        - `product_ids` string[]: IDs dos produtos aos quais o campo se aplica quando `application_scope` é `selected`. Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `[]`.
        - `created_at` string, date-time: Data de criação do campo personalizado.
        - `updated_at` string, date-time: Data de atualização do campo personalizado.
      - object
        - `id` string: Identificador único.
        - `name` string: Nome do campo personalizado.
        - `slug` string: Identificador único em texto do campo personalizado.
        - `entity` 'organization': Entidade à qual o campo é aplicado.
        - `type` 'text' | 'date' | 'option' | 'multiple_choice' | 'cnpj' | 'number' | 'hyperlink': Tipo do campo personalizado.
        - `options` string[]: Opções do campo personalizado, aplicável para tipos como `option` e `multiple_choice`.
        - `unique` boolean: Unicidade do campo personalizado.
        - `allow_new_option` boolean: Permitir novas opções para campos do tipo `option` e `multiple_choice`.
        - `order` integer: Ordem do campo personalizado.
        - `required_rules` CustomFieldRequiredRule[]: Regras que definem quando o campo é obrigatório.
          - `property` string: Propriedade da regra de obrigatoriedade. Exemplo: `deal_stage_id`.
          - `value` string: ID da propriedade da regra de obrigatoriedade.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `display_rules` CustomFieldDisplayRule[]: Regras que definem quando o campo é exibido.
          - `property` string: Propriedade da regra de exibição. Exemplo: `deal_pipeline_id`.
          - `value` string: ID da propriedade da regra de exibição.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `editable_on_deal` boolean: Se o valor pode ser editado na negociação (apenas produto).
        - `calculation_action` 'none' | 'add' | 'subtract': Ação de cálculo no total da linha (apenas monetary/percentage em produto).
        - `application_scope` 'all' | 'selected': Escopo de aplicação do campo (`all` ou `selected`). Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `all`.
        - `product_ids` string[]: IDs dos produtos aos quais o campo se aplica quando `application_scope` é `selected`. Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `[]`.
        - `created_at` string, date-time: Data de criação do campo personalizado.
        - `updated_at` string, date-time: Data de atualização do campo personalizado.
      - object
        - `id` string: Identificador único.
        - `name` string: Nome do campo personalizado.
        - `slug` string: Identificador único em texto do campo personalizado.
        - `entity` 'product': Entidade à qual o campo é aplicado.
        - `type` 'text' | 'date' | 'option' | 'multiple_choice' | 'hyperlink' | 'number' | 'monetary' | 'percentage': Tipo do campo personalizado.
        - `options` string[]: Opções do campo personalizado, aplicável para tipos como `option` e `multiple_choice`.
        - `unique` boolean: Unicidade do campo personalizado.
        - `allow_new_option` boolean: Permitir novas opções para campos do tipo `option` e `multiple_choice`.
        - `order` integer: Ordem do campo personalizado.
        - `required_rules` CustomFieldRequiredRule[]: Regras que definem quando o campo é obrigatório.
          - `property` string: Propriedade da regra de obrigatoriedade. Exemplo: `deal_stage_id`.
          - `value` string: ID da propriedade da regra de obrigatoriedade.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `display_rules` CustomFieldDisplayRule[]: Regras que definem quando o campo é exibido.
          - `property` string: Propriedade da regra de exibição. Exemplo: `deal_pipeline_id`.
          - `value` string: ID da propriedade da regra de exibição.
          - `always` boolean: Se verdadeiro, a regra sempre se aplica.
        - `editable_on_deal` boolean: Se o valor pode ser editado na negociação (apenas produto).
        - `calculation_action` 'none' | 'add' | 'subtract': Ação de cálculo no total da linha (apenas monetary/percentage em produto).
        - `application_scope` 'all' | 'selected': Escopo de aplicação do campo (`all` ou `selected`). Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `all`.
        - `product_ids` string[]: IDs dos produtos aos quais o campo se aplica quando `application_scope` é `selected`. Relevante apenas quando `entity` é `product`; para as demais entidades é sempre `[]`.
        - `created_at` string, date-time: Data de criação do campo personalizado.
        - `updated_at` string, date-time: Data de atualização do campo personalizado.
  - `links` object: Links de navegação da paginação.
    - `first` string, uri: Link para a primeira página.
    - `prev` string, uri: Link para a página anterior.
    - `self` string, uri: Link para a página atual.
    - `next` string, uri: Link para a próxima página.
    - `last` string, uri: Link para a última página.

## Other responses

- `400`: A requisição está malformada e não consegue ser processada.
- `401`: O token da API está ausente ou inválido.
- `403`: O token não tem permissão para acessar o recurso solicitado.
- `429`: O limite de requisições foi excedido.
- `500`: Erro interno ou inesperado no servidor.

---

[API](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2.md) - [All operations](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2/revisions/10d0a25b8c54?raw)
