Logto Custom profile fields API

An admin feature used to create a customized user profile form, which is used to collect additional user information upon successful registrations.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/logto-custom-profile-fields-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

logto-custom-profile-fields-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Logto API references Account center Custom profile fields API
  description: 'API references for Logto services.


    Note: The documentation is for Logto Cloud. If you are using Logto OSS, please refer to the response of `/api/swagger.json` endpoint on your Logto instance.'
  version: Cloud
servers:
- url: https://[tenant_id].logto.app/
  description: Logto endpoint address.
security:
- OAuth2:
  - all
tags:
- name: Custom profile fields
  description: An admin feature used to create a customized user profile form, which is used to collect additional user information upon successful registrations.
paths:
  /api/custom-profile-fields:
    get:
      operationId: ListCustomProfileFields
      tags:
      - Custom profile fields
      parameters: []
      responses:
        '200':
          description: Custom profile fields ordered by sieOrder (Sign-in Experience order).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                  - tenantId
                  - id
                  - name
                  - type
                  - label
                  - description
                  - required
                  - config
                  - createdAt
                  - sieOrder
                  properties:
                    tenantId:
                      type: string
                      maxLength: 21
                    id:
                      type: string
                      minLength: 1
                      maxLength: 21
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                    type:
                      type: string
                      enum:
                      - Text
                      - Number
                      - Date
                      - Checkbox
                      - Select
                      - Url
                      - Regex
                      - Address
                      - Fullname
                    label:
                      type: string
                      maxLength: 128
                    description:
                      type: string
                      maxLength: 256
                      nullable: true
                    required:
                      type: boolean
                    config:
                      type: object
                      properties:
                        placeholder:
                          type: string
                          maxLength: 256
                        minLength:
                          type: number
                        maxLength:
                          type: number
                        minValue:
                          type: number
                        maxValue:
                          type: number
                        format:
                          type: string
                          maxLength: 128
                        customFormat:
                          type: string
                          maxLength: 128
                        options:
                          type: array
                          items:
                            type: object
                            required:
                            - value
                            properties:
                              label:
                                type: string
                              value:
                                type: string
                        defaultValue:
                          type: string
                        parts:
                          type: array
                          items:
                            type: object
                            required:
                            - enabled
                            - name
                            - type
                            - required
                            properties:
                              enabled:
                                type: boolean
                              name:
                                type: string
                              type:
                                type: string
                                enum:
                                - Text
                                - Number
                                - Date
                                - Checkbox
                                - Select
                                - Url
                                - Regex
                                - Address
                                - Fullname
                              label:
                                type: string
                                minLength: 1
                              description:
                                type: string
                              required:
                                type: boolean
                              config:
                                type: object
                                properties:
                                  placeholder:
                                    type: string
                                    maxLength: 256
                                  minLength:
                                    type: number
                                  maxLength:
                                    type: number
                                  minValue:
                                    type: number
                                  maxValue:
                                    type: number
                                  format:
                                    type: string
                                    maxLength: 128
                                  customFormat:
                                    type: string
                                    maxLength: 128
                                  options:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                      - value
                                      properties:
                                        label:
                                          type: string
                                        value:
                                          type: string
                                  defaultValue:
                                    type: string
                    createdAt:
                      type: number
                    sieOrder:
                      type: number
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      summary: Get all custom profile fields
      description: Get all custom profile fields.
    post:
      operationId: CreateCustomProfileField
      tags:
      - Custom profile fields
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - type: object
                required:
                - name
                - type
                - required
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Text"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    properties:
                      placeholder:
                        type: string
                      minLength:
                        type: number
                      maxLength:
                        type: number
              - type: object
                required:
                - name
                - type
                - required
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Number"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    properties:
                      placeholder:
                        type: string
                      minValue:
                        type: number
                      maxValue:
                        type: number
              - type: object
                required:
                - name
                - type
                - required
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Date"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    required:
                    - format
                    properties:
                      placeholder:
                        type: string
                      format:
                        type: string
                      customFormat:
                        type: string
              - type: object
                required:
                - name
                - type
                - required
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Checkbox"'
                  label:
                    type: string
                    minLength: 1
                  required:
                    type: boolean
                    format: 'false'
                  config:
                    type: object
                    required:
                    - defaultValue
                    properties:
                      defaultValue:
                        oneOf:
                        - type: string
                          format: '"true"'
                        - type: string
                          format: '"false"'
              - type: object
                required:
                - name
                - type
                - required
                - config
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Select"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    required:
                    - options
                    properties:
                      placeholder:
                        type: string
                      options:
                        type: array
                        items:
                          type: object
                          required:
                          - value
                          properties:
                            label:
                              type: string
                            value:
                              type: string
              - type: object
                required:
                - name
                - type
                - required
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Url"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    properties:
                      placeholder:
                        type: string
              - type: object
                required:
                - name
                - type
                - required
                - config
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Regex"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    required:
                    - format
                    properties:
                      placeholder:
                        type: string
                      format:
                        type: string
              - type: object
                required:
                - name
                - type
                - required
                - config
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Address"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    required:
                    - parts
                    properties:
                      parts:
                        type: array
                        items:
                          type: object
                          required:
                          - enabled
                          - type
                          - required
                          - name
                          properties:
                            enabled:
                              type: boolean
                            type:
                              type: string
                              enum:
                              - Text
                              - Number
                              - Date
                              - Checkbox
                              - Select
                              - Url
                              - Regex
                              - Address
                              - Fullname
                            label:
                              type: string
                              minLength: 1
                            description:
                              type: string
                            required:
                              type: boolean
                            config:
                              type: object
                              properties:
                                placeholder:
                                  type: string
                                  maxLength: 256
                                minLength:
                                  type: number
                                maxLength:
                                  type: number
                                minValue:
                                  type: number
                                maxValue:
                                  type: number
                                format:
                                  type: string
                                  maxLength: 128
                                customFormat:
                                  type: string
                                  maxLength: 128
                                options:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - value
                                    properties:
                                      label:
                                        type: string
                                      value:
                                        type: string
                                defaultValue:
                                  type: string
                            name:
                              type: string
                              enum:
                              - formatted
                              - streetAddress
                              - locality
                              - region
                              - postalCode
                              - country
              - type: object
                required:
                - name
                - type
                - required
                - config
                properties:
                  name:
                    type: string
                  type:
                    type: string
                    format: '"Fullname"'
                  label:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  required:
                    type: boolean
                  config:
                    type: object
                    required:
                    - parts
                    properties:
                      parts:
                        type: array
                        items:
                          type: object
                          required:
                          - enabled
                          - type
                          - required
                          - name
                          properties:
                            enabled:
                              type: boolean
                            type:
                              type: string
                              enum:
                              - Text
                              - Number
                              - Date
                              - Checkbox
                              - Select
                              - Url
                              - Regex
                              - Address
                              - Fullname
                            label:
                              type: string
                              minLength: 1
                            description:
                              type: string
                            required:
                              type: boolean
                            config:
                              type: object
                              properties:
                                placeholder:
                                  type: string
                                  maxLength: 256
                                minLength:
                                  type: number
                                maxLength:
                                  type: number
                                minValue:
                                  type: number
                                maxValue:
                                  type: number
                                format:
                                  type: string
                                  maxLength: 128
                                customFormat:
                                  type: string
                                  maxLength: 128
                                options:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - value
                                    properties:
                                      label:
                                        type: string
                                      value:
                                        type: string
                                defaultValue:
                                  type: string
                            name:
                              type: string
                              enum:
                              - givenName
                              - middleName
                              - familyName
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - tenantId
                - id
                - name
                - type
                - label
                - description
                - required
                - config
                - createdAt
                - sieOrder
                properties:
                  tenantId:
                    type: string
                    maxLength: 21
                  id:
                    type: string
                    minLength: 1
                    maxLength: 21
                  name:
                    type: string
                    minLength: 1
                    maxLength: 128
                  type:
                    type: string
                    enum:
                    - Text
                    - Number
                    - Date
                    - Checkbox
                    - Select
                    - Url
                    - Regex
                    - Address
                    - Fullname
                  label:
                    type: string
                    maxLength: 128
                  description:
                    type: string
                    maxLength: 256
                    nullable: true
                  required:
                    type: boolean
                  config:
                    type: object
                    properties:
                      placeholder:
                        type: string
                        maxLength: 256
                      minLength:
                        type: number
                      maxLength:
                        type: number
                      minValue:
                        type: number
                      maxValue:
                        type: number
                      format:
                        type: string
                        maxLength: 128
                      customFormat:
                        type: string
                        maxLength: 128
                      options:
                        type: array
                        items:
                          type: object
                          required:
                          - value
                          properties:
                            label:
                              type: string
                            value:
                              type: string
                      defaultValue:
                        type: string
                      parts:
                        type: array
                        items:
                          type: object
                          required:
                          - enabled
                          - name
                          - type
                          - required
                          properties:
                            enabled:
                              type: boolean
                            name:
                              type: string
                            type:
                              type: string
                              enum:
                              - Text
                              - Number
                              - Date
                              - Checkbox
                              - Select
                              - Url
                              - Regex
                              - Address
                              - Fullname
                            label:
                              type: string
                              minLength: 1
                            description:
                              type: string
                            required:
                              type: boolean
                            config:
                              type: object
                              properties:
                                placeholder:
                                  type: string
                                  maxLength: 256
                                minLength:
                                  type: number
                                maxLength:
                                  type: number
                                minValue:
                                  type: number
                                maxValue:
                                  type: number
                                format:
                                  type: string
                                  maxLength: 128
                                customFormat:
                                  type: string
                                  maxLength: 128
                                options:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - value
                                    properties:
                                      label:
                                        type: string
                                      value:
                                        type: string
                                defaultValue:
                                  type: string
                  createdAt:
                    type: number
                  sieOrder:
                    type: number
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      summary: Create a custom profile field
      description: Create a custom profile field.
  /api/custom-profile-fields/{name}:
    get:
      operationId: GetCustomProfileFieldByName
      tags:
      - Custom profile fields
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Custom profile field found successfully.
          content:
            application/json:
              schema:
                type: object
                required:
                - tenantId
                - id
                - name
                - type
                - label
                - description
                - required
                - config
                - createdAt
                - sieOrder
                properties:
                  tenantId:
                    type: string
                    maxLength: 21
                  id:
                    type: string
                    minLength: 1
                    maxLength: 21
                  name:
                    type: string
                    minLength: 1
                    maxLength: 128
                  type:
                    type: string
                    enum:
                    - Text
                    - Number
                    - Date
                    - Checkbox
                    - Select
                    - Url
                    - Regex
                    - Address
                    - Fullname
                  label:
                    type: string
                    maxLength: 128
                  description:
                    type: string
                    maxLength: 256
                    nullable: true
                  required:
                    type: boolean
                  config:
                    type: object
                    properties:
                      placeholder:
                        type: string
                        maxLength: 256
                      minLength:
                        type: number
                      maxLength:
                        type: number
                      minValue:
                        type: number
                      maxValue:
                        type: number
                      format:
                        type: string
                        maxLength: 128
                      customFormat:
                        type: string
                        maxLength: 128
                      options:
                        type: array
                        items:
                          type: object
                          required:
                          - value
                          properties:
                            label:
                              type: string
                            value:
                              type: string
                      defaultValue:
                        type: string
                      parts:
                        type: array
                        items:
                          type: object
                          required:
                          - enabled
                          - name
                          - type
                          - required
                          properties:
                            enabled:
                              type: boolean
                            name:
                              type: string
                            type:
                              type: string
                              enum:
                              - Text
                              - Number
                              - Date
                              - Checkbox
                              - Select
                              - Url
                              - Regex
                              - Address
                              - Fullname
                            label:
                              type: string
                              minLength: 1
                            description:
                              type: string
                            required:
                              type: boolean
                            config:
                              type: object
                              properties:
                                placeholder:
                                  type: string
                                  maxLength: 256
                                minLength:
                                  type: number
                                maxLength:
                                  type: number
                                minValue:
                                  type: number
                                maxValue:
                                  type: number
                                format:
                                  type: string
                                  maxLength: 128
                                customFormat:
                                  type: string
                                  maxLength: 128
                                options:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - value
                                    properties:
                                      label:
                                        type: string
                                      value:
                                        type: string
                                defaultValue:
                                  type: string
                  createdAt:
                    type: number
                  sieOrder:
                    type: number
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get a custom profile field by name
      description: Get a custom profile field by name.
    put:
      operationId: UpdateCustomProfileFieldByName
      tags:
      - Custom profile fields
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          minLength: 1
      requestBody:
        required: true
        content:


# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/logto/refs/heads/main/openapi/logto-custom-profile-fields-api-openapi.yml