---
title: "find one customAttribute"
method: GET
path: "/api/serviceworkforce/customAttributes/{identifier}"
tags: ["customAttributes"]
---

# find one customAttribute

`GET /api/serviceworkforce/customAttributes/{identifier}`

## Request

- Base URL: `https://services.fountain.com`
- URL: `https://services.fountain.com/api/serviceworkforce/customAttributes/{identifier}`
- Auth: HTTP bearer

Find one customAttribute by its unique identifier.

## Path parameters

- `identifier` string, uuid, required

## Response `200`

One customAttribute document found. Wrapped in a JsonAPI root response with document as data.

- object
  - `data` CustomAttribute
    - `uuid` string, uuid
    - `createdAt` string, date-time: Creation timestamp
    - `createdBy` string, uuid: Creator UUID
    - `lastUpdatedAt` string, date-time: Last update timestamp
    - `lastUpdatedBy` string, uuid: Last updater UUID
    - `lastUpdatedByAudience` string: Audience of last updater
    - `lastUpdatedByAudienceUuid` string, uuid: Audience UUID of last updater
    - `lastUpdatedByImpersonatedBy` string, uuid: Impersonator UUID
    - `lastUpdatedByCompanyUuid` string, uuid: Company UUID of last updater
    - `lastUpdatedByEnterpriseUuid` string, uuid: Enterprise UUID of last updater
    - `companyUuid` string, uuid: Company UUID
    - `label` string, required
    - `key` string
    - `dataType` 'string' | 'number' | 'date' | 'boolean' | 'select' | 'address' | 'media' | 'signature' | 'complianceDocument', required
    - `description` string
    - `options` object[]
      - `value` string, required
      - `label` string
      - `archived` boolean: If true, this option is unavailable for new worker selections.
      - `hireValue` unknown
    - `resource` string
    - `resourceIdentifier` string, uuid
    - `readOnly` boolean: If true, this attribute cannot be modified. Can only be set by system.
    - `hidden` boolean: If true, this attribute won't be shown. Can only be set by system.
    - `protected` boolean: If true, this attribute can only be accessed by users with certain rights.
    - `hireDataKeyId` integer: The ID of the hire data key
    - `origin` 'wx' | 'hire': Which system authored this attribute definition
    - `attributeSectionUuid` string, uuid, nullable: UUID of the attributeSection this attribute is grouped under on the worker profile Attributes tab. Null, absent or a deleted section means unassigned: the UI renders an unassigned applicant-origin attribute (hireDataKeyId set) under the virtual "Applicant Attributes" section, otherwise under a trailing "Other" group. A hidden attribute never renders, even inside a company section.
    - `validation` union: Optional format rule enforced on this attribute. Absent means no rule: exactly the pre-validation behavior. Send null to remove a rule — over JSON that is the only way to say "clear it", since an absent key is a partial patch that leaves the stored rule alone.
      - object
        - `rule` 'regex', required
        - `config` object, required
          - `pattern` string, required
          - `flags` string
        - `message` string
      - object
        - `rule` 'email', required
        - `config` object
        - `message` string
      - object
        - `rule` 'phone', required
        - `config` object
          - `locale` string
        - `message` string
      - object
        - `rule` 'bankAccountNumber', required
        - `config` object
        - `message` string
      - object
        - `rule` 'bankRoutingNumber', required
        - `config` object
        - `message` string
      - object
        - `rule` 'iban', required
        - `config` object
        - `message` string
      - object
        - `rule` 'postalCode', required
        - `config` object
          - `locale` string
        - `message` string
      - object
        - `rule` 'taxId', required
        - `config` object, required
          - `locale` string, required
        - `message` string
      - object
        - `rule` 'passport', required
        - `config` object, required
          - `locale` string, required
        - `message` string
      - object
        - `rule` 'restrictedCharacters', required
        - `config` object, required
          - `characters` string, required
        - `message` string
      - object
        - `rule` 'minLength', required
        - `config` object, required
          - `value` integer, required
        - `message` string
      - object
        - `rule` 'maxLength', required
        - `config` object, required
          - `value` integer, required
        - `message` string
      - object
        - `rule` 'minValue', required
        - `config` object, required
          - `value` number, required
        - `message` string
      - object
        - `rule` 'maxValue', required
        - `config` object, required
          - `value` number, required
        - `message` string
      - object
        - `rule` 'pastDate', required
        - `config` object
        - `message` string
      - object
        - `rule` 'futureDate', required
        - `config` object
        - `message` string
      - unknown
    - `generation` integer: Monotonically increasing definition generation. Increments only when the validation rule changes. A value is current against the rule only when its lastCheckedGeneration equals this. Read-only.
  - `meta` ResponsesPartMeta
    - `timestamp` string, date-time, required
    - `verb` 'OPTION' | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
    - `path` string
    - `jti` string
    - `rid` string
    - `count` number
    - `capped` boolean: The server lowered filter[limit] to its ceiling. Page with filter[skip] to read past it.
    - `status` string
    - `duration` number
    - `size` number

## Other responses

- `500`: default error response

---

[API](https://skmtc.dev/fountain/apis/worker-experience-public-api.md) - [All operations](https://skmtc.dev/fountain/apis/worker-experience-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fountain/apis/worker-experience-public-api/revisions/6b9a31f79e22?raw)
