createClient
createClient creates a new Client party in the authoritative data graph. A Client is a party — person or organization — that UTA actively represents.
Required Fields
| Field | Type | Notes |
|---|---|---|
names | [NameInput!] | At least one name is required |
type | PartyType | PERSON or ORGANIZATION |
representations | [RepresentationInput!] | At least one representation is required; rep area IDs must be unique |
Getting Reference IDs
Several fields on createClient require IDs of existing nodes. Use getAll queries to discover them.
Rep Area IDs
Every representation requires a repAreaId. Fetch the available rep areas before creating a client:
query GetAllRepAreas {
getAllRepAreas {
items {
id
name
}
}
}Use the returned id values as repAreaId.id in your representation inputs.
Other Common Reference Data
| Field | Query to use |
|---|---|
languageIds | getAllLanguages |
genreIds | getAllGenres |
interestIds | getAllInterests |
skillIds | getAllSkills |
rosterIds | getAllRosters |
musicGenreIds | getAllMusicGenres |
mediumIds | getAllMedia |
playableAgeIds | getAllPlayableAges |
vocationIds | getAllVocations |
All of these queries return objects with id and name fields. Pass the id values in { id: "..." } connectable inputs.
Basic Example
A minimal PERSON client with a single representation:
mutation CreateClient {
createClient(clientCreateInput: {
names: [
{
givenName: "Jane"
familyName: "Smith"
name: "Jane Smith"
type: FORMAL
}
]
type: PERSON
representations: [
{
repAreaId: { id: "<rep-area-id>" }
geoArea: {}
}
]
}) {
id
names {
name
}
}
}Geo Areas
geoArea: {} represents a worldwide geographic scope. To restrict to specific countries, pass countries: [{ id: "<country-id>" }] inside the geoArea object.
Creating a Client as a Draft
Set draft: true to create the client in DRAFT publish status. Draft clients are visible within the system but are not considered fully published records. They can be promoted to published status after review.
mutation CreateClientDraft {
createClient(clientCreateInput: {
names: [
{
givenName: "Jane"
familyName: "Smith"
name: "Jane Smith"
type: FORMAL
}
]
type: PERSON
draft: true
representations: [
{
repAreaId: { id: "<rep-area-id>" }
geoArea: {}
}
]
}) {
id
names {
name
}
}
}Representation Status in createClient
Representations created via createClient are automatically assigned SIGNED status. If you need to start a representation in PURSUING or HOLD status, create the talent record first using createTalent, then advance the status using updateRepresentationStatus.
Organization Client Example
When type is ORGANIZATION, you can include employsAppointments (instead of appointments) and connect members and associated companies:
mutation CreateClientOrg {
createClient(clientCreateInput: {
names: [
{
name: "Acme Productions"
type: FORMAL
}
]
type: ORGANIZATION
representations: [
{
repAreaId: { id: "<rep-area-id>" }
geoArea: {}
assignments: [
{
employeeId: { id: "<agent-employee-id>" }
teamRole: AGENT_TEAM
geoAreas: [{}]
}
]
}
]
emails: [
{
email: "info@acme.example.com"
primary: true
}
]
phones: [
{
countryCode: "1"
number: "3105550100"
primary: true
}
]
}) {
id
names {
name
}
}
}Optional Fields Reference
The table below covers the most commonly used optional fields. For the full input type definition, see the GraphQL Reference.
| Field | Type | Notes |
|---|---|---|
id | UUID | Override the auto-generated ID |
draft | Boolean | Create in DRAFT publish status (default: false) |
verified | Boolean | Mark record as verified (default: false) |
financial | Boolean | Flag as a financial record (default: false) |
noMats | Boolean | Suppress materials requests (default: false) |
roleSubType | RoleSubType | ROSTERED, PRIVATE, PROTECTED, etc. |
addresses | [AddressInput!] | Physical addresses |
emails | [EmailInput!] | Email addresses |
phones | [PhoneInput!] | Phone numbers |
onlineAddresses | [OnlineAddressInput!] | Websites, social handles |
appointments | [AppointmentInput!] | PERSON type only — agent/employee appointments |
employsAppointments | [EmploysAppointmentInput!] | ORGANIZATION type only — employee appointments |
personalInfo | PersonalInfoInput | DOB, gender, ethnicity, pronouns, etc. |
personalAppearance | PersonalAppearanceInput | Height, hair color, eye color, etc. |
biographies | [BiographyInput!] | Bio text blocks |
legalNotices | [LegalNoticeInput!] | Legal notices |
externalRecords | [ExternalRecordInput!] | Third-party system IDs |
languageIds | [ConnectableInput!] | Spoken languages |
genreIds | [ConnectableInput!] | Genres |
skillIds | [ConnectableInput!] | Skills |
rosterIds | [ConnectableInput!] | Internal rosters |
vocationIds | [ConnectableInput!] | Vocations |
clientCompanyIds | [ConnectableInputForClientCompany!] | Loan-out / production companies (with subType: LOANOUT or PRODUCTION_COMPANY) |
memberIds | [ConnectableInputForMember!] | ORGANIZATION only — member parties |
groupIds | [ConnectableInputForMember!] | ORGANIZATION only — group memberships |
cameFromAgencyIds | [ConnectableInput!] | Prior agencies |
departedToAgencyIds | [ConnectableInput!] | Destination agencies |