Oneprofile · Schema

AccountOrgChartSchema

An account's org chart: every person with their line, hidden people last.

Sales OutreachAI ResearchEmail AutomationLinkedIn OutreachCRM Integration

Properties

Name Type Description
budget_holder_candidates array Up to three people the draft thinks may hold the budget; a rep decides.
draft_current boolean Whether the draft was made over the people shown now.
draft_guesses integer Of the people a draft reads, those with no confirmed line: the ones it guesses a line for.
draft_reads integer People a draft reads: the most senior shown, up to 150. Past that, the more junior are left out.
drafted_at object When the free draft was made, if ever.
drafts_left integer Free drafts left in the rolling 24 hours.
drafts_reset_at object When the next free draft frees up, once none is left.
likely_lines integer Lines drawn from the draft now, each Likely until a person confirms it: GET /accounts/{account_key}/org-chart/drafted-lines/ lists them.
loops array Each loop of reporting lines no person has decided (the tables', the researcher's, or lines people set that a merge brought together): the chart leaves one of its lines out. A person picks one by sett
lost array Each role or line a rep set whose person is no longer at the account, newest first. What the rep set is kept, and comes back if the person does.
manager_offers array Each people table here with a column labelled like a manager (Manager, Reports to) that is not its manager column yet. Nothing is drawn from it until a person picks it: PATCH /accounts/sources/{table_
people array
top_person_id object The account's top person when no line says so yet: the head of the biggest tree, with no line of their own (none drawn, none left out for a loop) and no other person at the top of the chart as senior.
tree_heads array Each person heading a tree (no manager drawn, someone under them), the most people under them first: the order the chart lists its trees in. Hidden people are never counted. With levels, only the head
window object With levels: the part of the chart sent. None: all of it.
View JSON Schema on GitHub

JSON Schema

getoneprofile-ai-account-org-chart-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getoneprofile-ai/json-schema/getoneprofile-ai-account-org-chart-schema-schema.json",
  "title": "AccountOrgChartSchema",
  "description": "An account's org chart: every person with their line, hidden people last.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getoneprofile-ai-accounts-api-openapi.yml#/components/schemas/AccountOrgChartSchema",
  "properties": {
    "budget_holder_candidates": {
      "description": "Up to three people the draft thinks may hold the budget; a rep decides.",
      "items": {
        "$ref": "#/$defs/AccountBudgetCandidateReadSchema"
      },
      "title": "Budget Holder Candidates",
      "type": "array"
    },
    "draft_current": {
      "description": "Whether the draft was made over the people shown now.",
      "title": "Draft Current",
      "type": "boolean"
    },
    "draft_guesses": {
      "default": 0,
      "description": "Of the people a draft reads, those with no confirmed line: the ones it guesses a line for.",
      "title": "Draft Guesses",
      "type": "integer"
    },
    "draft_reads": {
      "default": 0,
      "description": "People a draft reads: the most senior shown, up to 150. Past that, the more junior are left out.",
      "title": "Draft Reads",
      "type": "integer"
    },
    "drafted_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "When the free draft was made, if ever.",
      "title": "Drafted At"
    },
    "drafts_left": {
      "description": "Free drafts left in the rolling 24 hours.",
      "title": "Drafts Left",
      "type": "integer"
    },
    "drafts_reset_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "When the next free draft frees up, once none is left.",
      "title": "Drafts Reset At"
    },
    "likely_lines": {
      "default": 0,
      "description": "Lines drawn from the draft now, each Likely until a person confirms it: GET /accounts/{account_key}/org-chart/drafted-lines/ lists them.",
      "title": "Likely Lines",
      "type": "integer"
    },
    "loops": {
      "description": "Each loop of reporting lines no person has decided (the tables', the researcher's, or lines people set that a merge brought together): the chart leaves one of its lines out. A person picks one by setting a person's manager (PATCH /accounts/{account_key}/people/{person_id}/); in a loop of lines people set, the others are handed back first (manager_choice null), as a line to them would loop.",
      "items": {
        "$ref": "#/$defs/AccountChartLoopReadSchema"
      },
      "title": "Loops",
      "type": "array"
    },
    "lost": {
      "description": "Each role or line a rep set whose person is no longer at the account, newest first. What the rep set is kept, and comes back if the person does.",
      "items": {
        "$ref": "#/$defs/AccountChartLossReadSchema"
      },
      "title": "Lost",
      "type": "array"
    },
    "manager_offers": {
      "description": "Each people table here with a column labelled like a manager (Manager, Reports to) that is not its manager column yet. Nothing is drawn from it until a person picks it: PATCH /accounts/sources/{table_id}/ with manager_column_id.",
      "items": {
        "$ref": "#/$defs/AccountManagerColumnOfferReadSchema"
      },
      "title": "Manager Offers",
      "type": "array"
    },
    "people": {
      "items": {
        "$ref": "#/$defs/AccountChartPersonReadSchema"
      },
      "title": "People",
      "type": "array"
    },
    "top_person_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The account's top person when no line says so yet: the head of the biggest tree, with no line of their own (none drawn, none left out for a loop) and no other person at the top of the chart as senior. The page reads them as Top of the account.",
      "title": "Top Person Id"
    },
    "tree_heads": {
      "description": "Each person heading a tree (no manager drawn, someone under them), the most people under them first: the order the chart lists its trees in. Hidden people are never counted. With levels, only the heads this answer sends.",
      "items": {
        "format": "uuid",
        "type": "string"
      },
      "title": "Tree Heads",
      "type": "array"
    },
    "window": {
      "anyOf": [
        {
          "$ref": "#/$defs/AccountChartWindowReadSchema"
        },
        {
          "type": "null"
        }
      ],
      "description": "With levels: the part of the chart sent. None: all of it."
    }
  },
  "required": [
    "people",
    "budget_holder_candidates",
    "drafted_at",
    "draft_current",
    "drafts_left",
    "drafts_reset_at",
    "lost"
  ],
  "type": "object",
  "$defs": {
    "AccountBudgetCandidateReadSchema": {
      "description": "One person the draft thinks may hold the budget.",
      "properties": {
        "person_id": {
          "format": "uuid",
          "title": "Person Id",
          "type": "string"
        },
        "reason": {
          "title": "Reason",
          "type": "string"
        }
      },
      "required": [
        "person_id",
        "reason"
      ],
      "title": "AccountBudgetCandidateReadSchema",
      "type": "object"
    },
    "AccountChartLineReadSchema": {
      "description": "One reporting line, and where it came from.",
      "properties": {
        "column_id": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The column that states it, for a table's line.",
          "title": "Column Id"
        },
        "confidence": {
          "$ref": "#/$defs/AccountLineConfidence",
          "description": "Confirmed when a source states it; likely when the draft guessed it."
        },
        "loops": {
          "default": false,
          "description": "On a line not drawn: drawing it would close a loop, so the chart leaves it out. The chart's loops name each one a person has not decided.",
          "title": "Loops",
          "type": "boolean"
        },
        "manager_id": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The manager's person id; None at the top of the chart, or for a manager not on this account.",
          "title": "Manager Id"
        },
        "manager_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "A manager not on this account, as the source wrote them.",
          "title": "Manager Name"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The draft's reason, for a likely line.",
          "title": "Reason"
        },
        "set_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "With a rep's line: when it was set.",
          "title": "Set At"
        },
        "set_by_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "With a rep's line: who set it.",
          "title": "Set By User Id"
        },
        "source": {
          "$ref": "#/$defs/AccountLineSource",
          "description": "Who gave it: a rep, a table's manager column, the Person researcher, or the free draft."
        },
        "table_id": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The table that states it, for a table's line.",
          "title": "Table Id"
        }
      },
      "required": [
        "source",
        "confidence",
        "manager_id",
        "manager_name",
        "reason",
        "table_id",
        "column_id",
        "set_by_user_id",
        "set_at"
      ],
      "title": "AccountChartLineReadSchema",
      "type": "object"
    },
    "AccountChartLoopReadSchema": {
      "description": "Lines the sources state that loop back on themselves, for a person to pick from.",
      "properties": {
        "steps": {
          "description": "The loop's lines in turn, each manager the next one's person, the last back to the first. The chart draws every line but the first.",
          "items": {
            "$ref": "#/$defs/AccountChartLoopStepReadSchema"
          },
          "title": "Steps",
          "type": "array"
        }
      },
      "required": [
        "steps"
      ],
      "title": "AccountChartLoopReadSchema",
      "type": "object"
    },
    "AccountChartLoopStepReadSchema": {
      "description": "One line of a loop: a person, and the manager a source says they report to.",
      "properties": {
        "manager_id": {
          "format": "uuid",
          "title": "Manager Id",
          "type": "string"
        },
        "manager_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Manager Name"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Name"
        },
        "person_id": {
          "format": "uuid",
          "title": "Person Id",
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/AccountLineSource",
          "description": "Who states the line."
        },
        "table_id": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The table that states it, for a table's line.",
          "title": "Table Id"
        },
        "table_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "That table's name.",
          "title": "Table Name"
        }
      },
      "required": [
        "person_id",
        "name",
        "manager_id",
        "manager_name",
        "source",
        "table_id",
        "table_name"
      ],
      "title": "AccountChartLoopStepReadSchema",
      "type": "object"
    },
    "AccountChartLossCause": {
      "description": "Why someone a rep placed is no longer on the account.",
      "enum": [
        "moved",
        "table_off",
        "table_trashed",
        "replaced",
        "row_deleted",
        "not_found"
      ],
      "title": "AccountChartLossCause",
      "type": "string"
    },
    "AccountChartLossKind": {
      "description": "Whom a rep's word on the chart lost: the person it was about, or the manager it named.",
      "enum": [
        "person",
        "manager"
      ],
      "title": "AccountChartLossKind",
      "type": "string"
    },
    "AccountChartLossReadSchema": {
      "description": "A rep's word on the chart that lost its person: what it said, and where they are now.",
      "properties": {
        "can_return": {
          "description": "Whether what was set comes back if a row names them here again.",
          "title": "Can Return",
          "type": "boolean"
        },
        "cause": {
          "$ref": "#/$defs/AccountChartLossCause",
          "description": "moved: their row now names another company (now_at_key, when it is found); table_off: their table no longer feeds Accounts; table_trashed: their table is in the Trash; replaced: their row is still here but names someone else now; row_deleted: their row is gone; not_found: no row puts them here, and none was kept to say why."
        },
        "kind": {
          "$ref": "#/$defs/AccountChartLossKind",
          "description": "person: the person a rep gave a role or a line to is no longer at the account. manager: the manager a rep said someone reports to is no longer at the account; their line falls back to the chart's own sources meanwhile."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Their name when the rep set it, if known.",
          "title": "Name"
        },
        "now_at_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "With moved: the account their rows put them at.",
          "title": "Now At Key"
        },
        "now_at_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "That account's name.",
          "title": "Now At Name"
        },
        "person_key": {
          "description": "The person who is gone, as forget takes them.",
          "title": "Person Key",
          "type": "string"
        },
        "role": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountPersonRole"
            },
            {
              "type": "null"
            }
          ],
          "description": "The part the rep said they play, with kind person."
        },
        "subject_person_id": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "With kind manager: the person on the chart whose line named them.",
          "title": "Subject Person Id"
        }
      },
      "required": [
        "kind",
        "person_key",
        "name",
        "role",
        "subject_person_id",
        "cause",
        "now_at_key",
        "now_at_name",
        "can_return"
      ],
      "title": "AccountChartLossReadSchema",
      "type": "object"
    },
    "AccountChartPersonReadSchema": {
      "description": "One person on the chart, the line drawn for them, and what reps set.",
      "properties": {
        "edited_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Edited At"
        },
        "edited_by_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Edited By User Id"
        },
        "hidden": {
          "description": "Whether a rep hid them from the chart.",
          "title": "Hidden",
          "type": "boolean"
        },
        "hidden_reason": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountHiddenReason"
            },
            {
              "type": "null"
            }
          ],
          "description": "With hidden: why. left: they left the company; wrong_person: the row is not someone at this company; not_relevant: here, but not part of the deal. Null when shown, or when no reason was given."
        },
        "line": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountChartLineReadSchema"
            },
            {
              "type": "null"
            }
          ],
          "description": "The line drawn; None when no source gives one."
        },
        "other_lines": {
          "description": "What weaker sources say, where they name a different manager.",
          "items": {
            "$ref": "#/$defs/AccountChartLineReadSchema"
          },
          "title": "Other Lines",
          "type": "array"
        },
        "person": {
          "$ref": "#/$defs/AccountPersonReadSchema"
        },
        "role": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountPersonRole"
            },
            {
              "type": "null"
            }
          ],
          "description": "Their part in a deal, as a rep set it."
        },
        "role_set_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "When the role was set.",
          "title": "Role Set At"
        },
        "role_set_by_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Who set the role, when one is set.",
          "title": "Role Set By User Id"
        }
      },
      "required": [
        "person",
        "line",
        "other_lines",
        "role",
        "hidden",
        "edited_by_user_id",
        "edited_at",
        "role_set_by_user_id",
        "role_set_at"
      ],
      "title": "AccountChartPersonReadSchema",
      "type": "object"
    },
    "AccountChartWindowReadSchema": {
      "description": "The part of a chart sent when only part was asked for (``levels``).",
      "properties": {
        "focus_path": {
          "description": "With focus: the way down to them, from the top of their tree.",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "title": "Focus Path",
          "type": "array"
        },
        "loose_count": {
          "description": "People with no line either way: no manager, no reports.",
          "title": "Loose Count",
          "type": "integer"
        },
        "loose_shown": {
          "description": "How many of those are drawn.",
          "title": "Loose Shown",
          "type": "integer"
        },
        "reports": {
          "additionalProperties": {
            "type": "integer"
          },
          "description": "How many report to each drawn person, drawn or not, for each who has any.",
          "propertyNames": {
            "format": "uuid"
          },
          "title": "Reports",
          "type": "object"
        },
        "shown": {
          "description": "The people drawn, top down. people also holds the ones the page names elsewhere: the hidden, role holders, the draft's candidates, a lost line's subject.",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "title": "Shown",
          "type": "array"
        },
        "top_count": {
          "description": "People at the top of a tree: no manager, some reports.",
          "title": "Top Count",
          "type": "integer"
        },
        "top_shown": {
          "description": "How many of those are drawn.",
          "title": "Top Shown",
          "type": "integer"
        },
        "visible_count": {
          "description": "Everyone on the chart who is not hidden.",
          "title": "Visible Count",
          "type": "integer"
        }
      },
      "required": [
        "shown",
        "reports",
        "visible_count",
        "loose_count",
        "loose_shown",
        "top_count",
        "top_shown",
        "focus_path"
      ],
      "title": "AccountChartWindowReadSchema",
      "type": "object"
    },
    "AccountDepartment": {
      "description": "The part of a company a person's title names (review AC-12). None: it names none.\n\nRead off the title's words by a fixed rule (``org_chart.title_department``).",
      "enum": [
        "sales",
        "marketing",
        "customer_success",
        "product",
        "design",
        "engineering",
        "data",
        "it",
        "security",
        "finance",
        "people",
        "operations",
        "legal"
      ],
      "title": "AccountDepartment",
      "type": "string"
    },
    "AccountEmailStatus": {
      "description": "What is known of a person's address (review AC-12). None: nothing checked it.\n\nThe verdict of the Verify email column over the address on their row, the\nwords that column writes; BOUNCED when an email to them bounced, whatever\na check said.",
      "enum": [
        "valid",
        "catch_all",
        "risky",
        "unknown",
        "invalid",
        "disposable",
        "bounced"
      ],
      "title": "AccountEmailStatus",
      "type": "string"
    },
    "AccountHiddenReason": {
      "description": "Why a rep hid a person from the chart (review AC-33). None: not said.",
      "enum": [
        "left",
        "wrong_person",
        "not_relevant"
      ],
      "title": "AccountHiddenReason",
      "type": "string"
    },
    "AccountKeyKind": {
      "description": "Which value of a row named its account.",
      "enum": [
        "website",
        "company_page",
        "email_domain"
      ],
      "title": "AccountKeyKind",
      "type": "string"
    },
    "AccountLineConfidence": {
      "description": "How sure a line is: stated somewhere (confirmed), or the draft's guess (likely).",
      "enum": [
        "confirmed",
        "likely"
      ],
      "title": "AccountLineConfidence",
      "type": "string"
    },
    "AccountLineSource": {
      "description": "Where a reporting line came from.",
      "enum": [
        "rep",
        "table",
        "research",
        "draft"
      ],
      "title": "AccountLineSource",
      "type": "string"
    },
    "AccountManagerColumnOfferReadSchema": {
      "description": "A people table's column the chart could be drawn from, once a person picks it.",
      "properties": {
        "column_id": {
          "format": "uuid",
          "title": "Column Id",
          "type": "string"
        },
        "column_name": {
          "title": "Column Name",
          "type": "string"
        },
        "table_id": {
          "format": "uuid",
          "title": "Table Id",
          "type": "string"
        },
        "table_name": {
          "title": "Table Name",
          "type": "string"
        }
      },
      "required": [
        "table_id",
        "table_name",
        "column_id",
        "column_name"
      ],
      "title": "AccountManagerColumnOfferReadSchema",
      "type": "object"
    },
    "AccountNamesake": {
      "description": "What another person at the account going by the same name is to someone (review AC-19).\n\nNames match as their words, case, accents and punctuation gone. LIKELY_SAME:\na full name (two words or more, none a lone letter) and nothing tells them\napart (at most one of them has a LinkedIn profile), so they are likely one\nperson found twice, as a merge leaves them. SAME_NAME: each has a LinkedIn\nprofile of their own, so they are two people, or the name is short of a\nfull one, which says too little. A placeholder (\"LinkedIn Member\") is no\nname, and names no namesakes.",
      "enum": [
        "likely_same",
        "same_name"
      ],
      "title": "AccountNamesake",
      "type": "string"
    },
    "AccountNamesakeReadSchema": {
      "description": "Another person at the account going by the same name (review AC-19).",
      "properties": {
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email"
        },
        "id": {
          "description": "Their person id.",
          "format": "uuid",
          "title": "Id",
          "type": "string"
        },
        "kind": {
          "$ref": "#/$defs/AccountNamesake",
          "description": "`likely_same`: nothing tells the two apart, so they are likely one person found twice (a merge often leaves them). `same_name`: each has a LinkedIn profile of their own, or the name is short of a full one (one word, or a lone letter)."
        },
        "linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Linkedin Url"
        }
      },
      "required": [
        "id",
        "email",
        "linkedin_url",
        "kind"
      ],
      "title": "AccountNamesakeReadSchema",
      "type": "object"
    },
    "AccountPersonEnrolmentReadSchema": {
      "properties": {
        "bounced": {
          "description": "Whether an email to the person bounced.",
          "title": "Bounced",
          "type": "boolean"
        },
        "enrolment_id": {
          "format": "uuid",
          "title": "Enrolment Id",
          "type": "string"
        },
        "failure_code": {
          "anyOf": [
            {
              "$ref": "#/$defs/EnrolmentFailureCode"
            },
            {
              "type": "null"
            }
          ],
          "description": "What failed, on a failed enrolment only."
        },
        "last_sent_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Last Sent At"
        },
        "replied_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Replied At"
        },
        "sequence_id": {
          "format": "uuid",
          "title": "Sequence Id",
          "type": "string"
        },
        "sequence_name": {
          "title": "Sequence Name",
          "type": "string"
        },
        "status": {
          "$ref": "#/$defs/EnrolmentStatus"
        },
        "stop_reason": {
          "anyOf": [
            {
              "$ref": "#/$defs/StopReason"
            },
            {
              "type": "null"
            }
          ],
          "description": "Why a stopped enrolment stopped, such as a reply; null otherwise."
        }
      },
      "required": [
        "enrolment_id",
        "sequence_id",
        "sequence_name",
        "status",
        "last_sent_at",
        "replied_at",
        "stop_reason",
        "bounced",
        "failure_code"
      ],
      "title": "AccountPersonEnrolmentReadSchema",
      "type": "object"
    },
    "AccountPersonReadSchema": {
      "description": "One person at the account, once however many rows name them.",
      "properties": {
        "data_at": {
          "description": "How old what is shown is: when their title last changed.",
          "format": "date-time",
          "title": "Data At",
          "type": "string"
        },
        "department": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountDepartment"
            },
            {
              "type": "null"
            }
          ],
          "description": "The department their title names, read off its words; null if none."
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email"
        },
        "email_status": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountEmailStatus"
            },
            {
              "type": "null"
            }
          ],
          "description": "What is known of their address: the verdict of the Verify email column over it, or `bounced`; null when nothing checked it."
        },
        "enrolments": {
          "items": {
            "$ref": "#/$defs/AccountPersonEnrolmentReadSchema"
          },
          "title": "Enrolments",
          "type": "array"
        },
        "id": {
          "description": "The person's id: what a URL or an edit names them by.",
          "format": "uuid",
          "title": "Id",
          "type": "string"
        },
        "key": {
          "description": "The person's key: their LinkedIn profile, else their address.",
          "title": "Key",
          "type": "string"
        },
        "last_contacted_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Last Contacted At"
        },
        "linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Linkedin Url"
        },
        "matched_on": {
          "$ref": "#/$defs/AccountKeyKind",
          "description": "What put them on this account: their company's website, its LinkedIn page, or their work address."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Name"
        },
        "namesake_count": {
          "description": "How many others at the account go by the same name, all of them.",
          "title": "Namesake Count",
          "type": "integer"
        },
        "namesakes": {
          "description": "The others at the account going by the same name, likely the same first, at most 10; their address or profile tells them apart.",
          "items": {
            "$ref": "#/$defs/AccountNamesakeReadSchema"
          },
          "title": "Namesakes",
          "type": "array"
        },
        "replied_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Replied At"
        },
        "role": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountPersonRole"
            },
            {
              "type": "null"
            }
          ],
          "description": "The part a rep says they play in a deal, set on the org chart."
        },
        "seniority": {
          "anyOf": [
            {
              "$ref": "#/$defs/AccountSeniority"
            },
            {
              "type": "null"
            }
          ],
          "description": "How senior their title says they are, read off its words; null with no title. `other` is a title with no rank word."
        },
        "sources": {
          "items": {
            "$ref": "#/$defs/AccountPersonSourceReadSchema"
          },
          "title": "Sources",
          "type": "array"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Title"
        }
      },
      "required": [
        "id",
        "key",
        "name",
        "title",
        "email",
        "linkedin_url",
        "matched_on",
        "data_at",
        "last_contacted_at",
        "replied_at",
        "sources",
        "enrolments",
        "seniority",
        "department",
        "email_status",
        "role",
        "namesakes",
        "namesake_count"
      ],
      "title": "AccountPersonReadSchema",
      "type": "object"
    },
    "AccountPersonRole": {
      "description": "The part a rep says a person plays in a deal. None: not known.",
      "enum": [
        "champion",
        "budget_holder",
        "decision_maker",
        "influencer",
        "user",
        "blocker"
      ],
      "title": "AccountPersonRole",
      "type": "string"
    },
    "AccountPersonSourceReadSchema": {
      "properties": {
        "record_id": {
          "format": "uuid",
          "title": "Record Id",
          

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://artifacts.apis.io/getoneprofile-ai/json-schema/getoneprofile-ai-account-org-chart-schema-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/getoneprofile-ai-account-org-chart-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.