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

# Columns

> Discover supported contact fields, default projections, and filter-picker values.

## Credits and plans

PAYG is Pay-as-you-go. AYCE is All-you-can-eat.

| Usage | PAYG | AYCE |
| - | - | - |
| Column catalog and embedded values | **Free**<br />0 credits | **Free**<br />0 credits |

## When to use Columns

Discover supported fields before writing a filter or choosing output columns. This catalog covers person, job, and company fields available on contact records. Use [Company Columns](/api-reference/company-columns) for company-only requests.

## Example

Set `REVENUEBASE_API_KEY` to your API key.

```bash
curl --request GET 'https://api.revenuebase.ai/v2/contact/columns?include=values' \
  --header "X-Key: $REVENUEBASE_API_KEY"
```

Response excerpt captured from the local test API on October 13, 2026. One catalog entry is shown; the actual response includes the other fields.

```json
{
  "columns": [
    {
      "columnName": "JOB_LEVEL_PER",
      "humanName": "Job Level",
      "sourceType": "LowCardinality(Nullable(String))",
      "multiselect": true,
      "valueLimit": 50,
      "distinctValues": [
        "C-Team",
        "Director",
        "Manager",
        "Other",
        "Staff",
        "VP"
      ],
      "distinctValuesTruncated": false
    }
  ],
  "previewDefaultLimit": 1000,
  "previewMaxLimit": 50000,
  "exportMaxRows": 1000000,
  "valuesIncluded": true
}
```

## Read the catalog

| Field | Meaning |
| - | - |
| `columns` | Field metadata, including columnName, humanName, sourceType, and filter behavior. |
| `defaultColumns` | Default contact Preview projection. Set columns explicitly when you need a specific response. |
| `multiselectColumns` | Enumerable fields suitable for a filter picker. |
| `valueLimit` | Vocabulary cap on an enumerable field. |
| `distinctValues` | Embedded options for a picker field when include=values is requested. |
| `distinctValuesTruncated` | True if the embedded vocabulary is incomplete. |
| `previewDefaultLimit`, `previewMaxLimit`, `exportMaxRows` | Current retrieval defaults and caps. |
| `valuesIncluded` | True when embedded vocabularies were requested. |

The example is an excerpt; the actual catalog contains additional fields. sourceType describes the source field type. snowflakeType is a legacy alias of the same value.

## Fetch picker values in one request

Without include=values, the request returns field metadata. Add include=values to warm all available filter pickers in one call instead of making a separate request for every field. Cache the catalog in your application and refresh it periodically. X-Cache reports a cache hit or miss when present.

Open-ended text, such as job titles and company names, is searched rather than enumerated. For one bounded vocabulary, use [Column Values](/api-reference/column-values).

## Limits and next steps

Contact and company routes share the [default 10 requests per second per user](/api-reference/v2/rate-limits). Wait for the reset time or Retry-After when rate limited; coordinate requests across your workers and API keys.

Build a [search filter](/api-reference/v2/search-filters) from the returned fields, then [Count](/api-reference/count) the audience.


## OpenAPI

````yaml /api-reference/v2/contact-openapi.json get /columns
openapi: 3.1.0
info:
  title: RevenueBase Velocity API
  version: 0.1.0
servers:
  - url: https://api.revenuebase.ai/v2/contact
    description: Production
security: []
paths:
  /columns:
    get:
      summary: Get Columns
      description: >-
        The column catalog. ``?include=values`` embeds multiselect vocabularies.


        The bulk form exists so a client can warm every filter picker in one
        request

        instead of one request per column (issue #39): ~35 calls into a per-key
        rate

        budget was 429ing the count/insights requests users were waiting on.
      operationId: get_columns_v1_columns_get
      parameters:
        - name: include
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Include
          description: >-
            Set values to embed available picker vocabularies in one catalog
            request.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Columns V1 Columns Get
              example:
                columns:
                  - columnName: JOB_LEVEL_PER
                    humanName: Job Level
                    sourceType: LowCardinality(Nullable(String))
                    multiselect: true
                    valueLimit: 50
                    distinctValues:
                      - C-Team
                      - Director
                      - Manager
                      - Other
                      - Staff
                      - VP
                    distinctValuesTruncated: false
                previewDefaultLimit: 1000
                previewMaxLimit: 50000
                exportMaxRows: 1000000
                valuesIncluded: true
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Key

````

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