Create/Update Athlete

POST https://api.collegepipe.com/v1/athletes

Beta — This endpoint is not yet live but will be available soon.

Authentication

You need to authenticate first to upsert an athlete.

Authentication

Overview

This endpoint creates or updates an athlete based on their email address:

The endpoint accepts both JSON and form-encoding — use whichever is more convenient for your integration.

Example

Request

JSON

POST https://api.collegepipe.com/v1/athletes
Authorization: Bearer <token>
Content-Type: application/json

Form-encoded

POST https://api.collegepipe.com/v1/athletes
Authorization: Bearer <token>
Content-Type: application/x-www-form-urlencoded

Parameters

Param

Type

Required

Description

email

String

✅ Always

Athlete's email — used as the unique identifier

firstName

String

✅ On create

lastName

String

✅ On create

gender

String

✅ On create

MALE or FEMALE

earliestEnrollment

String

✅ On create

Fall 2026 or Spring 2025

agentEmail

String

No

Agent to assign (must belong to your agency). Defaults to agency's configured default agent.

supportStaffEmail

String

No

Support staff to assign (must belong to your agency)

sport

String

No

Exact sport name as configured in CollegePipe (e.g. Soccer, Basketball)

recruitingStatus

String

No

SEARCHING, COMMITTED, SIGNED, or IN_COLLEGE

countryCode

String

No

ISO 3166-1 alpha-3 (e.g. USA, FRA)

stateCode

String

No

US only — e.g. CA, TX

city

String

No

address

String

No

postalCode

String

No

sendEmail

Boolean

No

Send welcome email on creation. Default: true. Pass false to suppress (e.g. bulk imports).

generateTask

Boolean

No

Auto-generate a recruiting task on creation. Default: false. Requires taskLang, taskService, and taskInternational.

taskLang

String

Conditional

Language for the task (e.g. en, fr). Required when generateTask=true.

taskService

String

Conditional

Agency service plan name. Required when generateTask=true.

taskInternational

Boolean

Conditional

Whether the task targets international recruiting. Required when generateTask=true.

Example — create (JSON)

{
"email": "jane.doe@example.com",
"firstName": "Jane",
"lastName": "Doe",
"gender": "FEMALE",
"earliestEnrollment": "Fall 2026",
"sport": "Soccer",
"countryCode": "FRA"
}

Example — create (form-encoded)

email=jane.doe@example.com&firstName=Jane&lastName=Doe&gender=FEMALE&earliestEnrollment=Fall+2026&sport=Soccer&countryCode=FRA

Example — update only the recruiting status

{ "email": "jane.doe@example.com", "recruitingStatus": "COMMITTED" }

Response

Field

Type

Description

status

String

success or error

message

String

Human-readable result

Response Example

{
"status": "success",
"message": "Athlete successfully created."
}

On update:

{
"status": "success",
"message": "Athlete successfully updated."
}

On error:

{
"status": "error",
"message": "Unknown sport: Badminton"
}

Published with Nuclino