For the complete documentation index, see llms.txt. This page is also available as Markdown.

Members API

Import members into the given product

post

Creates new members and updates existing members from CSV input for the target product. A row whose Email matches an existing member in the org is an update; every other row is a create. Returns 200 with a MemberCsvImportResult, or a detailed validation result on 400. A file containing any invalid row is rejected as a whole.

An import never removes anyone: members who already have access to the product but are absent from the file keep it, and are listed in absentMembers on the response. To remove them as part of the same bulk-upload process, follow this call with DELETE /members/bulk-remove, passing those emails.

Query parameters
productstring · enumRequired

Target product to import members into.

Example: PERFORMPossible values:
Body
filestring · binaryRequired

CSV file containing member records. Must be less than 10MB in size. A header row is required, and each following row corresponds to one member. The header must include the required columns below, as well as any optional columns containing values. Column matching is case-insensitive and order-independent; a header outside this set rejects the file.

Header row with every available column: Employee ID,First Name,Last Name,Email,New Email,Job Title,Level,Office City,Office State (US Only),Office Country (Non-US Only),Department,Practice Area,Law School,Graduation Year,Effective Class Year,Start Date,Role,SSO ID,Use MFA,Bio Link,Work Arrangement,FLSA Status,Manager Email,Mentor Emails

  • Employee ID — string, optional. Must be unique across rows.
  • First Name — string, required. Must not contain \, <, >, |, " or `.
  • Last Name — string, required. Same disallowed characters as First Name.
  • Email — string, required. Must be unique and a well-formed email address.
  • New Email — string, optional. Must be a well-formed email address. On a row whose Email matches an existing member, moves that member to this address; a blank or unchanged value is a no-op, and a row matching no existing member is rejected. No two rows may target the same address, and the address must not already belong to another user or employee in the org. Only takes effect when the bulk email-update feature is enabled for the organization.
  • Job Title — string, optional.
  • Level — string, optional. Only persisted when product is PERFORM.
  • Office City — string, optional.
  • Office State (US Only) — string, optional.
  • Office Country (Non-US Only) — string, optional.
  • Department — string, optional.
  • Practice Area — string, optional.
  • Law School — string, optional.
  • Graduation Year — string, optional. 4 digits within 200 years of the current year. Only persisted when product is PERFORM.
  • Effective Class Year — string, optional. 4 digits within 200 years of the current year. Only persisted when product is PERFORM.
  • Start Date — date, optional. Accepted formats: yyyy-MM-dd, yyyy/MM/dd, M/d/yyyy, e.g. 2025-06-03.
  • Role — enum, optional. ADMIN or MEMBER. Defaults to MEMBER.
  • SSO ID — string, optional. Required only if the organization uses SSO and does not use email as the SSO ID.
  • Use MFA — boolean string, optional. One of true, t, false, f, 1, 0, yes, no, y, n (case-insensitive).
  • Bio Link — URL, optional.
  • Work Arrangement — enum, optional. REMOTE, HYBRID or IN_PERSON.
  • FLSA Status — enum, optional. One of Exempt, Non-Exempt, Not Applicable, EXEMPT, NON_EXEMPT or NOT_APPLICABLE. Only persisted when product is PERFORM.
  • Manager Email — string, optional. Only persisted when product is PERFORM. Must be a well-formed email address matching a member already in the org or another row in this file; row order does not matter. A member cannot be their own manager. A blank value clears the member's manager; omitting the column leaves it unchanged.
  • Mentor Emails — string, optional. Only persisted when product is PERFORM. One or more email addresses separated by semicolons, e.g. kim@firm.com;raj@firm.com. Each must be well-formed and match a member already in the org or another row in this file; row order does not matter. A member cannot be their own mentor, and a repeated address counts once. At most 50 mentors per member. The value replaces the member's mentors outright, so a blank value clears them; omitting the column leaves them unchanged.
Responses
200

Members imported successfully.

application/json
createdCountinteger · int32Optional

Number of new members created by this import.

Example: 5
updatedCountinteger · int32Optional

Number of existing members updated by this import.

Example: 3
post/members/import-csv
POST /api/v2/members/import-csv?product=PERFORM HTTP/1.1
Host: florecruit.com
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "createdCount": 5,
  "updatedCount": 3,
  "absentMembers": [
    {
      "email": "sam.lee@firm.com",
      "firstName": "Sam",
      "lastName": "Lee"
    }
  ]
}

Last updated