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

# Create or update multiple contact methods by external ID



## OpenAPI

````yaml /openapi/contact-methods.json put /contact-methods/batch/external
openapi: 3.1.1
info:
  title: ARTU Compliance API
  version: 1.0.0
  description: 'API for compliance management. Documentation: https://docs.artu.ai'
servers:
  - url: https://api.artu.ai
security:
  - bearerAuth: []
    environmentHeader: []
paths:
  /contact-methods/batch/external:
    put:
      tags:
        - Contact Methods
      summary: Create or update multiple contact methods by external ID
      operationId: contactMethods.upsertManyByExternalId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  minItems: 1
                  maxItems: 250
                  items:
                    type: object
                    properties:
                      clientId:
                        type: string
                        format: uuid
                        description: Client ID
                      type:
                        enum:
                          - email
                          - phone
                          - mobile
                          - fax
                          - other
                        type: string
                        description: Type
                      isPrimary:
                        type: boolean
                        default: false
                        description: Is Primary
                      value:
                        type: string
                        minLength: 1
                        description: Value
                      label:
                        type: string
                        description: Label
                      externalId:
                        type: string
                        description: External ID
                      metadata:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                        description: Metadata
                    required:
                      - clientId
                      - type
                      - value
                atomic:
                  type: boolean
                  default: true
              required:
                - items
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      atomic:
                        const: true
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            data:
                              type: object
                              properties:
                                clientId:
                                  type: string
                                  format: uuid
                                  description: Client ID
                                type:
                                  enum:
                                    - email
                                    - phone
                                    - mobile
                                    - fax
                                    - other
                                  type: string
                                  description: Type
                                isPrimary:
                                  type: boolean
                                  default: false
                                  description: Is Primary
                                value:
                                  type: string
                                  minLength: 1
                                  description: Value
                                label:
                                  type: string
                                  description: Label
                                isVerified:
                                  type: boolean
                                verifiedAt:
                                  anyOf:
                                    - type: string
                                      format: date-time
                                    - type: 'null'
                                externalId:
                                  type: string
                                  description: External ID
                                metadata:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties: {}
                                  description: Metadata
                                id:
                                  type: string
                                  format: uuid
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                              required:
                                - clientId
                                - type
                                - value
                                - isVerified
                                - verifiedAt
                                - id
                                - createdAt
                                - updatedAt
                            action:
                              enum:
                                - created
                                - updated
                                - skipped
                              type: string
                          required:
                            - data
                            - action
                    required:
                      - atomic
                      - data
                  - type: object
                    properties:
                      atomic:
                        const: false
                      succeeded:
                        type: array
                        items:
                          type: object
                          properties:
                            index:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            data:
                              type: object
                              properties:
                                data:
                                  type: object
                                  properties:
                                    clientId:
                                      type: string
                                      format: uuid
                                      description: Client ID
                                    type:
                                      enum:
                                        - email
                                        - phone
                                        - mobile
                                        - fax
                                        - other
                                      type: string
                                      description: Type
                                    isPrimary:
                                      type: boolean
                                      default: false
                                      description: Is Primary
                                    value:
                                      type: string
                                      minLength: 1
                                      description: Value
                                    label:
                                      type: string
                                      description: Label
                                    isVerified:
                                      type: boolean
                                    verifiedAt:
                                      anyOf:
                                        - type: string
                                          format: date-time
                                        - type: 'null'
                                    externalId:
                                      type: string
                                      description: External ID
                                    metadata:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                      description: Metadata
                                    id:
                                      type: string
                                      format: uuid
                                    createdAt:
                                      type: string
                                      format: date-time
                                    updatedAt:
                                      type: string
                                      format: date-time
                                  required:
                                    - clientId
                                    - type
                                    - value
                                    - isVerified
                                    - verifiedAt
                                    - id
                                    - createdAt
                                    - updatedAt
                                action:
                                  enum:
                                    - created
                                    - updated
                                    - skipped
                                  type: string
                              required:
                                - data
                                - action
                          required:
                            - index
                            - data
                      failed:
                        type: array
                        items:
                          type: object
                          properties:
                            index:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            error:
                              type: object
                              properties:
                                code:
                                  enum:
                                    - VALIDATION_ERROR
                                    - NOT_FOUND
                                    - UNAUTHORIZED
                                    - FORBIDDEN
                                    - RATE_LIMITED
                                    - CONFLICT
                                    - INTERNAL_ERROR
                                    - SERVICE_UNAVAILABLE
                                    - INVALID_OPERATION
                                    - COMPLIANCE_ERROR
                                  type: string
                                message:
                                  type: string
                              required:
                                - code
                                - message
                          required:
                            - index
                            - error
                    required:
                      - atomic
                      - succeeded
                      - failed
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key authentication. Obtain your API key from the dashboard.
    environmentHeader:
      type: apiKey
      in: header
      name: X-Environment
      description: Target environment for the request. Must be "test" or "live".

````