Groups


Read your account's groups. Groups are managed in the Textingline dashboard — the API exposes them read-only. Use these endpoints to look up the grp_* IDs you'll need for Group Membership operations and to inspect group configuration.

Endpoints

MethodPathPurpose
GET/api/v1/groupsList groups (paginated, filterable)
GET/api/v1/groups/{id}Get a single group by grp_* id

LIST — GET /api/v1/groups

Returns a paginated list of your account's groups, ordered by creation date (newest first).

curl "https://platform.textingline.com/api/v1/groups?limit=20&page=1" \
  -u "your_key_id:your_key_secret"

Query parameters

ParameterTypeDefaultDescription
pageinteger11-based page number.
limitinteger20Page size, capped at 100.
namestringOptional partial-match filter on the group name (case-insensitive substring).

Response

{
  "page": 1,
  "limit": 20,
  "totalCount": 42,
  "results": [
    {
      "id": "grp_DsAdb4EBYBh3z25sBA1q",
      "name": "VIP Customers",
      "isDefault": false,
      "optInType": "SINGLE",
      "contactCount": 1247,
      "tags": [
        {
          "id": "tag_3pXAGm5x9YzKw2VPHCnB",
          "name": "Gold",
          "createdAt": "2025-08-01T00:00:00.000Z",
          "updatedAt": "2025-08-02T00:00:00.000Z"
        }
      ],
      "createdAt": "2025-08-01T00:00:00.000Z"
    }
  ]
}
Envelope fieldDescription
pageCurrent 1-based page number, echoed from the query.
limitPage size, echoed from the query (after server-side cap).
totalCountTotal number of groups matching the filter (across all pages).
resultsArray of group projections — see Group shape below.

GET — GET /api/v1/groups/{id}

Returns a single group by its grp_* public ID.

curl https://platform.textingline.com/api/v1/groups/grp_DsAdb4EBYBh3z25sBA1q \
  -u "your_key_id:your_key_secret"

Returns 200 OK with the group projection (same shape as one entry in the LIST response above), or 404 GroupNotFound (33031) if no group with that ID exists in your account.

Group shape

FieldDescription
idStable public ID, prefixed grp_. Use this in Group Membership URLs.
nameOperator-defined display name. Editable in the dashboard.
isDefaulttrue for the account's default group, which is the implicit target for some legacy inbound flows. Most integrations can ignore this.
optInTypeSINGLE — explicit consent required (use optInMode: DIRECT when enrolling); or DOUBLE — confirmation flow (use optInMode: CONFIRM). See Group Membership — Opt-in modes.
contactCountNumber of active members in the group at the time of the request.
tagsTags defined on this group. Used for membership-level sub-segmentation. Each tag has id (tag_*), name, createdAt, and updatedAt (ISO 8601).
createdAtISO 8601 timestamp.

Rate limit

EndpointLimitWindow
GET /api/v1/groups (list)150 requests60 seconds
GET /api/v1/groups/{id}150 requests60 seconds

Both share a single contactApiRead bucket with Contacts GET and Custom Fields schema reads. See Rate Limits.

Common errors

CodeHTTPDescription
33031404Group not found (or not owned by your account).
33034400Invalid grp_* ID format on the {id} path segment.
33001401Authentication failed.
33002429Rate limit exceeded.

See Error Codes for the full reference.