Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Paste your API key as the CMS showed it: fsk_<site>_<key id>_<secret> (issued under API Keys). ApiKey in front of it works too. Leave it empty to read as the public.

Scopes

content:team-members:write

Path Parameters

_id
string
required

The document’s _id: a full id names its own locale and mode (the draft’s …:en:draft, the published one’s …:en:published; no aposMode needed), a bare aposDocId takes the request’s (aposLocale, aposMode).

Response

Done.

TeamMember content type

title
string
default:""
required

Its title: the name it goes by in every list, and the heading of its page where it has one.

slug
string
default:""
required

The URL name: lowercase words joined by hyphens (letters outside a–z, even emoji, are kept).

_id
string
required
read-only

The document’s id. On a type with drafts it ends in its locale and mode (…:en:published, …:en:draft): the part before the first colon is its aposDocId, shared by both copies. The {_id} the type’s routes take.

type
string
required
read-only

The document type’s name: always this type’s.

role
string | null
default:""

e.g. “Founder” or “Operations lead”.

tagline
string | null
default:""

Optional one-liner shown on the compact card layouts — a motto, specialty or fun fact.

bio
string | null
default:""

Optional short biography, shown on the roomier card layouts.

Hand-curation flag. The widget can show only featured members, and the Spotlight layout renders them large.

sortOrder
integer | null
default:0

Members are listed lowest number first — the explicit team order.

visibility
enum<string> | null
default:public

Select whether this content is public or private

Available options:
public,
loginRequired,
null
scheduledPublish
string | null

An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.

scheduledUnpublish
string | null

An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.

memberFontOverrides
Typeface for this card · object[] | null

Optional. Set part of this team member’s card in a different typeface. Leave empty to follow the section (and the site fonts).

Maximum array length: 4
_photo
Photo · object[] | null

Optional headshot from the media library. Falls back to the Photo URL below, then to a lettered-initial avatar. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out.

Maximum array length: 1
photoUrl
string | null

Alternative to uploading: a full https:// link to a photo hosted elsewhere. Only used when no Photo is selected above — prefer uploading when you can (it enables cropping, focal point and responsive sizes). When set, a URL; empty or null when not.

_hoverPhoto
Alternate photo (shown on hover) · object[] | null

Optional second photo (e.g. a candid shot) that cross-fades in when a visitor hovers the card. Needs the Team section’s hover-photo toggle on. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out.

Maximum array length: 1
hoverPhotoUrl
string | null

URL alternative to the alternate photo above — only used when none is selected. Same hover behavior. When set, a URL; empty or null when not.

email
string | null

Optional. Only shown when the Team section has “Show email / phone” turned on. When set, an email address; empty or null when not.

phone
string | null
default:""

Optional. Only shown when the Team section has “Show email / phone” turned on.

Each profile is optional — add only the networks you use. A link only appears once it has a URL. Pick a platform for its brand icon, or “Other / custom” to choose any icon.

source
enum<string> | null
default:manual
read-only

Set automatically. Demo placeholders are removed the moment a real member is published.

Available options:
manual,
demo,
null
sourceId
string | null
default:""
read-only

Internal de-duplication key set by the demo seed.

archived
boolean | null
default:false

In the archive: kept, but out of every list and off the site until it is restored. false (or null) for a live document.

createdAt
string<date-time> | null
read-only

When it was created (ISO 8601).

updatedAt
string<date-time> | null
read-only

When it last changed (ISO 8601).

aposShareKey
string | null
read-only

The draft’s preview share key, while its share link is on: the link is the draft’s _url with aposShareKey and aposShareId (the draft’s _id) in its query. Absent otherwise, and on published documents.

Example:

"k3v9x2m7q1z8w4p6"