Common Room · Schema

ApiUser

Information about a user. Provide as many fields as possible to enable better matching and merging into a single Common Room profile.

Community IntelligenceGo-to-MarketMember SignalsGitHubSlackDiscordLinkedInSales IntelligenceContact ManagementWebhooks

Properties

Name Type Description
id string 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 pull
fullName string The full name of the user.
firstName string The first name of the user. Used if no full name given.
lastName string The last name of the user. Used if no full name given.
username string The username the user.
avatarUrl string The url for the users avatar.
bio string The biography for the user, to be used in the contact's "About" section.
email string The email for the user, used to help enrich details about the person.
linkedin object Information about the users LinkedIn account
github object Information about the users Github account
twitter object Information about the users Twitter account
discord object Information about the users Discord account, taken from the form username#discriminator
externalProfiles array An optional list of known external profiles.
roleAtCompany string The users role at their company, such as Engineering, Marketing, Sales
titleAtCompany string The users title at their company
companyName string The name of the users company
companyDomain string The web domain of the users company
country string The country the user resides in
city string The city the user resides in
region string The state, prefecture or region the user resides in, such as Washington, New York, Ontario, New South Whales
rawLocation string Loose description of a location to be interpreted, such as 'Seattle, WA', USA, Kyiv, Ukraine, Hong Kong
tags array Optional list of contact tags to assign to this user
customFields array Optional list of custom fields to update for this user
View JSON Schema on GitHub

JSON Schema

common-room-core-apiuser-schema.json Raw ↑
{
  "$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"
  ]
}