---
updatedAt: 2026-09-24T21:59:07.000Z
agentTools:
  projectIndex: https://developer.digits.com/llms.txt
---

# Bulk Create Clients

Provision multiple client organizations in a single request. Maximum 100
 entities total across all clients per request. Each client is created
 synchronously, but entity data provisioning completes asynchronously.

 Requires scope: `organization:sync`.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Digits Connect API",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://connect.digits.com",
      "description": "Production"
    }
  ],
  "paths": {
    "/v1/organization/clients": {
      "post": {
        "tags": [
          "OrganizationClientService"
        ],
        "summary": "Bulk Create Clients",
        "description": "Provision multiple client organizations in a single request. Maximum 100\n entities total across all clients per request. Each client is created\n synchronously, but entity data provisioning completes asynchronously.\n\n Requires scope: `organization:sync`.",
        "operationId": "OrganizationClientService_BulkCreate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCreateClientsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkCreateClientsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Default error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Status"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code."
          }
        }
      },
      "BulkCreateClientsRequest": {
        "required": [
          "clients"
        ],
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateClientRequest"
            },
            "description": "Batch of clients to create."
          }
        },
        "description": "Request to create multiple client organizations. Maximum 100 entities total\n across all clients per request."
      },
      "BulkCreateClientsResponse": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Business"
            }
          }
        }
      },
      "Business": {
        "type": "object",
        "properties": {
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Organization"
              }
            ],
            "description": "The client organization."
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Entity"
            },
            "description": "Legal entities within the client."
          }
        },
        "description": "A client organization and its entities."
      },
      "CreateClientRequest": {
        "required": [
          "externalId",
          "name",
          "entities"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "description": "Caller-assigned ID for idempotency."
          },
          "name": {
            "type": "string",
            "description": "Client organization name."
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateEntityRequest"
            },
            "description": "At least one entity is required. Maximum 100 entities per client."
          },
          "displayId": {
            "type": "string",
            "description": "Optional caller-assigned display ID (e.g., account number)."
          }
        },
        "description": "Request to create a new client organization with one or more entities."
      },
      "CreateEntityRequest": {
        "required": [
          "externalId",
          "name"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "description": "Caller-assigned ID for idempotency."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "coaTemplateId": {
            "type": "string",
            "description": "Optional chart of accounts template ID owned by the caller's organization.\n When set, this template takes precedence. When omitted, the organization's\n sole active template is used; if it has zero or multiple active templates,\n the Digits canonical template is used."
          },
          "fiscalYearStartMonth": {
            "type": "string",
            "description": "Fiscal year start month (JAN-DEC)."
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone."
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ],
            "description": "Mailing address."
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "displayId": {
            "type": "string",
            "description": "Optional caller-assigned display ID (e.g., account number)."
          }
        },
        "description": "Request to create a new entity. The entity object is created synchronously,\n but data provisioning (chart of accounts, ledger setup) completes asynchronously."
      },
      "Entity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Entity's Digits-assigned ID."
          },
          "externalId": {
            "type": "string",
            "description": "Entity's caller-assigned ID."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "organizationId": {
            "type": "string",
            "description": "Parent organization's Digits-assigned ID."
          },
          "organizationExternalId": {
            "type": "string",
            "description": "Parent organization's caller-assigned ID."
          },
          "fiscalYearStartMonth": {
            "type": "string",
            "description": "Fiscal year start month (JAN-DEC)."
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone."
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ],
            "description": "Mailing address."
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "displayId": {
            "type": "string",
            "description": "Optional caller-assigned display ID (e.g., account number)."
          },
          "emailAddress": {
            "type": "string",
            "description": "Digits-generated address for forwarding vendor bills and invoices to this\n entity. Documents emailed here are ingested as bills. Read-only."
          }
        },
        "description": "A legal entity within an organization. Entities represent individual\n businesses or accounting units that contain their own financial data."
      },
      "GoogleProtobufAny": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "description": "The type of the serialized message."
          }
        },
        "additionalProperties": true,
        "description": "Contains an arbitrary serialized message along with a @type that describes the type of the serialized message."
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Organization's Digits-assigned ID."
          },
          "externalId": {
            "type": "string",
            "description": "Organization's caller-assigned ID."
          },
          "name": {
            "type": "string",
            "description": "Display name."
          },
          "displayId": {
            "type": "string",
            "description": "Optional caller-assigned display ID (e.g., account number)."
          }
        },
        "description": "An organization in Digits. Organizations manage their own entities or manage client\n entities. Users are employed by an organization and can be granted access to\n organization-owned entities or client entities."
      },
      "Status": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client."
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoogleProtobufAny"
            },
            "description": "A list of messages that carry the error details.  There is a common set of message types for APIs to use."
          }
        },
        "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors)."
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "OrganizationClientService",
      "description": "Manage client organizations affiliated with the organization. These endpoints\n apply to organizations that manage client organizations. For direct entity\n management, use OrganizationEntityService."
    }
  ]
}
```