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

# Registers one or more custom property definitions



## OpenAPI

````yaml openapi/member-v1.json POST /v1/custom-properties/definitions
openapi: 3.0.4
info:
  title: MemberService.Api
  version: v1
servers:
  - url: https://{host}/member
    description: Your Lobyco environment
    variables:
      host:
        default: your-environment.lobyco.net
        description: >-
          The API host for your Lobyco environment. Replace it with the host you
          were given — this placeholder does not resolve.
security:
  - Bearer: []
paths:
  /v1/custom-properties/definitions:
    post:
      tags:
        - Service2Service
      summary: Registers one or more custom property definitions
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/MemberService.Api.Controllers.Service2Service.CustomPropertiesController.CreatePropertyDefinitionRequest
            examples:
              Register a single string property:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
              Register multiple scalar properties:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
                  - name: score
                    displayName: Member Score
                    dataType: number
                  - name: isVerified
                    displayName: Is Verified
                    dataType: boolean
              Register a date property:
                value:
                  - name: dateRegistered
                    displayName: Date Registered
                    dataType: date
              Register array properties:
                value:
                  - name: preferredStoreIds
                    displayName: Preferred Store IDs
                    dataType: number[]
                  - name: tags
                    displayName: Member Tags
                    dataType: string[]
              Register all supported data types:
                value:
                  - name: nickname
                    displayName: Nickname
                    dataType: string
                  - name: loyaltyPoints
                    displayName: Loyalty Points
                    dataType: number
                  - name: isPremium
                    displayName: Premium Member
                    dataType: boolean
                  - name: memberSince
                    displayName: Member Since
                    dataType: date
                  - name: favoriteCategories
                    displayName: Favorite Categories
                    dataType: string[]
                  - name: visitedStoreIds
                    displayName: Visited Store IDs
                    dataType: number[]
                  - name: optInDates
                    displayName: Opt-in Dates
                    dataType: date[]
                  - name: consentFlags
                    displayName: Consent Flags
                    dataType: boolean[]
          text/json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/MemberService.Api.Controllers.Service2Service.CustomPropertiesController.CreatePropertyDefinitionRequest
            examples:
              Register a single string property:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
              Register multiple scalar properties:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
                  - name: score
                    displayName: Member Score
                    dataType: number
                  - name: isVerified
                    displayName: Is Verified
                    dataType: boolean
              Register a date property:
                value:
                  - name: dateRegistered
                    displayName: Date Registered
                    dataType: date
              Register array properties:
                value:
                  - name: preferredStoreIds
                    displayName: Preferred Store IDs
                    dataType: number[]
                  - name: tags
                    displayName: Member Tags
                    dataType: string[]
              Register all supported data types:
                value:
                  - name: nickname
                    displayName: Nickname
                    dataType: string
                  - name: loyaltyPoints
                    displayName: Loyalty Points
                    dataType: number
                  - name: isPremium
                    displayName: Premium Member
                    dataType: boolean
                  - name: memberSince
                    displayName: Member Since
                    dataType: date
                  - name: favoriteCategories
                    displayName: Favorite Categories
                    dataType: string[]
                  - name: visitedStoreIds
                    displayName: Visited Store IDs
                    dataType: number[]
                  - name: optInDates
                    displayName: Opt-in Dates
                    dataType: date[]
                  - name: consentFlags
                    displayName: Consent Flags
                    dataType: boolean[]
          application/*+json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/MemberService.Api.Controllers.Service2Service.CustomPropertiesController.CreatePropertyDefinitionRequest
            examples:
              Register a single string property:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
              Register multiple scalar properties:
                value:
                  - name: tier
                    displayName: Loyalty Tier
                    dataType: string
                  - name: score
                    displayName: Member Score
                    dataType: number
                  - name: isVerified
                    displayName: Is Verified
                    dataType: boolean
              Register a date property:
                value:
                  - name: dateRegistered
                    displayName: Date Registered
                    dataType: date
              Register array properties:
                value:
                  - name: preferredStoreIds
                    displayName: Preferred Store IDs
                    dataType: number[]
                  - name: tags
                    displayName: Member Tags
                    dataType: string[]
              Register all supported data types:
                value:
                  - name: nickname
                    displayName: Nickname
                    dataType: string
                  - name: loyaltyPoints
                    displayName: Loyalty Points
                    dataType: number
                  - name: isPremium
                    displayName: Premium Member
                    dataType: boolean
                  - name: memberSince
                    displayName: Member Since
                    dataType: date
                  - name: favoriteCategories
                    displayName: Favorite Categories
                    dataType: string[]
                  - name: visitedStoreIds
                    displayName: Visited Store IDs
                    dataType: number[]
                  - name: optInDates
                    displayName: Opt-in Dates
                    dataType: date[]
                  - name: consentFlags
                    displayName: Consent Flags
                    dataType: boolean[]
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
components:
  schemas:
    MemberService.Api.Controllers.Service2Service.CustomPropertiesController.CreatePropertyDefinitionRequest:
      required:
        - dataType
        - displayName
        - name
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          description: Machine-readable property key (max 100 chars, must be unique)
        displayName:
          maxLength: 255
          minLength: 1
          type: string
          description: Human-readable label (max 255 chars)
        dataType:
          minLength: 1
          type: string
          description: >-
            One of: string, number, date, boolean, string[], number[], date[],
            boolean[]
      additionalProperties: false
    LoopFoundation.Commons.Contracts.WebServiceError:
      required:
        - message
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        message:
          minLength: 1
          type: string
        details:
          nullable: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        JWT Authorization header using the Bearer scheme. Example:
        "Authorization: Bearer {token}"
      name: Authorization
      in: header

````