{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api.commonroom.io/schemas/core/apiuser", "title": "ApiUser", "type": "object", "description": "Information about a user. Provide as many fields as possible to enable better matching and merging into a single Common Room profile.", "properties": { "id": { "description": "Unique identifier for the user within this source (identifier unrelated to Common Room). This ID must be unique for each individual user, and should be generated by the third party system you are pulling data from (this ID does _not_ come from Common Room). Used as the primary key for this user within this source, to group all the user's activity together.", "type": "string" }, "fullName": { "description": "The full name of the user.", "type": "string", "nullable": true }, "firstName": { "description": "The first name of the user. Used if no full name given.", "type": "string", "nullable": true }, "lastName": { "description": "The last name of the user. Used if no full name given.", "type": "string", "nullable": true }, "username": { "description": "The username the user.", "type": "string", "nullable": true }, "avatarUrl": { "description": "The url for the users avatar.", "type": "string", "nullable": true }, "bio": { "description": "The biography for the user, to be used in the contact's \"About\" section.", "type": "string", "nullable": true }, "email": { "description": "The email for the user, used to help enrich details about the person.", "type": "string", "format": "email", "nullable": true }, "linkedin": { "description": "Information about the users LinkedIn account", "type": "object", "properties": { "type": { "type": "string", "enum": [ "handle" ] }, "value": { "type": "string", "description": "Parsable value which includes the LinkedIn handle.", "example": "in/person" } }, "required": [ "type", "value" ], "nullable": true }, "github": { "description": "Information about the users Github account", "type": "object", "properties": { "type": { "type": "string", "enum": [ "handle" ] }, "value": { "type": "string", "description": "Parsable value which includes their github handle, eg \"Person\" from https://github.com/Person", "example": "Person" } }, "required": [ "type", "value" ], "nullable": true }, "twitter": { "description": "Information about the users Twitter account", "type": "object", "properties": { "type": { "type": "string", "enum": [ "handle" ] }, "value": { "type": "string", "description": "Parsable value which includes their twitter handle, eg @Person or Person", "example": "@Person" } }, "required": [ "type", "value" ], "nullable": true }, "discord": { "description": "Information about the users Discord account, taken from the form username#discriminator", "type": "object", "properties": { "type": { "type": "string", "enum": [ "username" ] }, "username": { "type": "string", "example": "person" }, "discriminator": { "schema": { "anyOf": [ { "type": "string" }, { "type": "number" } ] }, "example": 1234 } }, "required": [ "username", "discriminator" ], "nullable": true }, "externalProfiles": { "description": "An optional list of known external profiles.", "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "The url of the external profile referenced" }, "name": { "type": "string", "description": "The name to use when rendering the external profile url" } }, "required": [ "url" ] }, "nullable": true }, "roleAtCompany": { "description": "The users role at their company, such as Engineering, Marketing, Sales", "type": "string", "example": "Engineering", "nullable": true }, "titleAtCompany": { "description": "The users title at their company", "type": "string", "nullable": true }, "companyName": { "description": "The name of the users company", "type": "string", "example": "Common Room", "nullable": true }, "companyDomain": { "description": "The web domain of the users company", "type": "string", "example": "commonroom.io", "nullable": true }, "country": { "description": "The country the user resides in", "type": "string", "nullable": true }, "city": { "description": "The city the user resides in", "type": "string", "nullable": true }, "region": { "description": "The state, prefecture or region the user resides in, such as Washington, New York, Ontario, New South Whales", "type": "string", "example": "Washington", "nullable": true }, "rawLocation": { "description": "Loose description of a location to be interpreted, such as 'Seattle, WA', USA, Kyiv, Ukraine, Hong Kong", "type": "string", "example": "Seattle, WA", "nullable": true }, "tags": { "description": "Optional list of contact tags to assign to this user", "type": "array", "items": { "$ref": "#/components/schemas/ApiTagAssignment" } }, "customFields": { "description": "Optional list of custom fields to update for this user", "type": "array", "items": { "$ref": "#/components/schemas/ApiCustomFields" } } }, "required": [ "id" ] }