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

# Create Worksites Bulk



## OpenAPI

````yaml /api-reference/preview.json post /organizations/{organization_id}/worksites/list
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers: []
security: []
paths:
  /organizations/{organization_id}/worksites/list:
    post:
      tags:
        - Core
        - Worksites
      summary: Create Worksites Bulk
      operationId: >-
        create_worksites_bulk_organizations__organization_id__worksites_list_post
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            anyOf:
              - type: string
              - type: string
                format: uuid
            title: Organization Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/WorksiteRequest'
              title: Requests
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorksiteResponse'
                title: >-
                  Response Create Worksites Bulk Organizations  Organization Id 
                  Worksites List Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerToken: []
components:
  schemas:
    WorksiteRequest:
      properties:
        name:
          type: string
          title: Name
        address:
          $ref: '#/components/schemas/AddressRequest'
        correspondence_address:
          anyOf:
            - $ref: '#/components/schemas/AddressRequest'
            - type: 'null'
        is_active:
          type: boolean
          title: Is Active
        is_primary:
          type: boolean
          title: Is Primary
        valid_from:
          type: string
          format: date
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        contacts:
          anyOf:
            - items:
                $ref: '#/components/schemas/ContactRequest'
              type: array
            - type: 'null'
          title: Contacts
        tax_identifiers:
          anyOf:
            - $ref: '#/components/schemas/TaxIdentifiersRequest'
            - type: 'null'
        insurance_data:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/DEWorksiteInsuranceDetailsRequest'
              discriminator:
                propertyName: insurance_country
                mapping:
                  DE:
                    $ref: '#/components/schemas/DEWorksiteInsuranceDetailsRequest'
            - type: 'null'
          title: Insurance Data
      additionalProperties: true
      type: object
      required:
        - name
        - address
        - is_active
        - is_primary
        - valid_from
      title: WorksiteRequest
    WorksiteResponse:
      properties:
        name:
          type: string
          title: Name
        address:
          $ref: '#/components/schemas/AddressResponse'
        correspondence_address:
          anyOf:
            - $ref: '#/components/schemas/AddressResponse'
            - type: 'null'
        is_active:
          type: boolean
          title: Is Active
        is_primary:
          type: boolean
          title: Is Primary
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        id:
          type: string
          title: Id
        org_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Org Id
        contacts:
          anyOf:
            - items:
                $ref: '#/components/schemas/ContactResponse'
              type: array
            - type: 'null'
          title: Contacts
        tax_identifiers:
          anyOf:
            - $ref: '#/components/schemas/TaxIdentifiersResponse'
            - type: 'null'
        insurance_data:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/DEWorksiteInsuranceDetailsResponse'
              discriminator:
                propertyName: insurance_country
                mapping:
                  DE:
                    $ref: '#/components/schemas/DEWorksiteInsuranceDetailsResponse'
            - type: 'null'
          title: Insurance Data
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - name
        - address
        - is_active
        - is_primary
        - id
        - created_at
        - updated_at
      title: WorksiteResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AddressRequest:
      properties:
        address:
          type: string
          title: Address
        content:
          oneOf:
            - $ref: '#/components/schemas/DEAddressContentRequest'
            - $ref: '#/components/schemas/GBAddressContentRequest'
          title: Content
      additionalProperties: true
      type: object
      required:
        - address
        - content
      title: AddressRequest
    ContactRequest:
      properties:
        name:
          type: string
          title: Name
        email:
          anyOf:
            - type: string
              format: email
            - type: 'null'
          title: Email
        phone:
          anyOf:
            - $ref: '#/components/schemas/DEPhoneNumber'
            - type: 'null'
        roles:
          items:
            type: string
          type: array
          title: Roles
          default: []
      additionalProperties: true
      type: object
      required:
        - name
      title: ContactRequest
    TaxIdentifiersRequest:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        tax_data:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/DETaxIdentifier'
                - $ref: '#/components/schemas/GBTaxIdentifier'
              discriminator:
                propertyName: country
                mapping:
                  DE:
                    $ref: '#/components/schemas/DETaxIdentifier'
                  GB:
                    $ref: '#/components/schemas/GBTaxIdentifier'
            - type: 'null'
          title: Tax Data
      additionalProperties: true
      type: object
      title: TaxIdentifiersRequest
    DEWorksiteInsuranceDetailsRequest:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        insurance_country:
          type: string
          const: DE
          title: Insurance Country
          default: DE
        worksite_location_number:
          anyOf:
            - type: string
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Worksite Location Number
          description: 'DE: BBNRVU'
        accident_insurance_company_number:
          anyOf:
            - type: string
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Accident Insurance Company Number
          description: 'DE: BBNR UV'
        accident_insurance_pin:
          anyOf:
            - type: string
              description: German accident insurance PIN (5 digits)
              examples:
                - '12345'
                - '56789'
                - '98765'
            - type: 'null'
          title: Accident Insurance Pin
          description: 'DE: UV PIN'
          examples:
            - DE-WS-PIN-456
        payroll_service_provider_number:
          anyOf:
            - type: string
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Payroll Service Provider Number
          description: 'DE: BBNR AS'
        payroll_processing_location_number:
          anyOf:
            - type: string
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Payroll Processing Location Number
          description: 'DE: BBNR LB'
      additionalProperties: true
      type: object
      title: DEWorksiteInsuranceDetailsRequest
    AddressResponse:
      properties:
        id:
          type: string
          title: Id
        address:
          type: string
          title: Address
        components:
          $ref: '#/components/schemas/AddressComponents'
        content:
          oneOf:
            - $ref: '#/components/schemas/DEAddressContentResponse'
            - $ref: '#/components/schemas/GBAddressContentResponse'
          title: Content
      additionalProperties: true
      type: object
      required:
        - id
        - address
        - components
        - content
      title: AddressResponse
    ContactResponse:
      properties:
        name:
          type: string
          title: Name
        email:
          anyOf:
            - type: string
              format: email
            - type: 'null'
          title: Email
        phone:
          anyOf:
            - $ref: '#/components/schemas/DEPhoneNumber'
            - type: 'null'
        id:
          type: string
          title: Id
        roles:
          items:
            type: string
          type: array
          title: Roles
          default: []
      additionalProperties: true
      type: object
      required:
        - name
        - id
      title: ContactResponse
    TaxIdentifiersResponse:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        id:
          type: integer
          title: Id
        tax_data:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/DETaxIdentifier'
                - $ref: '#/components/schemas/GBTaxIdentifier'
              discriminator:
                propertyName: country
                mapping:
                  DE:
                    $ref: '#/components/schemas/DETaxIdentifier'
                  GB:
                    $ref: '#/components/schemas/GBTaxIdentifier'
            - type: 'null'
          title: Tax Data
      additionalProperties: true
      type: object
      required:
        - id
      title: TaxIdentifiersResponse
    DEWorksiteInsuranceDetailsResponse:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        insurance_country:
          type: string
          const: DE
          title: Insurance Country
          default: DE
        worksite_location_number:
          anyOf:
            - type: string
              pattern: ^\d{8}$
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Worksite Location Number
          description: 'DE: BBNRVU'
        accident_insurance_company_number:
          anyOf:
            - type: string
              pattern: ^\d{8}$
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Accident Insurance Company Number
          description: 'DE: BBNR UV'
        accident_insurance_pin:
          anyOf:
            - type: string
              pattern: ^\d{5}$
              description: German accident insurance PIN (5 digits)
              examples:
                - '12345'
                - '56789'
                - '98765'
            - type: 'null'
          title: Accident Insurance Pin
          description: 'DE: UV PIN'
          examples:
            - DE-WS-PIN-456
        payroll_service_provider_number:
          anyOf:
            - type: string
              pattern: ^\d{8}$
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Payroll Service Provider Number
          description: 'DE: BBNR AS'
        payroll_processing_location_number:
          anyOf:
            - type: string
              pattern: ^\d{8}$
              description: 'German Betriebsnummer (8 digits: xxx-yyyy-z format)'
              examples:
                - '98797889'
                - '15186676'
                - '99302952'
            - type: 'null'
          title: Payroll Processing Location Number
          description: 'DE: BBNR LB'
        id:
          type: integer
          title: Id
      additionalProperties: true
      type: object
      required:
        - id
      title: DEWorksiteInsuranceDetailsResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    DEAddressContentRequest:
      properties:
        country_code:
          type: string
          const: DE
          title: Country Code
          default: DE
        address_type:
          $ref: '#/components/schemas/CorrespondenceAddressType'
          default: HAUSANSCHRIFT
      additionalProperties: true
      type: object
      title: DEAddressContentRequest
    GBAddressContentRequest:
      properties:
        country_code:
          type: string
          const: GB
          title: Country Code
          default: GB
      additionalProperties: true
      type: object
      title: GBAddressContentRequest
    DEPhoneNumber:
      properties:
        phone_number:
          type: string
          format: phone
          title: Phone Number
        phone_type:
          $ref: '#/components/schemas/payroll__gb__schema__employee__PhoneType'
      additionalProperties: true
      type: object
      required:
        - phone_number
        - phone_type
      title: DEPhoneNumber
    DETaxIdentifier:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        country:
          type: string
          const: DE
          title: Country
        tax_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Tax Number
          description: Steuernummer
        business_type:
          anyOf:
            - $ref: '#/components/schemas/DEBusinessType'
            - type: 'null'
        is_employee_flat_tax:
          type: boolean
          title: Is Employee Flat Tax
          default: false
        is_employee_mini_job_flat_tax:
          type: boolean
          title: Is Employee Mini Job Flat Tax
          default: false
        tax_filing_frequency:
          anyOf:
            - type: string
              enum:
                - monthly
                - quarterly
                - yearly
            - type: 'null'
          title: Tax Filing Frequency
      additionalProperties: true
      type: object
      required:
        - country
      title: DETaxIdentifier
    GBTaxIdentifier:
      properties:
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid From
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
        country:
          type: string
          const: GB
          title: Country
        business_type:
          $ref: '#/components/schemas/GBBusinessType'
        paye_reference_number:
          type: string
          pattern: ^\d{3}/[a-zA-Z0-9]{1,10}$
          title: Paye Reference Number
        accounts_office_reference:
          type: string
          pattern: ^\d{3}P[a-zA-Z](\d{8}|\d{7}X)$
          title: Accounts Office Reference
        corporation_tax_reference:
          anyOf:
            - type: string
              pattern: ^\d{10}$
            - type: 'null'
          title: Corporation Tax Reference
      additionalProperties: true
      type: object
      required:
        - country
        - business_type
        - paye_reference_number
        - accounts_office_reference
      title: GBTaxIdentifier
    AddressComponents:
      properties:
        formatted_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Formatted Address
        street_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Street Number
        road:
          anyOf:
            - type: string
            - type: 'null'
          title: Road
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
        postal_code_suffix:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code Suffix
        latitude:
          anyOf:
            - type: number
            - type: 'null'
          title: Latitude
        longitude:
          anyOf:
            - type: number
            - type: 'null'
          title: Longitude
      type: object
      title: AddressComponents
    DEAddressContentResponse:
      properties:
        country_code:
          type: string
          const: DE
          title: Country Code
          default: DE
        address_type:
          $ref: '#/components/schemas/CorrespondenceAddressType'
          default: HAUSANSCHRIFT
        normalized_address:
          type: string
          title: Normalized Address
      additionalProperties: true
      type: object
      required:
        - normalized_address
      title: DEAddressContentResponse
    GBAddressContentResponse:
      properties: {}
      additionalProperties: true
      type: object
      title: GBAddressContentResponse
    CorrespondenceAddressType:
      type: string
      enum:
        - HAUSANSCHRIFT
        - POSTFACH
        - GROSSEMPFAENGER
        - AUSLANDSANSCHRIFT
      title: CorrespondenceAddressType
    payroll__gb__schema__employee__PhoneType:
      type: string
      enum:
        - mobile
        - home
        - work
      title: PhoneType
    DEBusinessType:
      type: integer
      enum:
        - 170
        - 180
        - 210
        - 211
        - 220
        - 221
        - 222
        - 223
        - 230
        - 231
        - 232
        - 240
        - 241
        - 242
        - 250
        - 251
        - 260
        - 270
        - 280
        - 290
        - 310
        - 320
        - 321
        - 322
        - 323
        - 324
        - 350
        - 351
        - 355
        - 356
        - 360
        - 400
        - 450
        - 510
        - 590
        - 610
        - 611
        - 700
        - 790
        - 911
        - 912
        - 921
        - 991
        - 992
        - 999
      title: DEBusinessType
      description: German Business Types based on Federal Employment Agency (BA) codes
    GBBusinessType:
      type: string
      enum:
        - Sole Trader
        - Partnership
        - Limited Company
        - Public Limited Company
        - Limited Liability Partnership
        - Community Interest Company
      title: GBBusinessType
  securitySchemes:
    BearerToken:
      type: oauth2
      flows:
        password:
          scopes:
            read:all: Read all
            write:all: Write all
            read:health_check: Read health check
            write:health_check: Write health check
            read:wage_types: Read wage types
            write:wage_types: Write wage types
          tokenUrl: >-
            https://auth-preview.intermezzo.ai/authorize?audience=api-preview.intermezzo.ai

````