Ferndesk

Users

Create help center user

Creates a help center user and stores attributes used by user-group audience rules. The email is normalized to lowercase.

Required scope: content:write

POST /users

Create help center user

curl --request POST \
  --url 'https://api.ferndesk.com/v1/users' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "key": "value"
}'
{
  "id": "<string>",
  "helpdeskId": "<string>",
  "email": "<email>",
  "name": "<string>",
  "emailVerified": true,
  "disabled": true,
  "attributes": {
    "key": "<string>"
  },
  "lastLoginAt": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Created help center user

Authorizations

  • Authorization string required header

    All requests require a Bearer token in the Authorization header. API keys are prefixed with fdsk_ and should be kept secret. You can generate and manage keys from the Developer settings page.

    Keys can be restricted to any subset of these scopes (each endpoint lists the scope it requires via x-required-scopes):

    • content:read: Read and search help center articles, collections, sections, and translations
    • content:write: Create and edit article drafts, users, tasks; move articles and collections
    • content:publish: Publish, unpublish, restore, and trash content (make changes live)
    • analytics:read: Read help center reporting, analytics, and article feedback
    • conversations:read: Read AI assistant conversations and transcripts
    • webhooks:manage: Create and manage outbound webhook subscriptions

    Granting content:write or content:publish implies content:read. Keys minted before scoping have null scopes = full access (legacy mode).

Request Body

application/json
  • email string (email) required

    Help center user email address. Emails are stored lowercase.

  • name string | null

    Optional display name for the user.

  • attributes object

    Initial saved attributes for user-group matching.

    + Show Child Attributes
    • [key: string] anyOf additional
      + Show Child Attributes
      • anyOf options 2 variants anyOf

        One or more options can apply.

        + Show Child Attributes
        • option 1 anyOf
          + Show Child Attributes
          • anyOf options 4 variants anyOf

            One or more options can apply.

            + Show Child Attributes
            • option 1 string | number | boolean
            • option 2 array
              + Show Child Attributes
              • items[] string array item
            • option 3 array
              + Show Child Attributes
              • items[] number array item
            • option 4 array
              + Show Child Attributes
              • items[] boolean array item
        • option 2 object
          + Show Child Attributes
          • [key: string] anyOf additional
            + Show Child Attributes
            • anyOf options 2 variants anyOf

              One or more options can apply.

              + Show Child Attributes
              • option 1 anyOf
                + Show Child Attributes
                • anyOf options 4 variants anyOf

                  One or more options can apply.

                  + Show Child Attributes
                  • option 1 string | number | boolean
                  • option 2 array
                    + Show Child Attributes
                    • items[] string array item
                  • option 3 array
                    + Show Child Attributes
                    • items[] number array item
                  • option 4 array
                    + Show Child Attributes
                    • items[] boolean array item
              • option 2 object
                + Show Child Attributes
                • [key: string] anyOf additional
                  + Show Child Attributes
                  • anyOf options 2 variants anyOf

                    One or more options can apply.

                    + Show Child Attributes
                    • option 1 anyOf
                      + Show Child Attributes
                      • anyOf options 4 variants anyOf

                        One or more options can apply.

                        + Show Child Attributes
                        • option 1 anyOf

                          Schema traversal was truncated at maximum depth.

                        • option 2 array

                          Schema traversal was truncated at maximum depth.

                        • option 3 array

                          Schema traversal was truncated at maximum depth.

                        • option 4 array

                          Schema traversal was truncated at maximum depth.

                    • option 2 object
                      + Show Child Attributes
                      • [key: string] anyOf additional

                        Schema traversal was truncated at maximum depth.

  • disabled boolean default

    Create the user disabled. Default: false.

Response

application/json
  • id string

    Ferndesk help center user ID (hcusr_...).

  • helpdeskId string

    Ferndesk helpdesk ID (help_...).

  • email string (email)

    Help center user email address. Emails are stored lowercase.

  • name string | null

    Display name for the help center user.

  • emailVerified boolean

    Whether the email has been verified through a help center auth flow.

  • disabled boolean

    Whether the user is disabled. Disabled users cannot keep active sessions.

  • attributes object

    Saved user attributes used by user-group rules. Values may be strings, numbers, booleans, or arrays of one primitive type. Nested objects are stored flattened into dot-path keys.

    + Show Child Attributes
    • [key: string] anyOf additional
      + Show Child Attributes
      • anyOf options 4 variants anyOf

        One or more options can apply.

        + Show Child Attributes
        • option 1 string | number | boolean
        • option 2 array
          + Show Child Attributes
          • items[] string array item
        • option 3 array
          + Show Child Attributes
          • items[] number array item
        • option 4 array
          + Show Child Attributes
          • items[] boolean array item
  • lastLoginAt string | null

    Most recent help center login timestamp, if any.

  • createdAt string

    ISO 8601 timestamp in UTC.

  • updatedAt string

    ISO 8601 timestamp in UTC.