Profiles represent members of your Campground organization. Each profile stores core identity fields (name, email, roles) alongside custom field values, group memberships, team memberships, and accepted program applications. Use these endpoints to sync member data between Campground and external systems. All profile endpoints require an API key with theDocumentation Index
Fetch the complete documentation index at: https://docs.campground.fyi/llms.txt
Use this file to discover all available pages before exploring further.
read:profiles scope for read operations and write:profiles for create and update operations. See authentication for details.
The profile object
A profile object returned by the API contains the following fields:Unique identifier for the profile (UUID).
The profile’s email address.
First name.
Last name.
URL of the profile’s avatar image.
Array of roles assigned to the profile. Possible values:
admin, member, applicant, sub_admin, campground_admin. A profile can hold multiple roles simultaneously.ISO 8601 timestamp of when the profile was created.
ISO 8601 timestamp of the profile’s most recent activity.
Map of groups the profile belongs to, keyed by group ID.
Map of teams the profile belongs to, keyed by team ID.
Map of programs the profile has an accepted application in, keyed by program ID. Only accepted applications are included.
Map of custom field values for the profile, keyed by field ID.
List profiles
Returns a paginated list of profiles in your organization. Hidden profiles are excluded.Query parameters
Page number to return. Starts at
1.Number of profiles to return per page. Maximum is
100.Filter profiles by name. Case-insensitive partial match against the profile’s full name.
Filter profiles by email address. Case-insensitive partial match.
Filter to profiles with an accepted application in a program whose name matches this value. Case-insensitive partial match.
Filter to profiles with an accepted application in a season whose name matches this value. Can be combined with
programName.Response fields
Array of profile objects.
Total number of profiles matching the query (across all pages).
true if additional pages of results exist.The ID of the organization these profiles belong to.
Example
Response
Get a profile
Returns a single profile by ID.Query parameters
The ID of the profile to retrieve.
Example
Response
404 is returned if the profile does not exist or does not belong to your organization.
Create or update a profile
Creates a new profile or updates an existing one, matched by email address. If no profile exists with the given email in your organization, a new profile is created with themember role. If a profile already exists, only the fields you provide are updated.
This endpoint requires the
write:profiles scope.Request body
Email address of the profile. Used to look up an existing profile. Must be a valid email format.
First name. Omit to leave the existing value unchanged.
Last name. Omit to leave the existing value unchanged.
URL to an avatar image. Pass
null to clear the existing avatar.Response fields
The created or updated profile object.
The ID of the organization the profile belongs to.
true if a new profile was created; false if an existing profile was updated.Example
Response (created)
Update profile custom fields
Updates one or more custom field values on a profile. Accepts up to 100 field updates per request. Each update upserts the value—creating the field value record if it does not exist, or replacing it if it does.This endpoint requires the
write:profiles scope.Request body
UUID of the profile to update.
Array of field updates. Minimum 1, maximum 100.
Response fields
The ID of the organization.
Example
Response
400 is returned if any field_id values are invalid or do not belong to your organization. A 404 is returned if the profile_id is not found.