---
title: Retrieving Custom Fields via Ashby’s user.info API endpoint
slug: retrieving-custom-fields-via-ashbys-userinfo-api-endpoint
createdAt: 2026-09-11T08:15:24.958Z
---

Retrieving custom fields allows you to pull updated People Ops custom fields on demand, supplement webhook payloads, and power downstream systems that depend on Ashby as a source of truth.

This article explains how to retrieve employee custom fields from Ashby People Ops using the `user.info` application programming interface (API) endpoint.

:::hint{type="warning"}
Ashby's People Ops module is currently available through restricted early access. The following documentation is provided for design partners participating in that program.
:::

# Permissions and access

Organization Admins in Ashby Recruiting can create and manage API keys in the [API Keys](https://app.ashbyhq.com/admin/api/keys) page within [Admin](https://app.ashbyhq.com/admin/overview). The API key must have permission to access user data for the `user.info` endpoint to return results.

# Generate an API key

:::hint{type="info"}
For step-by-step instructions, see [How do I generate an API key?](docId\:Bd5mE2TCmTYHK-vUJLHdZ) . For additional technical details, see [Ashby's API Documentatio](https://developers.ashbyhq.com/reference/introduction)[n](https://developers.ashbyhq.com/reference/introduction).
:::

# Retrieve custom fields

You can retrieve custom fields stored on the employee profile in Ashby People Ops via the [`user.info endpoint`](https://developers.ashbyhq.com/reference/userinfo).

When making a request, you must pass an additional parameter called `includeCustomFields`.

## Finding the user ID

The `user.info` endpoint requires a `userId`. If you do not already have this value, you can retrieve it by calling the [`user.search endpoint`](https://developers.ashbyhq.com/reference/usersearch) and providing the employee's email address. The response returns the corresponding `userId`, which you can then use in subsequent `user.info` requests.

## Request example

```json
{
  "userId": "a6366ae1-e244-4817-8ff1-6ebb0b3afdc2",
  "includeCustomFields": true
}
```

## Response example

```json
{
  "success": true,
  "results": {
    "id": "a6366ae1-e244-4817-8ff1-6ebb0b3afdc2",
    "firstName": "Aaron",
    "lastName": "Jimenez",
    "email": "aaron.jimenez@reteam.app",
    "globalRole": "Limited Access",
    "isEnabled": true,
    "updatedAt": "2025-08-05T10:29:42.375Z",
    "managerId": "7f1fa8f5-1482-4aff-8b1b-c9bd0770518d",
    "customFields": [
      {
        "id": "0fcdd048-7a23-43ab-a5ea-59eabd5ed34d",
        "isPrivate": false,
        "title": "Home Department",
        "value": "102000",
        "valueLabel": "Engineering"
      }
    ]
  }
}
```

By default, the response contains custom fields stored on the employee profile in Ashby People Ops.

# FAQ

### When does it make sense to use the user.info API endpoint?

While Ashby's People Ops [Workflow Steps: Webhooks](docId\:BTj4zkHQkZLyR5YvIUK00) allow you to receive data when set conditions are met within a workflow (for instance, a dependency is met and Ashby triggers the webhook event), you can use the `user.info` endpoint to pull data whenever you need it.

This allows you to validate the webhook payload. For instance, Ashby's own information technology (IT) team triggers a webhook event to Okta when a new hire is enrolled in an onboarding workflow, sets this new hire as a "pending" user profile, and then polls the `user.info` endpoint regularly, filling in information as it is updated in Ashby. Once all required fields are populated, Okta marks the user as active and stops polling Ashby.
