Groups

Get group detail

Returns one group's full detail, name, member count, description, admin contact, and write-feasibility gates. Returned directly (no envelope, no cursor, no paging).

get/v1/{account_id}/groups/{group}

Request

  • Base URL: https://api.curviate.com
  • URL: https://api.curviate.com/v1/{account_id}/groups/{group}
  • Auth: HTTP bearer

Path parameters

account_idstring required

The connected LinkedIn account performing the read.

groupstring required

The group to look up: a numeric group id (e.g. 9123014) or its full group URL; the id is extracted from either form.

Response

The group's full detail, returned directly (no envelope, no cursor, no paging).

object'group' required

Type discriminator.

idstring required

Numeric group id.

entity_urnstring required

Native group urn.

namestring required

Group display name.

member_countnumber required

Total members. Reliable; cross-checked against the rendered page.

descriptionstring nullable required

Group description; may contain newlines or non-English text.

typestring required

Group type (observed: STANDARD).

public_visibilityboolean required

Whether the group is publicly listed/discoverable vs members-only.

direct_join_enabledboolean required

Whether a member may join directly vs request/approval.

is_memberboolean required

Whether the acting account is a member.

membership_status'MEMBER' | 'NON_MEMBER' required

The acting account's membership presence (the same signal as is_member, as an enum).

urlstring required

Canonical group URL.

post_approval_enabledboolean nullable required

Whether posts require admin approval, a write-automation feasibility gate.

invitation_levelstring nullable required

Who may invite (observed: ALL).

sample_past_membersstring[] required

Up to ~12 sampled member ids, a partial sample, possibly empty.

observed_atstring required

ISO-8601 timestamp for when this data was observed on LinkedIn. On a live fetch this is the time of the fetch; on a stored answer it is when the data was actually seen, not when you asked for it.

source'store' | 'live' required

Whether this answer came from Curviate's stored copy or from a fresh LinkedIn fetch. A stored answer costs the connected account nothing and is never surfaced to the person being read. It also carries less: fields Curviate does not retain (message bodies, notes, attachments, third-party contact details) are only ever present on a live fetch. Pass mode=live when you need them.

withdrawnboolean required

Whether LinkedIn has told us this resource no longer exists, such as a removed profile. When true, the answer above is the copy Curviate still holds and must not be treated as current. Always present; false is the normal case.

withdrawn_atstring

ISO-8601 timestamp for when a fetch MOST RECENTLY found this resource gone on LinkedIn. Every later fetch that finds it gone again moves it. Present only when withdrawn is true.

Example response

{
  "safety_warning": {
    "row": "profile_views",
    "reset_at": "2026-09-05T00:00:00.000Z",
    "hint": {
      "parameter": "profile_views.ceiling",
      "message": "This account is at its ceiling for profile_views. This action went through because profile_views.posture is warn, and it counted: 101 of 100 this window. Raise profile_views.ceiling, or wait for the window to reset at 2026-09-05T00:00:00.000Z."
    },
    "reason": "ceiling",
    "blocked": false
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.