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

# Bulk create contact fields

> Creates contact custom field definitions in bulk.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/contacts/fields/bulk
openapi: 3.1.0
info:
  title: Octolane Public API
  version: 1.0.0
  description: >-
    OpenAPI specification for Octolane public APIs. These endpoints let external
    systems read CRM data and create or update accounts, contacts,
    opportunities, notes, and activities through the public API gateway.
  contact:
    name: Octolane
    url: https://octolane.com
servers:
  - url: https://api.octolane.com
    description: Public API gateway
security:
  - ApiKeyAuth: []
tags:
  - name: CRM
    description: >-
      Public endpoints for creating, bulk creating, listing, searching, and
      updating CRM data.
paths:
  /v1/contacts/fields/bulk:
    post:
      tags:
        - CRM
      summary: Bulk create contact fields
      description: Creates contact custom field definitions in bulk.
      operationId: bulkCreateContactFieldsV1
      requestBody:
        required: true
        description: Array of field definitions to create. Maximum 100 items.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldBulkCreateInput'
      responses:
        '200':
          description: Contact fields were created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
        '201':
          description: Contact fields were created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
        '400':
          description: The request failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            The API key is missing, invalid, or not allowed to access this
            route.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: The route rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    FieldBulkCreateInput:
      type: array
      minItems: 1
      maxItems: 100
      items:
        $ref: '#/components/schemas/FieldCreateInput'
    ApiResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
        data:
          description: Endpoint-specific response payload.
      additionalProperties: true
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          example: Validation failed
        statusCode:
          type: integer
          example: 400
      additionalProperties: true
    FieldCreateInput:
      type: object
      required:
        - name
        - attribute_type
      properties:
        name:
          type: string
          example: Customer Tier
        property_name:
          type: string
          pattern: ^[a-z][a-z0-9_]*$
          description: >-
            Optional stable field key. If omitted, Octolane generates a unique
            property name.
          example: customer_tier
        attribute_type:
          $ref: '#/components/schemas/AttributeType'
        metadata:
          oneOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Optional field metadata. For select fields, include `select_options`
            with label/value/color/order entries.
        order:
          type:
            - integer
            - 'null'
          minimum: 1
        is_hidden:
          type: boolean
      additionalProperties: false
    AttributeType:
      type: string
      enum:
        - string
        - number
        - checkbox
        - date
        - date_range
        - rating
        - timestamp
        - select
        - multi_select
        - currency
        - percentage
        - location
        - time
        - datetime
        - email
        - phone
        - website
        - url
        - radio
        - team_members
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Public API key for the Octolane organization.

````