Skip to content

Create group

groups.create(**kwargs) -> GroupResponse { data }
POST/v1/groups

Creates a new group scoped to the authenticated organization.

ParametersExpand Collapse
external_reference_id: String
maxLength255
minLength1
name: String
maxLength255
minLength1
ReturnsExpand Collapse
class GroupResponse { data }

Response containing a single group resource.

data: Group { id, created_at, external_reference_id, 3 more }
id: String

Prefixed group identifier (grp_<base64-encoded-uuid>).

created_at: Time

Group creation timestamp (ISO 8601, UTC).

formatdate-time
external_reference_id: String

Stable identifier for this group in the integrator’s own system.

maxLength255
name: String

Human-readable group name.

maxLength255
organization_id: String

Prefixed organization identifier (org_<base64-encoded-uuid>).

updated_at: Time

Last-update timestamp (ISO 8601, UTC).

formatdate-time

Create group

require "vitable_connect"

vitable_connect = VitableConnect::Client.new(
  api_key: "My API Key",
  environment: "environment_1" # defaults to "production"
)

group_response = vitable_connect.groups.create(external_reference_id: "mol_seg_001", name: "Tier 1")

puts(group_response)
{
  "data": {
    "id": "grp_abc123def456",
    "organization_id": "org_abc123def456",
    "name": "Tier 1",
    "external_reference_id": "mol_seg_001",
    "created_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-01-15T10:30:00Z"
  }
}
Returns Examples
{
  "data": {
    "id": "grp_abc123def456",
    "organization_id": "org_abc123def456",
    "name": "Tier 1",
    "external_reference_id": "mol_seg_001",
    "created_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-01-15T10:30:00Z"
  }
}