{
    "paths": {
        "/v1/analytics/teamactivity": {
            "post": {
                "operationId": "analyticsTeamActivity",
                "summary": "Query team activity",
                "description": "Query activity data for the user's team.  Reports activity for a particular period across one or\nmore of the following measures<br/>\n<br/>\n`sentmails` - emails sent<br/>\n`rcvdstandard` - emails received (non-bulk)<br/>\n`rcvdbulk` - bulk emails received<br/>\n`meetings` - meetings scheduled<br/>\n`meetingmins` - meeting minutes scheduled<br/>\n`inbcalls` - inbound voice calls<br/>\n`inbcallmins` - inbound voice call minutes<br/>\n`outbcalls` - outbound voice calls<br/>\n`outbcallmins` - outbound voice call minutes<br/>\n`outbcalls_short` - The number of outbound calls that were a short amount of time in duration<br/>\n`outbcalls_medium` - The number of outbound calls that were a medium amount of time in duration<br/>\n`outbcalls_long` - The number of minutes in outbound calls that were a long amount of time in duration<br/>\n`outbcalls_short_mins` - The number of minutes in outbound calls that were short in duration<br/>\n`outbcalls_medium_mins` - The number of minutes in outbound calls that were medium in duration<br/>\n`outbcalls_long_mins` - The number of minutes in outbound calls that were long in duration<br/>\n`inbcalls_short` - The number of inbound calls that were a short amount of time in duration<br/>\n`inbcalls_medium` - The number of inbound calls that were a medium amount of time in duration<br/>\n`inbcalls_long` - The number of inbound calls that were a long amount of time in duration<br/>\n`inbcalls_short_mins` - The number of minutes in inbound calls that were short in duration<br/>\n`inbcalls_medium_mins` - The number of minutes in inbound calls that were medium in duration<br/>\n`inbcalls_long_mins` - The number of minutes in inbound calls that were long in duration<br/>\n`sentmessages` - sent text messages<br/>\n`rcvdmessages` - received text messages<br/>\n`creatednotes` - Notes created<br/>\n`updatednotes` - Notes updated<br/>\n`newtodos` - ToDos created<br/>\n`donetodos` - ToDos completed<br/>\n`donesteps` - Steps completed<br/>\n`mailopens` - Email opens<br/>\n`meta_value` - The pipeline value<br/>\n<br/>\nQueries must specify a period scale, one of `year`, `quarter`, `month` or `week`\n",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "exampleQueryName": {
                                        "description": "Each query in the map should have a different name. The response will be organized by the query names that were provided.",
                                        "$ref": "#/components/schemas/Query"
                                    }
                                },
                                "examples": [
                                    {
                                        "queries": {
                                            "advisorqtr": {
                                                "max": 30,
                                                "scale": "quarter",
                                                "tag": "advisor",
                                                "measures": [
                                                    "sentmails",
                                                    "rcvdstandard",
                                                    "meetings",
                                                    "inbcalls",
                                                    "outbcalls"
                                                ]
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "description": "map of `Query` definitions. The response will be organized by the query names that were provided in the input map.",
                    "required": true
                }
            }
        },
        "/v1/analytics/teamactivity/update": {
            "get": {
                "operationId": "analyticsTeamActivityUpdate",
                "summary": "Update team activity",
                "description": "Update team activity for one or more team members. Note that calling this more frequently than every 15 minutes will result in updates being skipped.",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "schema": {
                            "type": "string"
                        },
                        "name": "tag",
                        "in": "query",
                        "description": "Tag that identifies which team members to update"
                    },
                    {
                        "schema": {
                            "type": "string"
                        },
                        "name": "wait",
                        "in": "query",
                        "description": "Amount of time (in ms) to wait for update to complete (default is 1 minute)"
                    },
                    {
                        "schema": {
                            "type": "string"
                        },
                        "name": "skip",
                        "in": "query",
                        "description": "Do not start an update, just return the most recent update date"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Date range of updates",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "oldest": {
                                            "description": "date of lesat recently updated team member",
                                            "type": "number"
                                        },
                                        "newest": {
                                            "description": "date of most recently updated team member",
                                            "type": "number"
                                        },
                                        "users": {
                                            "description": "number of users that have been processed",
                                            "type": "number"
                                        },
                                        "skipped": {
                                            "description": "number of users that have skipped being updated",
                                            "type": "number"
                                        },
                                        "updated": {
                                            "description": "number of users that finished being updated before returning",
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/activity": {
            "post": {
                "operationId": "analyticsActivity",
                "summary": "Query user activity",
                "description": "Query activity data for the user.  Reports on one or more of the following activity measures<br/>\n<br/>\n`sentmails` - emails sent<br/>\n`rcvdstandard` - emails received (non-bulk)<br/>\n`rcvdbulk` - bulk emails received<br/>\n`meetings` - meetings scheduled<br/>\n`meetingmins` - meeting minutes scheduled<br/>\n`inbcalls` - inbound voice calls<br/>\n`inbcallmins` - inbound voice call minutes<br/>\n`outbcalls` - outbound voice calls<br/>\n`outbcallmins` - outbound voice call minutes<br/>\n`outbcalls_short` - The number of outbound calls that were a short amount of time in duration<br/>\n`outbcalls_medium` - The number of outbound calls that were a medium amount of time in duration<br/>\n`outbcalls_long` - The number of minutes in outbound calls that were a long amount of time in duration<br/>\n`outbcalls_short_mins` - The number of minutes in outbound calls that were short in duration<br/>\n`outbcalls_medium_mins` - The number of minutes in outbound calls that were medium in duration<br/>\n`outbcalls_long_mins` - The number of minutes in outbound calls that were long in duration<br/>\n`inbcalls_short` - The number of inbound calls that were a short amount of time in duration<br/>\n`inbcalls_medium` - The number of inbound calls that were a medium amount of time in duration<br/>\n`inbcalls_long` - The number of inbound calls that were a long amount of time in duration<br/>\n`inbcalls_short_mins` - The number of minutes in inbound calls that were short in duration<br/>\n`inbcalls_medium_mins` - The number of minutes in inbound calls that were medium in duration<br/>\n`inbcalls_long_mins` - The number of minutes in inbound calls that were long in duration<br/>\n`sentmessages` - sent text messages<br/>\n`rcvdmessages` - received text messages<br/>\n`creatednotes` - Notes created<br/>\n`updatednotes` - Notes updated<br/>\n`newtodos` - ToDos created<br/>\n`donetodos` - ToDos completed<br/>\n`donesteps` - Steps completed<br/>\n`mailopens` - Email opens<br/>\n<br/>\nQueries must specify a period scale, one of `year`, `quarter`, `month` or `week`\n",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity data for individual reporting periods",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "title": "DataBuckets",
                                        "required": [
                                            "key",
                                            "stamp"
                                        ],
                                        "properties": {
                                            "key": {
                                                "description": "Key encoding the reporting period e.g. 2017 for year 2017, 2018Q1 for Q1 2017, etc.",
                                                "type": "string"
                                            },
                                            "stamp": {
                                                "description": "Timestamp of beginning of reporting period",
                                                "type": "integer"
                                            },
                                            "sentmails": {
                                                "description": "Emails sent by user",
                                                "type": "integer"
                                            },
                                            "rcvdstandard": {
                                                "description": "(Non-bulk) emails received",
                                                "type": "integer"
                                            },
                                            "rcvdbulk": {
                                                "description": "Bulk emails received",
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "exampleQueryName": {
                                        "description": "Each query in the map should have a different name. The response will be organized by the query names that were provided.",
                                        "$ref": "#/components/schemas/Query"
                                    }
                                },
                                "examples": [
                                    {
                                        "queries": {
                                            "advisorqtr": {
                                                "max": 30,
                                                "scale": "quarter",
                                                "tag": "advisor",
                                                "measures": [
                                                    "sentmails",
                                                    "rcvdstandard",
                                                    "meetings",
                                                    "inbcalls",
                                                    "outbcalls"
                                                ]
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "description": "map of `Query` definitions. The response will be organized by the query names that were provided in the input map.",
                    "required": true
                }
            }
        },
        "/v1/analytics/projects": {
            "post": {
                "operationId": "analyticsProjects",
                "summary": "Query project data",
                "description": "Query for data about projects/deals that are active or in the pipeline.  You can select projects according to where\ntheir start, active and end dates fall relative to a reporting period, and retrieve various metrics for each.\n###Reporting Period\nThe`scale` property controls what type of reporting period you want to query - the current `year`, `quarter`, or `month`.<br/>\nThe `relative` property allows you to retrieve future periods, by setting e.g. `relative:0` for the current\nperiod, `relative:1` for the next, and so on.  If not set it defaults to `relative:0`\n###Metrics\nThe following metrics are available about each project<br/>\n`segment` - the segment the project belongs to<br/>\n`stage` - the stage the project is in<br/>\n`meta_value` - the financial value of the project<br/>\n`project_start` - UTC ms timestamp of the project start date<br/>\n`project_active` - UTC ms timestamp of the project active date<br/>\n`project_end` - UTC ms timestamp of the project end date<br/>\n",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pipeline data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "mode": {
                                        "description": "one of `pipeline` or `active` (default is pipeline)",
                                        "type": "string"
                                    },
                                    "exampleQueryName": {
                                        "description": "Each query in the map should have a different name. The response will be organized by the query names that were provided.",
                                        "$ref": "#/components/schemas/ProjectQuery"
                                    }
                                },
                                "examples": [
                                    {
                                        "queries": {
                                            "dealsqtr": {
                                                "mode": "pipeline",
                                                "always": "in-period",
                                                "scale": "quarter",
                                                "relative": 0,
                                                "metrics": [
                                                    "stage",
                                                    "segment",
                                                    "nextstep",
                                                    "meta_value",
                                                    "project_start",
                                                    "project_end"
                                                ]
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Map of `ProjectQuery` definitions. The response will be organized by the query names that were provided in the input map.",
                    "required": true
                }
            }
        },
        "/v1/analytics/leads": {
            "post": {
                "operationId": "analyticsLeads",
                "summary": "Query lead qualification data",
                "description": "Query lead qualification data",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lead Qualification Data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "exampleQueryName": {
                                        "description": "Each query in the map should have a different name. The response will be organized by the query names that were provided.",
                                        "$ref": "#/components/schemas/Query"
                                    }
                                }
                            }
                        }
                    },
                    "description": "map of `Query` definitions. The response will be organized by the query names that were provided in the input map.",
                    "required": true
                }
            }
        },
        "/v1/analytics/funnel": {
            "post": {
                "operationId": "analyticsFunnel",
                "summary": "Query funnel information (BETA)",
                "description": "Query funnel information (BETA)<br/>\nThe following metrics are supported:<br/>\n<br/>\n`leadcount` -     The number of contacts that went into the lead stage after the start of the period<br/>\n`currentcount` -  The number of contacts that went into the current stage after the start of the period<br/>\n`futurecount` -   The number of contacts that went into the future stage after the start of the period<br/>\n`currentcount` -  The number of contacts that went into the current stage after the start of the period<br/>\n`pendingcount` -  The number of contacts that went into the pending stage after the start of the period<br/>\n`woncount`     -  The number of contacts that went into the won stage after the start of the period<br/>\n`lostcount`    -  The number of contacts that went into the lost stage after the start of the period<br/>\n<br/>\n`stepwoncount` -  The number of funnels that made it to the won step<br/>\n`steplostcount` - The number of funnels that went to the lost step<br/>\n`period_steplostcount` - The number of funnels that went to the lost step during the selected period<br/>\n`stepnextcount` - The number of funnels that went into the next step<br/>\n`stepintocount` - The number of funnels that stepped into a step<br/>\n`period_stepintocount` - The number of funnels that stepped into a step in the selected period<br/>\n`stepcount` - The number of funnels currently in a step<br/>\n`averagesteptime` - The average time in a step<br/>\n`mediansteptime` - The median time in a step<br/>\n <br/>\n`cumulative_lead` - The number of current open leads<br/>\n`cumulative_current` - The number of funnels in the current stage<br/>\n`cumulative_future` - The number of funnels in the future stage<br/>\n`cumulative_pending` - The number of funnels in the pending stage<br/>\n`cumulative_won` - The number of funnels in the won stage (excludes anything before the selected period)<br/>\n`cumulative_lost` - The number of funnels in the lost stage (excludes anything before the selected period)<br/>\n<br/>\n`lead_future` - The number of funnels that went from the lead stage to the future stage<br/>\n`lead_lost` - The number of funnels that went from the lead stage to the lost stage<br/>\n`future_current` - The number of funnels that went from the future stage to the current stage<br/>\n`future_won` - The number of funnels that went from the future stage to the won stage (only applicable if current/pending stages are disabled)<br/>\n`future_lost` - The number of funnels that went from the future stage to the lost stage<br/>\n`current_pending` - The number of funnels that wen from the current stage to the pending stage<br/>\n`current_lost` - The number of funnels that went from the current stage to the lost stage<br/>\n`current_won` - The number of funnels that went from the current stage to the won stage (only applicable if pending stages are disabled)<br/>\n`pending_won` - The number of funnels that went from the pending stage to the won stage<br/>\n`pending_lost` - The number of funnels that went from the pending stage to the lost stage<br/>\n <br/>\n`period_lead_future` - The number of funnels that went from the lead stage to the future stage in the selected period<br/>\n`period_lead_lost` - The number of funnels that went from the lead stage to the lost stage in the selected period<br/>\n`period_future_current` - The number of funnels that went from the future stage to the current stage in the selected period<br/>\n`period_future_won` - The number of funnels that went from the future stage to the won stage in the selected period (only applicable if current/pending stages are disabled)<br/>\n`period_future_lost` - The number of funnels that went from the future stage to the lost stage in the selected period<br/>\n`period_current_pending` - The number of funnels that wen from the current stage to the pending stage in the selected period<br/>\n`period_current_lost` - The number of funnels that went from the current stage to the lost stage in the selected period<br/>\n`period_current_won` - The number of funnels that went from the current stage to the won stage in the selected period (only applicable if pending stages are disabled)<br/>\n`period_pending_won` - The number of funnels that went from the pending stage to the won stage in the selected period<br/>\n`period_pending_lost` - The number of funnels that went from the pending stage to the lost stage in the selected period<br/>\n <br/>\n`lead_time` - The median time funnels have been in the lead stage in milliseconds<br/>\n`future_time` - The median time funnels have been in the future stag in millisecondse<br/>\n`current_time` - The median time funnels have been in the current stage in milliseconds<br/>\n`pending_time` - The median time funnels have been in the pending stage in milliseconds<br/>\n<br/>\n`lead_uncombined_conversion` - The uncombined conversion of the lead stage<br/>\n`future_uncombined_conversion` - The uncombined conversion of the future stage<br/>\n`current_uncombined_conversion` - The uncombined conversion of the current stage<br/>\n`pending_uncombined_conversion` - The uncombined conversion of the pending stage<br/>\n`won_uncombined_conversion` - The uncombined conversion of the won stage<br/>\n<br/>\n`lead_combined_conversion` - The combined conversion of the lead stage<br/>\n`future_combined_conversion` - The combined conversion of the future stage<br/>\n`current_combined_conversion` - The combined conversion of the current stage<br/>\n`pending_combined_conversion` - The combined conversion of the pending stage<br/>\n`won_combined_conversion` - The combined conversion of the won stage<br/>\n<br/>\n`step_uncombined_conversion` - The per-step uncombined conversion<br/>\n`step_combined_conversion` - The per-step combined conversion<br/>\n<br/>\n`cumulative_steplostcount` - The total number of funnels that went to lost before a step<br/>\n`cumulative_period_steplostcount` -  The total number of funnels that went to lost before a step, only during the selected period<br/>\n`cumulative_mediansteptime` - The median step time of all steps before a step<br/>\n`cumulative_period_mediansteptime` - The median step time of all steps before a step, only during the selected period<br/>\n`stepintolostcount` - The number of funnels that went to lost from the pervious step to the current step<br/>\n`period_stepintolostcount` - The number of funnels that went to lost from the pervious step to the current step, only during the selected period<br/>\n<br/>\n`lasttouch` - The last time a funnel had a touch activity as a timestamp<br/>\n`lastactivity` - The last time a funnel had any activity as a timestamp<br/>\n`lastengagement` - The last time a funnel had a engagement activity as a timestamp<br/>\n`average_touches` - The average number of touches<br/>\n<br/>\n`sentmails` - The number of emails sent<br/>\n`rcvdstandard` - The number of emails received (non-bulk)<br/>\n`rcvdbulk` - The number of emails received (bulk)<br/>\n`mailopens` - The number of mail opens <br/>\n`sentmessages` - The number of sent text messages <br/>\n`rcvdmessages` - The number of recieved text messages<br/>\n`remails` - emails referenced<br/>\n`touch` - The number of touches<br/>\n`postalbulk` - The number of bulk postal mail<br/>\n`postalstd` - The number of non-bulk postal mail<br/>\n`engagement` - The number of engagments<br/>\n`mailclicks` - The number of mailclicls<br/>\n`mailreplies` - The number of mail replies<br/>\n`dropins` - The number of drop ins<br/>\n`meetings` - The number of meetings <br/>\n`recalls` - The number of referened calls <br/>\n`outbcalls` - The number of outbound calls <br/>\n`inbcalls` - The number of inbound calls <br/>\n`remessages` - The number of referenced text messages<br/>\n`creatednotes` - The number of notes created<br/>\n`donetodos` - The number of todos done <br/>\n`newtodos` - The number of todos created <br/>\n`donesteps` - The number of steps done <br/>\n`dropinmins` - The number of minutes for dropins<br/>\n`meetingmins` - The number of minutes for meetings<br/>\n`recallmins` - The number of minures for referenced calls<br/>\n`outbcallmins` - The number of minitues in outbound calls<br/>\n`inbcallmins` - The number of minutes in inbound calls<br/>\n`outbcalls_short` - The number of outbound calls that were a short amount of time in duration<br/>\n`outbcalls_medium` - The number of outbound calls that were a medium amount of time in duration<br/>\n`outbcalls_long` - The number of minutes in outbound calls that were a long amount of time in duration<br/>\n`outbcalls_short_mins` - The number of minutes in outbound calls that were short in duration<br/>\n`outbcalls_medium_mins` - The number of minutes in outbound calls that were medium in duration<br/>\n`outbcalls_long_mins` - The number of minutes in outbound calls that were long in duration<br/>\n`inbcalls_short` - The number of inbound calls that were a short amount of time in duration<br/>\n`inbcalls_medium` - The number of inbound calls that were a medium amount of time in duration<br/>\n`inbcalls_long` - The number of inbound calls that were a long amount of time in duration<br/>\n`inbcalls_short_mins` - The number of minutes in inbound calls that were short in duration<br/>\n`inbcalls_medium_mins` - The number of minutes in inbound calls that were medium in duration<br/>\n`inbcalls_long_mins` - The number of minutes in inbound calls that were long in duration<br/>\n`outreach` - The number of emails, texts, and calls to unique people per day<br/>\n`engagement` - The number of meetings with or emails, texts, and calls from unique people per day<br/>\n`interaction` - The number of emails, texts, calls, and meetings with unique people per day<br/>\n<br/>\nConfigured Measures can be queried using \"#measure-name\".\n",
                "tags": [
                    "Analytics"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "analytics"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lead Qualification Data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "usertags": {
                                        "description": "Array of user tags to filter users",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "queries": {
                                        "type": "object",
                                        "description": "map of `Query` definitions. The response will be organized by the query names provided in the input map.",
                                        "additionalProperties": {
                                            "$ref": "#/components/schemas/FunnelQuery"
                                        }
                                    }
                                },
                                "required": [
                                    "queries"
                                ]
                            }
                        }
                    },
                    "required": true
                }
            }
        },
        "/v1/companies/create": {
            "post": {
                "operationId": "companiesCreate",
                "summary": "Create company",
                "description": "Create a new company or enhance an existing company within Cloze. Companies can be created with just a domain name or both a name and another unique identifier such as a phone number and email address. Companies may be shared to the team by setting `shareTo` in the request body to `team`.",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CompanyRef"
                            }
                        }
                    },
                    "name": "company",
                    "description": "The company to create."
                }
            }
        },
        "/v1/companies/update": {
            "post": {
                "operationId": "companiesUpdate",
                "summary": "Update company",
                "description": "Enhance an existing company within Cloze. Companies can be referenced with just a domain name or both a name and another unique identifier such as a phone number and email address. Companies may be shared to the team by setting `shareTo` in the request body to `team`.",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CompanyRef",
                                "examples": [
                                    {
                                        "name": "IncFire Studios",
                                        "description": "Marketing videos made awesome!",
                                        "stage": "lead",
                                        "segment": "customer",
                                        "domains": [
                                            "incfire.com"
                                        ],
                                        "customFields": [
                                            {
                                                "id": "lead-source",
                                                "type": "keywords",
                                                "value": "comdex2018"
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "description": "The company to update."
                }
            }
        },
        "/v1/companies/find": {
            "get": {
                "operationId": "companiesFind",
                "summary": "Find companies",
                "description": "Find companies.\n\nThis endpoint supports extensive query, sort and group by options.\n\nEither full person records or person best identifiers can be returned.\n\nThe API supports a `paged` mode of operation: the `pagenumber` parameter specifies the  page to retrieve,\n`pagesize` specifies the page size.\n\nTo assist in paged retrievals, the query parameter `countonly` may be set. This returns a count of all matching\ncompany records in a `availablecount` response property. No company records are returned in this case. Only `availablecount`\nand `errorcode` are returned in the response.\n",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/pageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/countOnly"
                    },
                    {
                        "$ref": "#/components/parameters/sort"
                    },
                    {
                        "$ref": "#/components/parameters/sortDir"
                    },
                    {
                        "$ref": "#/components/parameters/group"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/step"
                    },
                    {
                        "$ref": "#/components/parameters/assignee"
                    },
                    {
                        "$ref": "#/components/parameters/assigned"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Companies",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "availablecount": {
                                            "description": "Count of all available records",
                                            "type": "number"
                                        },
                                        "pagenumber": {
                                            "description": "Page number of returned data.",
                                            "type": "number"
                                        },
                                        "pagesize": {
                                            "description": "Page size.",
                                            "type": "number"
                                        },
                                        "companies": {
                                            "description": "Array of company records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/CompanyRef"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/companies/feed": {
            "get": {
                "operationId": "companiesFeed",
                "summary": "Companies feed",
                "description": "Designed for bulk-retrieval of company records, supports an initial bulk retrieval of company records,\nfollowed by an option to retrieve records as changes and new records occur over time.\n\nWhilst the feed API permit records to be constrained by stage and segment, for more sophisticated find capabilities\nthe find APIs may be used.\n\nProvides option to return audit change records that have occurred since the person was last delivered\nby the feed API.\n\nThe API operates in a cursored mode of operation in much the same way as you would use a cursor on a traditional database.\nThe cursor provides a consistent approach to retrieval during initial retrieval and thereafter following\nchanges over time.\n\nThis endpoint supports the major query(segment, stage, step) and scope(team etc) parameters. Records are always\nreturned in ascending order of last change time.\n\nFor the stream companies feed endpoint, a `cursor` will be set in all non-error responses.  Use this to retrieve\nthe next batch of records by passing this in the _cursor_ query parameter of the next request. Don't forget to add\nany required API keys and user identification to the request. In streaming mode, API clients should handle\nthe case that occurs after the initial or afterwards where the stream is quiet and no records are available.\nIn all cases, use the returned _cursor_ to form the next request and implement suitable polling\nto receive new records as changes occur.\n",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/keysOnly"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/modifiedAfter"
                    },
                    {
                        "$ref": "#/components/parameters/includeAuditedChanges"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Companies",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "availablecount": {
                                            "description": "Count of all available records. Includes records in current response and those available to be received now by further cursored requests.",
                                            "type": "number",
                                            "examples": [
                                                1
                                            ]
                                        },
                                        "cursor": {
                                            "description": "Used to retrieve next batch records in streaming feed mode. To retrieve, call the API endpoint URL and provide this in the _cursor_ query parameter along with _api_key_ and _user_ query parameters. No other query parameters are required when retrieving sunsequent batches.",
                                            "type": "string",
                                            "examples": [
                                                "cGFnZXNpemU9MiZzdGFnZT1hY3RpdmUmc2VnbWVudD1jdXN0b21lciZzdW1tYXJ5b25seT10cnVlJnN0YW1wPTE1NDQ5OTk4MTc3MzAma2V5PXVvWUJ0WGJXdmFEYWx3ME1ROUdpWmVpSUFmcTdSRk41cHcwTUVVam9PM0Emc3RhbXA9MTU0NTE2ODQwODI3MCZrZXk9dW9ZQnRYYld2YURhbHcwTVE5R2laWlgtdUtmdklmeENvZFVhV043LUxKZw"
                                            ]
                                        },
                                        "companies": {
                                            "description": "Array of company records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/CompanyRef"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/companies/get": {
            "get": {
                "operationId": "companiesGet",
                "summary": "Get company",
                "description": "Get company based on a unique identifier, for example domain name, twitter, email address or direct identifier\n",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/companyId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Company",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "company": {
                                            "$ref": "#/components/schemas/CompanyRef"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/companies/getmany": {
            "post": {
                "operationId": "companiesGetMany",
                "summary": "Get multiple companies",
                "description": "Get companies based on unique identifiers (for example domain name, syncKey, or portableId)",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Companies",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "companies": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CompanyRef"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [],
                                "properties": {
                                    "uniqueids": {
                                        "description": "Each is a company identifier. When available, this should a company's `syncKey`, `portableId`, one of a company's `uniqueids`.  Alternately (if a company has not previously been retrieved and stored) this can be an email address, phone number, domain name, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "format": {
                                        "description": "Return formatted names and values for custom fields",
                                        "type": "boolean"
                                    },
                                    "team": {
                                        "description": "Identifies whether the team relation or local relation is to be retrieved or deleted",
                                        "type": "boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/companies/timeline": {
            "post": {
                "operationId": "companiesTimeline",
                "summary": "Get company timeline",
                "description": "Get the keys of the messages in the company's timeline.",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimelineQueryResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimelineQuery"
                            }
                        }
                    },
                    "description": "The query"
                }
            }
        },
        "/v1/companies/delete": {
            "delete": {
                "operationId": "companiesDelete",
                "summary": "Delete company",
                "description": "Delete company based on a unique identifier, for example domain name, twitter, email address or direct identifier\n",
                "tags": [
                    "Relations - Companies"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/companyId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete company response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/messages/opens": {
            "get": {
                "operationId": "messagesOpens",
                "summary": "Retrieve email opens",
                "description": "The first time you call the API, you can call it with only `user` and `api_key`. Each time you call it the API will return whether there are more results. If so, `more` will be `true` and you can use the `next` URL to retrieve the next batch of results. If you later want to call the API again, you should set the `from` query parameter to retrieve opens for a subset of messages. For example, to retrieve opens on messages sent within the last 30 days you could compute the value of the `from` parameter in Javascript with `new Date().getTime() - 1000*60*60*24*30`.",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "schema": {
                            "type": "integer"
                        },
                        "name": "from",
                        "description": "UTC ms timestamp for first message to retrieve",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Messages with opens",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "title": "BatchOfOpens",
                                        "required": [
                                            "more",
                                            "messages"
                                        ],
                                        "properties": {
                                            "more": {
                                                "description": "Whether there are any more messages after this batch",
                                                "type": "boolean"
                                            },
                                            "next": {
                                                "description": "URL used to retrieve next batch of messages (you must add your user and api_key)",
                                                "type": "string"
                                            },
                                            "messages": {
                                                "description": "Array of messages that have opens",
                                                "type": "array",
                                                "items": {
                                                    "title": "Message",
                                                    "required": [
                                                        "message",
                                                        "date",
                                                        "opens"
                                                    ],
                                                    "properties": {
                                                        "message": {
                                                            "description": "URL to show the message in Cloze",
                                                            "type": "string"
                                                        },
                                                        "date": {
                                                            "description": "UTC ms timestamp of when the message was sent",
                                                            "type": "integer"
                                                        },
                                                        "threadId": {
                                                            "description": "Unique Id of the thread this message belongs to",
                                                            "type": "string"
                                                        },
                                                        "opens": {
                                                            "description": "Array of message opens (one for each opener fingerprint)",
                                                            "type": "array",
                                                            "items": {
                                                                "title": "Opener",
                                                                "required": [
                                                                    "about",
                                                                    "breakdown"
                                                                ],
                                                                "properties": {
                                                                    "about": {
                                                                        "description": "Information about the opener (IP, user agent, geolocation)",
                                                                        "type": "object"
                                                                    },
                                                                    "breakdown": {
                                                                        "description": "Breakdown of individual opens",
                                                                        "type": "array",
                                                                        "items": {
                                                                            "title": "Open",
                                                                            "required": [
                                                                                "date"
                                                                            ],
                                                                            "properties": {
                                                                                "date": {
                                                                                    "description": "UTC ms timestamp of when open occurred",
                                                                                    "type": "integer"
                                                                                },
                                                                                "cookie": {
                                                                                    "description": "Unique cookie ID associated with the opener (if any)",
                                                                                    "type": "string"
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/messages/get": {
            "post": {
                "operationId": "messagesGet",
                "summary": "Get messages",
                "description": "Get the content of messages\n",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Messages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MessageRef"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "messages"
                                ],
                                "properties": {
                                    "messages": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/MessageKeyRef"
                                        }
                                    },
                                    "wait": {
                                        "description": "In the case messages need to be retrieved from a source, this is the maximum wait time in ms (default 5000). To only use the local copy in Cloze, pass 0.",
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 60000
                                    }
                                }
                            }
                        }
                    },
                    "description": "The information for retrieving messages"
                }
            }
        },
        "/v1/messages/body": {
            "post": {
                "operationId": "messagesBody",
                "summary": "Get message body",
                "description": "Get the full body of a message for display. If there was no `bodytype` returned by /v1/messages/get, then there is no body (so no need to call this API). Retrieving the body may be expensive, so this should only be used when the message is being displayed to a user.",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_unredacted"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Message Body",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "mimeType": {
                                            "type": "string",
                                            "description": "The MIME type of the message body"
                                        },
                                        "expires": {
                                            "type": "string",
                                            "description": "The expiration date of the message body (if any)",
                                            "format": "date-time"
                                        },
                                        "lightMode": {
                                            "type": "boolean",
                                            "description": "The message body is best rendered in light mode"
                                        },
                                        "body": {
                                            "type": "string",
                                            "description": "The message body content"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "key"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "The key of the message to retrieve the body for"
                                    }
                                }
                            }
                        }
                    },
                    "description": "The key of the message"
                }
            }
        },
        "/v1/people/create": {
            "post": {
                "operationId": "peopleCreate",
                "summary": "Create person",
                "description": "Create a new or enhance an existing person within Cloze. People can be created with just an email address or both a name and another unique identifier such as a mobile phone number, twitter handle, or facebook id.  People may be shared to the team by setting `shareTo` in the request body to `team`.",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PersonRef"
                            }
                        }
                    },
                    "name": "person",
                    "description": "The person"
                }
            }
        },
        "/v1/people/update": {
            "post": {
                "operationId": "peopleUpdate",
                "summary": "Update person",
                "description": "Enhance an existing person within Cloze. People can be referenced with just an email address or both a name and another unique identifier such as a mobile phone number, twitter handle, or facebook id.  People may be shared to the team by setting `shareTo` in the request body to `team`.",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PersonRef"
                            }
                        }
                    },
                    "description": "The person"
                }
            }
        },
        "/v1/people/submit": {
            "post": {
                "operationId": "peopleSubmit",
                "summary": "Submit person via form",
                "description": "Create a new or enhance an existing person within Cloze. People can be created with just an email address or both a name and another unique identifier such as a phone number. This API is suitable to be embedded in public forms when combined with very restrictive scope and access filters.",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "submit_form"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FormResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PersonFormRef"
                            }
                        }
                    },
                    "description": "The person"
                }
            }
        },
        "/v1/people/find": {
            "get": {
                "operationId": "peopleFind",
                "summary": "Find people",
                "description": "Find people.\n\nThis endpoint supports extensive query, sort and group by options.\n\nEither full person records or person best identifiers can be returned.\n\nThe API supports a `paged` mode of operation: the `pagenumber` parameter specifies the  page to retrieve,\n`pagesize` specifies the page size.\n\nTo assist in paged retrievals, the query parameter `countonly` may be set. This returns a count of all matching\nperson records in a `availablecount` response property. No person records are returned in this case. Only `availablecount`\nand `errorcode` are returned in the response.\n",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/pageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/countOnly"
                    },
                    {
                        "$ref": "#/components/parameters/sort"
                    },
                    {
                        "$ref": "#/components/parameters/sortDir"
                    },
                    {
                        "$ref": "#/components/parameters/group"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/step"
                    },
                    {
                        "$ref": "#/components/parameters/assignee"
                    },
                    {
                        "$ref": "#/components/parameters/assigned"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "People",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "availablecount": {
                                            "description": "Count of all available records. In feed mode reflects records returned in the current batch and those available currently in the forward stream.",
                                            "type": "number"
                                        },
                                        "pagenumber": {
                                            "description": "Page number of returned data.",
                                            "type": "number"
                                        },
                                        "pagesize": {
                                            "description": "Page size.",
                                            "type": "number"
                                        },
                                        "people": {
                                            "description": "Array of person records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/PersonRef"
                                                }
                                            ]
                                        }
                                    },
                                    "examples": [
                                        {
                                            "Sample 1 Response to a countonly query": {
                                                "errorcode": 0,
                                                "availablecount": 6577
                                            },
                                            "Sample 2 Response to regular query": {
                                                "errorcode": 0,
                                                "availablecount": 13,
                                                "people": [
                                                    {
                                                        "name": "Abby Vine",
                                                        "first": "Abby",
                                                        "last": "Vine",
                                                        "segment": "custom2",
                                                        "stage": "current",
                                                        "step": "*s-14409658066",
                                                        "customFields": [
                                                            {
                                                                "id": "words-of-wisdom",
                                                                "type": "text",
                                                                "value": "Stay calm"
                                                            }
                                                        ]
                                                    },
                                                    {
                                                        "name": "Grape Vine",
                                                        "first": "Grape",
                                                        "last": "Vine",
                                                        "segment": "custom2",
                                                        "stage": "current"
                                                    },
                                                    "etc etc"
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/people/feed": {
            "get": {
                "operationId": "peopleFeed",
                "summary": "People feed",
                "description": "Designed for bulk-retrieval of person records, supports an initial bulk retrieval of person records,\nfollowed by an option to retrieve records as changes and new records occur over time.\n\n\nWhilst the feed API permit records to be constrained by stage and segment, for more sophisticated find capabilities\nthe find APIs may be used.\n\nProvides option to return audit change records that have occurred since the person was last delivered\nby the feed API.\n\nThe API operates in a cursored mode of operation in much the same way as you would use a cursor on a traditional database.\nThe cursor provides a consistent approach to retrieval during initial retrieval and thereafter following\nchanges over time.\n\nThis endpoints supports the major query(segment, stage) and scope(team etc) parameters. Records are always\nreturned in ascending order of last change time.\n\nFor the stream people feed endpoint, a `cursor` will be set in all non-error responses.  Use this to retrieve\nthe next batch of records by passing this in the _cursor_ query parameter of the next request. Don't forget to add\nany required API keys and user identification to the request. In streaming mode, API clients should handle\nthe case that occurs after the initial or afterwards where the stream is quiet and no records are available.\nIn all cases, use the returned _cursor_ to form the next request and implement suitable polling\nto receive new records as changes occur.\n",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/keysOnly"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/modifiedAfter"
                    },
                    {
                        "$ref": "#/components/parameters/includeAuditedChanges"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "People",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "availablecount": {
                                            "description": "Count of all available records. Includes records in current response and those available to be received now by further cursored requests.",
                                            "type": "number"
                                        },
                                        "cursor": {
                                            "description": "Used to retrieve next batch records in streaming mode. To retrieve, call the API endpoint URL and provide this in the _cursor_ query parameter along with _api_key_ and _user_ query parameters. No other query parameters are required when retrieving sunsequent batches.",
                                            "type": "string"
                                        },
                                        "people": {
                                            "description": "Array of person records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/PersonRef"
                                                }
                                            ]
                                        }
                                    },
                                    "examples": [
                                        {
                                            "Sample 1 Response to a countonly query": {
                                                "errorcode": 0,
                                                "availablecount": 6577
                                            },
                                            "Sample 2 Response to regular query": {
                                                "errorcode": 0,
                                                "availablecount": 13,
                                                "cursor": "cGFnZXNpemU9MiZzdGFnZT1hY3RpdmUmc2VnbWVudD1jdXN0b21lciZzdW1tYXJ5b25seT10cnVlJnN0YW1wPTE1NDQ5OTk4MTc3MzAma2V5PXVvWUJ0WGJXdmFEYWx3ME1ROUdpWmVpSUFmcTdSRk41cHcwTUVVam9PM0Emc3RhbXA9MTU0NTE2ODQwODI3MCZrZXk9dW9ZQnRYYld2YURhbHcwTVE5R2laWlgtdUtmdklmeENvZFVhV043LUxKZw",
                                                "people": [
                                                    {
                                                        "name": "Abby Vine",
                                                        "first": "Abby",
                                                        "last": "Vine",
                                                        "segment": "custom2",
                                                        "stage": "current",
                                                        "step": "*s-14409658066",
                                                        "customFields": [
                                                            {
                                                                "id": "words-of-wisdom",
                                                                "type": "text",
                                                                "value": "Stay calm"
                                                            }
                                                        ]
                                                    },
                                                    {
                                                        "name": "Grape Vine",
                                                        "first": "Grape",
                                                        "last": "Vine",
                                                        "segment": "custom2",
                                                        "stage": "current"
                                                    },
                                                    "etc etc"
                                                ]
                                            },
                                            "Sample 3 Response to includeAuditedChanges query": {
                                                "errorcode": 0,
                                                "availablecount": 13,
                                                "cursor": "cGFnZXNpemU9MiZzdGFnZT1hY3RpdmUmc2VnbWVudD1jdXN0b21lciZzdW1tYXJ5b25seT10cnVlJnN0YW1wPTE1NDQ5OTk4MTc3MzAma2V5PXVvWUJ0WGJXdmFEYWx3ME1ROUdpWmVpSUFmcTdSRk41cHcwTUVVam9PM0Emc3RhbXA9MTU0NTE2ODQwODI3MCZrZXk9dW9ZQnRYYld2YURhbHcwTVE5R2laWlgtdUtmdklmeENvZFVhV043LUxKZw",
                                                "results": [
                                                    {
                                                        "person": {
                                                            "name": "Basil Brush",
                                                            "first": "Basil",
                                                            "last": "Brush",
                                                            "segment": "custom2",
                                                            "stage": "current",
                                                            "customFields": [
                                                                {
                                                                    "id": "words-of-wisdom",
                                                                    "type": "text",
                                                                    "value": "Stay calm"
                                                                }
                                                            ]
                                                        },
                                                        "changes": {
                                                            "segment": {
                                                                "before": "none",
                                                                "after": "custom2"
                                                            },
                                                            "words-of-wisdom": {
                                                                "before": "Dont Panic",
                                                                "after": "Stay calm"
                                                            },
                                                            "_since": 548888912852
                                                        }
                                                    },
                                                    {
                                                        "person": {
                                                            "name": "Grape Vine",
                                                            "first": "Grape",
                                                            "last": "Vine",
                                                            "segment": "custom2",
                                                            "stage": "current"
                                                        },
                                                        "changes": "etc etc"
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/people/get": {
            "get": {
                "operationId": "peopleGet",
                "summary": "Get person",
                "description": "Get person based on a unique identifier (for example, email address, syncKey, or portableId)\n",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/personId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Person",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "person": {
                                            "$ref": "#/components/schemas/PersonRef"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/people/getmany": {
            "post": {
                "operationId": "peopleGetMany",
                "summary": "Get multiple people",
                "description": "Get people based on unique identifiers (for example email address, syncKey, or portableId)\n",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "People",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "people": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PersonRef"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "uniqueids": {
                                        "description": "Each is a person identifier. When available, this should a person's `syncKey`, `portableId`, one of a person's `uniqueids`.  Alternately (if a person has not previously been retrieved and stored) this can be an email address, mobile phone number, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "format": {
                                        "description": "Return formatted names and values for custom fields",
                                        "type": "boolean"
                                    },
                                    "team": {
                                        "description": "Identifies whether the team relation or local relation is to be retrieved or deleted",
                                        "type": "boolean"
                                    }
                                }
                            }
                        }
                    },
                    "required": []
                }
            }
        },
        "/v1/people/timeline": {
            "post": {
                "operationId": "peopleTimeline",
                "summary": "Get person timeline",
                "description": "Get the keys of the messages in the person's timeline.",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimelineQueryResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimelineQuery"
                            }
                        }
                    },
                    "description": "The query"
                }
            }
        },
        "/v1/people/delete": {
            "delete": {
                "operationId": "peopleDelete",
                "summary": "Delete person",
                "description": "Delete person based on a unique identifier, for exanple, email, social identifier\n",
                "tags": [
                    "Relations - People"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/personId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Person",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/create": {
            "post": {
                "operationId": "projectsCreate",
                "summary": "Create project",
                "description": "Create a new project or merge updates into an existing one. Projects require a name.",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectRef"
                            }
                        }
                    },
                    "name": "project",
                    "description": "The project or deal to create"
                }
            }
        },
        "/v1/projects/update": {
            "post": {
                "operationId": "projectsUpdate",
                "summary": "Update project",
                "description": "Merge updates into an existing project. Projects require a name.",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectRef",
                                "examples": [
                                    {
                                        "name": "Meadow Brook Renovation",
                                        "summary": "Located at 33 Meadow Brook Lane",
                                        "stage": "future",
                                        "segment": "project",
                                        "createdDate": "2018-04-10",
                                        "customFields": [
                                            {
                                                "id": "value",
                                                "type": "currency",
                                                "value": 15000
                                            }
                                        ],
                                        "appLinks": [
                                            {
                                                "source": "na16.salesforce.com",
                                                "uniqueid": "006j000000Pkp1d",
                                                "label": "Salesforce Opportunity",
                                                "url": "https://na16.salesforce.com/006j000000Pkp1d"
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "description": "The project or deal updates"
                }
            }
        },
        "/v1/projects/find": {
            "get": {
                "operationId": "projectsFind",
                "summary": "Find projects",
                "description": "Find projects\n\nThis endpoint supports extensive query, sort and group by options.\n\nEither full project records or project best identifiers can be returned.\n\nThe API supports a `paged` mode of operation: the `pagenumber` parameter specifies the  page to retrieve,\n`pagesize` specifies the page size.\n\nTo assist in paged retrievals, the query parameter `countonly` may be set. This returns a count of all matching\nproject records in a `availablecount` response property. No project records are returned in this case. Only `availablecount`\nand `errorcode` are returned in the response.\n",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/pageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/countOnly"
                    },
                    {
                        "$ref": "#/components/parameters/sort"
                    },
                    {
                        "$ref": "#/components/parameters/sortDir"
                    },
                    {
                        "$ref": "#/components/parameters/group"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/hideLostDone"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/step"
                    },
                    {
                        "$ref": "#/components/parameters/assignee"
                    },
                    {
                        "$ref": "#/components/parameters/assigned"
                    },
                    {
                        "$ref": "#/components/parameters/collaborator"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "pagenumber": {
                                            "description": "Page number of returned data.",
                                            "type": "number"
                                        },
                                        "pagesize": {
                                            "description": "Page size.",
                                            "type": "number"
                                        },
                                        "projects": {
                                            "description": "Array of project records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/ProjectRef"
                                                }
                                            ]
                                        }
                                    },
                                    "examples": [
                                        {
                                            "Sample 1 Response to a countonly query": {
                                                "errorcode": 0,
                                                "availablecount": 6577
                                            },
                                            "Sample 2 Response to a regular query": {
                                                "errorcode": 0,
                                                "availablecount": 1,
                                                "pagenumber": 1,
                                                "pagesize": 20,
                                                "projects": [
                                                    {
                                                        "name": "School Placement",
                                                        "node": "/US/West/CA",
                                                        "segment": "project",
                                                        "stage": "current"
                                                    },
                                                    "etc etc"
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/similar": {
            "post": {
                "operationId": "projectsSimilar",
                "summary": "Get similar projects",
                "description": "Given a project, find ones that are similar.",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "projects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "projects": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectRef"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "id"
                                ],
                                "properties": {
                                    "id": {
                                        "description": "Id of a project to get similar ones for. When available, this should the project's `syncKey`, `portableId`, or one of the project's `uniqueids`. Alternately (if the project has not previously been retrieved and stored) this can be a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                                        "type": "string"
                                    },
                                    "limit": {
                                        "description": "Maximum number of matches to return (1 to 25)",
                                        "type": "integer"
                                    },
                                    "stages": {
                                        "description": "Only include projects in these stages in the results",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "future",
                                                "current",
                                                "pending",
                                                "won",
                                                "lost"
                                            ]
                                        }
                                    },
                                    "team": {
                                        "description": "Identifies whether the team relation or local relation is to be retrieved or deleted",
                                        "type": "boolean"
                                    },
                                    "format": {
                                        "description": "Return formatted names and values for custom fields",
                                        "type": "boolean"
                                    },
                                    "sort": {
                                        "description": "sort order",
                                        "type": "string",
                                        "enum": [
                                            "lastchanged",
                                            "bestrelationship",
                                            "firstmet",
                                            "lasttalked",
                                            "wentquiet",
                                            "assigned",
                                            "duenext",
                                            "duepast",
                                            "first",
                                            "last",
                                            "nextstep",
                                            "distance",
                                            "value",
                                            "created",
                                            "start",
                                            "end",
                                            "name"
                                        ]
                                    },
                                    "sortdir": {
                                        "description": "sort direction",
                                        "type": "string",
                                        "enum": [
                                            "asc",
                                            "dec"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/feed": {
            "get": {
                "operationId": "projectsFeed",
                "summary": "Projects feed",
                "description": "Designed for bulk-retrieval of project records, supports an initial bulk retrieval of project records,\nfollowed by an option to retrieve records as changes and new records occur over time.\n\nWhilst the feed API permit records to be constrained by stage and segment, for more sophistic find capabilities\nthe find APIs may be used.\n\nProvides option to return audit change records that have occurred since the person was last delivered\nby the feed API.\n\nThe API operates in a cursored mode of operation in much the same way as you would use a cursor on a traditional database.\nThe cursor provides a consistent approach to retrieval during initial retrieval and thereafter following\nchanges over time.\n\nThis endpoints supports the major query(segment, stage) and scope(team etc) parameters. Records are always\nreturned in ascending order of last change time.\n\nFor the stream projects feed endpoint, a `cursor` will be set in all non-error responses.  Use this to retrieve\nthe next batch of records by passing this in the _cursor_ query parameter of the next request. Don't forget to add\nany required API keys and user identification to the request. In streaming mode, API clients should handle\nthe case that occurs after the initial or afterwards where the stream is quiet and no records are available.\nIn all cases, use the returned _cursor_ to form the next request and implement suitable polling\nto receive new records as changes occur.\n",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/keysOnly"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/scope"
                    },
                    {
                        "$ref": "#/components/parameters/stage"
                    },
                    {
                        "$ref": "#/components/parameters/segment"
                    },
                    {
                        "$ref": "#/components/parameters/freeFormQuery"
                    },
                    {
                        "$ref": "#/components/parameters/modifiedAfter"
                    },
                    {
                        "$ref": "#/components/parameters/includeAuditedChanges"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "availablecount": {
                                            "description": "Count of all available records. Includes records in current response and those available to be received now by further cursored requests.",
                                            "type": "number",
                                            "examples": [
                                                1
                                            ]
                                        },
                                        "cursor": {
                                            "description": "Used to retrieve next batch records in streaming mode. To retrieve, call the API endpoint URL and provide this in the _cursor_ query parameter along with _api_key_ and _user_ query parameters. No other query parameters are required when retrieving sunsequent batches.",
                                            "type": "string",
                                            "examples": [
                                                "cGFnZXNpemU9MiZzdGFnZT1hY3RpdmUmc2VnbWVudD1jdXN0b21lciZzdW1tYXJ5b25seT10cnVlJnN0YW1wPTE1NDQ5OTk4MTc3MzAma2V5PXVvWUJ0WGJXdmFEYWx3ME1ROUdpWmVpSUFmcTdSRk41cHcwTUVVam9PM0Emc3RhbXA9MTU0NTE2ODQwODI3MCZrZXk9dW9ZQnRYYld2YURhbHcwTVE5R2laWlgtdUtmdklmeENvZFVhV043LUxKZw"
                                            ]
                                        },
                                        "projects": {
                                            "description": "Array of project records",
                                            "type": "array",
                                            "items": [
                                                {
                                                    "$ref": "#/components/schemas/ProjectRef"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/get": {
            "get": {
                "operationId": "projectsGet",
                "summary": "Get project",
                "description": "Get project based on a unique identifier, for example, twitter, email address or direct identifier\n",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/projectId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    },
                    {
                        "$ref": "#/components/parameters/formatParam"
                    },
                    {
                        "$ref": "#/components/parameters/detailed"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "project",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "project": {
                                            "$ref": "#/components/schemas/ProjectRef"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/getmany": {
            "post": {
                "operationId": "projectsGetMany",
                "summary": "Get multiple projects",
                "description": "Get projects based on unique identifiers (for example app link, syncKey, or portableId)",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "project",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "projects": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectRef"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [],
                                "properties": {
                                    "uniqueids": {
                                        "description": "Each is a project identifier. When available, this should a project's `syncKey`, `portableId`, or one of a project's `uniqueids`. Alternately (if a project has not previously been retrieved and stored) this can be a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "format": {
                                        "description": "Return formatted names and values for custom fields",
                                        "type": "boolean"
                                    },
                                    "team": {
                                        "description": "Identifies whether the team relation or local relation is to be retrieved or deleted",
                                        "type": "boolean"
                                    },
                                    "detailed": {
                                        "description": "retrieve detailed information",
                                        "type": "boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/timeline": {
            "post": {
                "operationId": "projectsTimeline",
                "summary": "Get project timeline",
                "description": "Get the keys of the messages in the project's timeline.",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimelineQueryResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TimelineQuery"
                            }
                        }
                    },
                    "description": "The query"
                }
            }
        },
        "/v1/projects/delete": {
            "delete": {
                "operationId": "projectsDelete",
                "summary": "Delete project",
                "description": "Delete project based on a unique identifier, for example, twitter, email address or direct identifier\n",
                "tags": [
                    "Relations - Projects"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/projectId"
                    },
                    {
                        "$ref": "#/components/parameters/teamParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete project response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/team/roles": {
            "get": {
                "operationId": "teamRoles",
                "summary": "Get team roles",
                "description": "Get a list of the defined roles in a team\n\nRequires View User and Edit Team permissions",
                "tags": [
                    "Team"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "an error code a a list of the names and ids for the roles",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TeamRole"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/team/members/update": {
            "post": {
                "operationId": "teamMembersUpdate",
                "summary": "Update team member",
                "description": "Update the subteam node, user profile custom fields, and user profile keywords of a team member.  Requires\nView User and Edit Team permissions",
                "tags": [
                    "Team"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "singular": "team member",
                                "plural": "team members",
                                "required": [
                                    "key"
                                ],
                                "properties": {
                                    "key": {
                                        "description": "the team member's user account email",
                                        "type": "string"
                                    },
                                    "role": {
                                        "description": "the role label of the role to be applied to the team member",
                                        "type": "string"
                                    },
                                    "node": {
                                        "description": "the subteam node to be applied to the team member",
                                        "type": "string"
                                    },
                                    "nodeByParts": {
                                        "description": "the subteam node to be applied to the team member, as an array of node path elements.",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "secondaryNodes": {
                                        "description": "the additional nodes the team member can see; removes any previous secondary nodes",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "visibleAt": {
                                        "description": "the additional nodes where the team member can be found; removes any previous visibleAt nodes",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "customFields": {
                                        "description": "array of custom fields to set in the member's personal profile",
                                        "$ref": "#/components/schemas/CustomField"
                                    },
                                    "keywords": {
                                        "description": "arrays of keywords (aka tags) to be added or removed",
                                        "$ref": "#/components/schemas/KeywordChanges"
                                    }
                                },
                                "examples": [
                                    {
                                        "key": "dana@incfire.com",
                                        "customFields": [
                                            {
                                                "id": "acme-mls-id",
                                                "name": "Acme MlsId",
                                                "value": "123456"
                                            }
                                        ],
                                        "keywords": {
                                            "add": [
                                                "osa",
                                                "onboard"
                                            ],
                                            "remove": [
                                                "isa"
                                            ]
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "name": "teammember",
                    "description": "settings for this team member user"
                }
            }
        },
        "/v1/team/members/list": {
            "get": {
                "operationId": "teamMembersList",
                "summary": "Get team members",
                "description": "Get a list of the members of the user's current team.\n\nRequires View User and Edit Team permissions",
                "tags": [
                    "Team"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Members",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TeamMember"
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "name": "Dave Varenos",
                                                    "email": "dave@incfire.com"
                                                },
                                                {
                                                    "name": "Dana Varenos",
                                                    "email": "dana@incfire.com"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/team/nodes": {
            "get": {
                "operationId": "teamNodes",
                "summary": "Get subteam nodes",
                "description": "Get a list of the currently defined subteam nodes within the team\n\nRequires View User and Edit Team permissions",
                "tags": [
                    "Team"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "an error code a a list of node information items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SubTeamNode"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/timeline/todo/create": {
            "post": {
                "operationId": "toDoCreate",
                "summary": "Create a to do",
                "description": "Create a new To Do within Cloze",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "singular": "todo",
                                "plural": "todos",
                                "required": [
                                    "subject"
                                ],
                                "properties": {
                                    "when": {
                                        "description": "date stamp for reminder (1 if \"someday\"). Can be a string or a UTC timestamp in ms since the epoch. If not provided the To Do is treated as \"someday\".",
                                        "type": [
                                            "string",
                                            "number"
                                        ],
                                        "format": "date-time"
                                    },
                                    "subject": {
                                        "description": "Subject or description for this To Do",
                                        "type": "string"
                                    },
                                    "preview": {
                                        "description": "Preview of the body (if not provided will be automatically created from the body). Must be no longer than 1kb.",
                                        "type": "string"
                                    },
                                    "references": {
                                        "description": "Array of people companies, and projects related to the To Do.",
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/RelationRef"
                                        }
                                    },
                                    "assigner": {
                                        "description": "The Cloze user that is assigning the To Do This must be email addresses or other unique identifier of the user. If not provided, the assigner is the user making the request.",
                                        "type": "string"
                                    },
                                    "assignee": {
                                        "description": "The Cloze user this To Do is being assigned to This must be email addresses or other unique identifier of the user. If not assigned it is for the user making the request. The user must have permission to view team members and import team data to do this.",
                                        "type": "string"
                                    },
                                    "dateFormat": {
                                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                                        "type": "string",
                                        "enum": [
                                            "us",
                                            "international"
                                        ]
                                    },
                                    "dryrun": {
                                        "description": "Run all validation but do not create/update the record",
                                        "type": "boolean"
                                    },
                                    "skipImport": {
                                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                                        "type": "boolean"
                                    }
                                },
                                "examples": [
                                    {
                                        "when": "2018-11-20T16:00:00Z",
                                        "subject": "Launch Black Friday marketing campaign",
                                        "participants": [
                                            {
                                                "name": "Dave Varenos",
                                                "type": "person",
                                                "ids": [
                                                    "dave@incfire.com"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "name": "todo",
                    "description": "The To Do to create"
                }
            }
        },
        "/v1/timeline/communication/create": {
            "post": {
                "operationId": "communicationCreate",
                "summary": "Add a communication record",
                "description": "This API allows you to add a new call, text, meeting, email, or direct message to Cloze",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageRef",
                                "examples": [
                                    {
                                        "date": "2018-11-20T11:45:13Z",
                                        "style": "call",
                                        "from": "+1 650-555-1212",
                                        "subject": "Call with Dana Varenos",
                                        "recipients": [
                                            {
                                                "value": "+1 781-555-1212"
                                            }
                                        ],
                                        "outcome": "connected",
                                        "duration": 12
                                    }
                                ]
                            }
                        }
                    },
                    "name": "communication",
                    "description": "The communication record to create"
                }
            }
        },
        "/v1/timeline/content/create": {
            "post": {
                "operationId": "contentCreate",
                "summary": "Add a content record",
                "description": "This API allows you to add a new event, note, or external to do to Cloze",
                "tags": [
                    "Timeline"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "change_content"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasicResponse"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "singular": "content record",
                                "plural": "content records",
                                "properties": {
                                    "account": {
                                        "description": "Team administrators can use this to create the content in a different team member's account. This should be the email address of the team member. The user must be an administrator and have permission to import team data to do this.",
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "sendtoteam": {
                                        "description": "Use this field to place content in the local account then send it to the team account. The user must have permission to import team data to do this.",
                                        "type": "boolean"
                                    },
                                    "date": {
                                        "description": "when the content should show up in the timeline. Can be a string or a UTC timestamp in ms since the epoch.",
                                        "type": "string",
                                        "format": "date-time"
                                    },
                                    "name": {
                                        "description": "the from name for this content record (the name of the person that created the content record)",
                                        "type": "string"
                                    },
                                    "from": {
                                        "description": "the from address for this content record (the address of the person created the record). This can be an email address, phone number, social handle or app link (e.g. na16.salesforce.com:006j000000Pkp1d)",
                                        "type": "string"
                                    },
                                    "style": {
                                        "description": "Style of this content record (This controls both how it will be displayed in Cloze).",
                                        "type": "string",
                                        "enum": [
                                            "event",
                                            "note",
                                            "todo",
                                            "file"
                                        ]
                                    },
                                    "update": {
                                        "description": "Update the existing event style record if it's already been imported",
                                        "type": "boolean"
                                    },
                                    "uniqueid": {
                                        "description": "A unique identifier for this content record. This will often be the unique Id in an external system so that updates can be matched up with the record in Cloze. This is required for `note` and `todo` styles.",
                                        "type": "string"
                                    },
                                    "source": {
                                        "description": "The source that this content record originally came from (e.g. todoist.com). This is required for `note` and `todo` styles. Must be a valid domain.",
                                        "type": "string"
                                    },
                                    "threadid": {
                                        "description": "A unique identifier describing the thread this belongs to. All messages with this same threadid will be threaded together in cloze. An example of a good threadid would be a unique support ticket number.",
                                        "type": "string"
                                    },
                                    "references": {
                                        "description": "Array of people, companies, or projects related to the communication record.",
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/RelationRef"
                                        }
                                    },
                                    "subject": {
                                        "description": "Subject of the communication record",
                                        "type": "string"
                                    },
                                    "preview": {
                                        "description": "Preview of the body (if not provided will be automatically created from the body). Must be no longer than 1kb.",
                                        "type": "string"
                                    },
                                    "body": {
                                        "description": "Body text of the communication record",
                                        "type": "string"
                                    },
                                    "bodytype": {
                                        "description": "Type of the body. If not specified body is treated as plain text.",
                                        "type": "string",
                                        "enum": [
                                            "html",
                                            "text"
                                        ]
                                    },
                                    "template": {
                                        "description": "Template for body (if any)",
                                        "type": "string"
                                    },
                                    "customFields": {
                                        "description": "Array of custom fields",
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ContentCustomField"
                                        }
                                    },
                                    "due": {
                                        "description": "date stamp for reminder (1 if \"someday\"). Can be a string or a UTC timestamp in ms since the epoch. If not provided the reminder is treated as \"someday\".",
                                        "type": "string",
                                        "format": "date-time"
                                    },
                                    "links": {
                                        "description": "Array of links to include with this communication",
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ContentLink"
                                        }
                                    },
                                    "campaignId": {
                                        "description": "Trigger the campaign matching this ID on the from person if there is one",
                                        "type": "string"
                                    },
                                    "channelIcon": {
                                        "description": "Set a custom icon for the content item as a Font Awesome class",
                                        "type": "string"
                                    },
                                    "channelName": {
                                        "description": "Set a custom name for the type of item",
                                        "type": "string"
                                    },
                                    "dateFormat": {
                                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                                        "type": "string",
                                        "enum": [
                                            "us",
                                            "international"
                                        ]
                                    },
                                    "dryrun": {
                                        "description": "Run all validation but do not create/update the record",
                                        "type": "boolean"
                                    },
                                    "skipImport": {
                                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                                        "type": "boolean"
                                    }
                                },
                                "examples": [
                                    {
                                        "date": "2018-11-20T11:45:13Z",
                                        "style": "note",
                                        "from": "dave@incfire.com",
                                        "uniqueid": "abc123456789",
                                        "source": "example.org",
                                        "subject": "Met with dana to discuss the contract",
                                        "body": "We discussed the pricing terms in detail"
                                    }
                                ]
                            }
                        }
                    },
                    "name": "content",
                    "description": "The content record to create"
                }
            }
        },
        "/v1/user/stages/projects": {
            "get": {
                "operationId": "userStagesProjects",
                "summary": "Get project stages",
                "description": "Get the Cloze stages that apply to projects. Returns the internal Cloze project stage\nkeys along with their user custom label.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Stages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "title": "Stage",
                                                "required": [
                                                    "name",
                                                    "key"
                                                ],
                                                "properties": {
                                                    "name": {
                                                        "description": "user label for stage",
                                                        "type": "string"
                                                    },
                                                    "key": {
                                                        "description": "internal stage name",
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "name": "Potential",
                                                    "key": "future"
                                                },
                                                {
                                                    "name": "Active",
                                                    "key": "current"
                                                },
                                                {
                                                    "name": "Done",
                                                    "key": "won"
                                                },
                                                {
                                                    "name": "Lost",
                                                    "key": "lost"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/stages/people": {
            "get": {
                "operationId": "userStagesPeople",
                "summary": "Get contact stages",
                "description": "Get the Cloze stages that apply to people and company contacts. Returns the internal Cloze stage\nkeys along with their user custom label.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Stages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "title": "Stage",
                                                "required": [
                                                    "name",
                                                    "key"
                                                ],
                                                "properties": {
                                                    "name": {
                                                        "description": "user label for stage",
                                                        "type": "string"
                                                    },
                                                    "key": {
                                                        "description": "internal stage name",
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "name": "Lead",
                                                    "key": "lead"
                                                },
                                                {
                                                    "name": "Lost",
                                                    "key": "out"
                                                },
                                                {
                                                    "name": "Potential",
                                                    "key": "future"
                                                },
                                                {
                                                    "name": "Active",
                                                    "key": "current"
                                                },
                                                {
                                                    "name": "Inctive",
                                                    "key": "past"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/segments/projects": {
            "get": {
                "operationId": "userSegmentsProjects",
                "summary": "Get project segments",
                "description": "Get the project segments available within a cloze user account..",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Stages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "title": "Stage",
                                                "required": [
                                                    "name",
                                                    "key"
                                                ],
                                                "properties": {
                                                    "name": {
                                                        "description": "user label for segment",
                                                        "type": "string"
                                                    },
                                                    "key": {
                                                        "description": "internal segment name",
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "name": "Deals",
                                                    "key": "-project"
                                                },
                                                {
                                                    "name": "Purchases",
                                                    "key": "-project1"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/segments/people": {
            "get": {
                "operationId": "userSegmentsPeople",
                "summary": "Get contact segments",
                "description": "Get the people and company contact segments available within a cloze user account..",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Stages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "title": "Stage",
                                                "required": [
                                                    "name",
                                                    "key"
                                                ],
                                                "properties": {
                                                    "name": {
                                                        "description": "user label for segment",
                                                        "type": "string"
                                                    },
                                                    "key": {
                                                        "description": "internal segment name",
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "name": "Client",
                                                    "key": "customer"
                                                },
                                                {
                                                    "name": "Partners",
                                                    "key": "partner"
                                                },
                                                {
                                                    "name": "Suppliers",
                                                    "key": "supplier"
                                                },
                                                {
                                                    "name": "Investor",
                                                    "key": "investor"
                                                },
                                                {
                                                    "name": "Advisors",
                                                    "key": "advisor"
                                                },
                                                {
                                                    "name": "Buyers",
                                                    "key": "custom1"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/steps": {
            "get": {
                "operationId": "userSteps",
                "summary": "Get steps",
                "description": "For segments, and stages within each segment, retrieve the steps available for a cloze user account.\nOptional query parameters may constrain the results by segment, or by segment and stage.\nSteps are returned as user labels and in Cloze internal step name format.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "schema": {
                            "type": "string"
                        },
                        "name": "segment",
                        "description": "optional segment name",
                        "in": "query",
                        "required": false
                    },
                    {
                        "schema": {
                            "type": "string"
                        },
                        "name": "stage",
                        "description": "optional stage name, requires segment parameter to be provided if set",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Steps",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "segments": {
                                            "description": "Map of segment definitions",
                                            "type": "object",
                                            "properties": {
                                                "stages": {
                                                    "description": "Map of stage definitions",
                                                    "type": "object",
                                                    "properties": {
                                                        "steps": {
                                                            "title": "Step",
                                                            "required": [
                                                                "name",
                                                                "key"
                                                            ],
                                                            "properties": {
                                                                "name": {
                                                                    "description": "user label for step",
                                                                    "type": "string"
                                                                },
                                                                "key": {
                                                                    "description": "internal step name",
                                                                    "type": "string"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "segments": {
                                                "supplier": {
                                                    "current": {
                                                        "steps": [
                                                            {
                                                                "name": "append samples",
                                                                "key": "s-00000"
                                                            },
                                                            {
                                                                "name": "have dinner with the boss",
                                                                "key": "*s-15344457035"
                                                            }
                                                        ]
                                                    }
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/views": {
            "get": {
                "operationId": "userViews",
                "summary": "Get views and audiences",
                "description": "Get the set of views and audiences that apply to people, companies, and projects. Under the\ncovers audiences and views are equivalent, but the term audience is used for people and view for\ncompanies and projects.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Views",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "people": {
                                            "type": "object",
                                            "title": "People Views",
                                            "description": "Information about the audiences that are defined for people",
                                            "properties": {
                                                "label": {
                                                    "type": "object",
                                                    "title": "Label Pair",
                                                    "description": "Labels used for one or more people audiences",
                                                    "properties": {
                                                        "singular": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for one view"
                                                        },
                                                        "plural": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for multiple views"
                                                        }
                                                    }
                                                },
                                                "views": {
                                                    "type": "array",
                                                    "description": "Array of views that apply to people",
                                                    "items": {
                                                        "title": "View",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "description": "id of this view"
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "description": "name of this view"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "companies": {
                                            "type": "object",
                                            "title": "Company Views",
                                            "description": "Information about the views that are defined for companies",
                                            "properties": {
                                                "label": {
                                                    "type": "object",
                                                    "title": "Label Pair",
                                                    "description": "Labels used for one or more company views",
                                                    "properties": {
                                                        "singular": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for one view"
                                                        },
                                                        "plural": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for multiple views"
                                                        }
                                                    }
                                                },
                                                "views": {
                                                    "type": "array",
                                                    "description": "Array of views that apply to companies",
                                                    "items": {
                                                        "title": "View",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "description": "id of this view"
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "description": "name of this view"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "projects": {
                                            "type": "object",
                                            "title": "Project Views",
                                            "description": "Information about the views that are defined for projects",
                                            "properties": {
                                                "label": {
                                                    "type": "object",
                                                    "title": "Label Pair",
                                                    "description": "Labels used for one or more project views",
                                                    "properties": {
                                                        "singular": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for one view"
                                                        },
                                                        "plural": {
                                                            "type": "string",
                                                            "description": "End-user visible label used for multiple views"
                                                        }
                                                    }
                                                },
                                                "views": {
                                                    "type": "array",
                                                    "description": "Array of views that apply to projects",
                                                    "items": {
                                                        "title": "View",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "description": "id of this view"
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "description": "name of this view"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "people": {
                                                "label": {
                                                    "singular": "Audience",
                                                    "plural": "Audiences"
                                                },
                                                "views": [
                                                    {
                                                        "id": "my",
                                                        "name": "My People"
                                                    },
                                                    {
                                                        "id": "focus",
                                                        "name": "My Network"
                                                    }
                                                ]
                                            },
                                            "companies": {
                                                "label": {
                                                    "singular": "View",
                                                    "plural": "Views"
                                                },
                                                "views": [
                                                    {
                                                        "id": "my",
                                                        "name": "My Companies"
                                                    },
                                                    {
                                                        "id": "focus",
                                                        "name": "My Focus"
                                                    }
                                                ]
                                            },
                                            "projects": {
                                                "label": {
                                                    "singular": "View",
                                                    "plural": "Views"
                                                },
                                                "views": [
                                                    {
                                                        "id": "my",
                                                        "name": "My Properties"
                                                    },
                                                    {
                                                        "id": "focus",
                                                        "name": "My Focus"
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/keywords": {
            "get": {
                "operationId": "userKeywords",
                "summary": "Get tags",
                "description": "Get the set of tags that apply to people, companies, or projects.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "schema": {
                            "type": "integer",
                            "default": 100
                        },
                        "in": "query",
                        "name": "limit",
                        "description": "Maximum number of tags to return"
                    },
                    {
                        "schema": {
                            "type": "string",
                            "default": "person",
                            "enum": [
                                "person",
                                "company",
                                "project"
                            ]
                        },
                        "in": "query",
                        "name": "type",
                        "description": "Get the tags for this type of relation"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Keywords",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "keywords": {
                                            "type": "array",
                                            "description": "Array of tags",
                                            "items": {
                                                "title": "Tag",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "description": "tag id (without the hash sign)"
                                                    },
                                                    "count": {
                                                        "type": "integer",
                                                        "description": "number of relations this keyword applies to"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "keywords": [
                                                {
                                                    "id": "dog-lover",
                                                    "count": 27
                                                },
                                                {
                                                    "id": "garden-club",
                                                    "count": 23
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/recipients": {
            "get": {
                "operationId": "userRecipients",
                "summary": "Get recipient lists",
                "description": "Get the tags, audiences, and subscriptions that can be lists of recipients for sending mail merges",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Keywords",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "keywords": {
                                            "type": "array",
                                            "description": "Array of up to 100 tags, sorted by most frequently used first",
                                            "items": {
                                                "title": "Tag",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "description": "tag id (without the hash sign)"
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "description": "Human readable name of this tag (includes the hash sign)"
                                                    },
                                                    "query": {
                                                        "type": "string",
                                                        "description": "search query used to find people with this tag"
                                                    }
                                                }
                                            }
                                        },
                                        "views": {
                                            "type": "array",
                                            "description": "Array of audiences that can be sent to",
                                            "items": {
                                                "title": "Audience",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "description": "audience id"
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "description": "Human readable name of audience"
                                                    },
                                                    "query": {
                                                        "type": "string",
                                                        "description": "search query used to find people in this audience"
                                                    },
                                                    "type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "user",
                                                            "team",
                                                            "feed"
                                                        ],
                                                        "description": "What type of audience is this"
                                                    }
                                                }
                                            }
                                        },
                                        "subscriptions": {
                                            "type": "array",
                                            "description": "Array of subscription types",
                                            "items": {
                                                "title": "Subscription",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "description": "subscription id"
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "description": "Human readable name of this subscription"
                                                    },
                                                    "query": {
                                                        "type": "string",
                                                        "description": "search query used to find people subscribed to this"
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "keywords": [
                                                {
                                                    "id": "dog-lover",
                                                    "query": null,
                                                    "name": null
                                                },
                                                {
                                                    "id": "garden-club",
                                                    "query": null,
                                                    "name": null
                                                }
                                            ],
                                            "views": [
                                                {
                                                    "id": "focus",
                                                    "query": "view:focus",
                                                    "name": "My Sphere",
                                                    "type": "user"
                                                }
                                            ],
                                            "subscriptions": [
                                                {
                                                    "id": "just-listed",
                                                    "query": null,
                                                    "name": "Just Listed"
                                                },
                                                {
                                                    "id": "just-sold",
                                                    "query": null,
                                                    "name": "Just Sold"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/profile": {
            "get": {
                "operationId": "userProfile",
                "summary": "Get user profile",
                "description": "This API returns information about the user account that has been authorized. You can use this to personalize your app to the user, or to verify the correct user account was connected.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "profile": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "description": "User's account email address",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "Best phone number for the user",
                                                    "type": "string"
                                                },
                                                "address": {
                                                    "description": "Work address for the user",
                                                    "$ref": "#/components/schemas/ContactAddress"
                                                },
                                                "name": {
                                                    "description": "Full name of user",
                                                    "type": "string"
                                                },
                                                "first": {
                                                    "description": "First name of user",
                                                    "type": "string"
                                                },
                                                "last": {
                                                    "description": "Last name of user",
                                                    "type": "string"
                                                },
                                                "photo": {
                                                    "description": "User's profile photo URL",
                                                    "type": "string",
                                                    "format": "uri"
                                                },
                                                "key": {
                                                    "description": "Cloze's unique Id for this user",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "User's country as an ISO 2 letter code",
                                                    "type": "string"
                                                },
                                                "aka": {
                                                    "description": "Other emails and unique IDs this user might be known by",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "singular": "identifier",
                                                        "plural": "identifiers"
                                                    }
                                                },
                                                "scopes": {
                                                    "description": "Access scopes granted by the access token or api key",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "singular": "scope",
                                                        "plural": "scopes"
                                                    }
                                                },
                                                "rights": {
                                                    "description": "Rights granted to this user if they are a team member",
                                                    "type": "object"
                                                }
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "user": {
                                                "email": "someone@company.com",
                                                "name": "John Q. Public",
                                                "first": "John",
                                                "last": "Public",
                                                "country": "US"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/user/fields": {
            "get": {
                "operationId": "userFields",
                "summary": "Get custom fields",
                "description": "Get custom fields for the user. By default all custom fields are retrieved. An optional *relationtype* query parameter\nmay be specified: one of *person*, *project* and *company* this returns custom field meta-data that apply to the specific relation type.\nPlease refer to samples for further information.",
                "tags": [
                    "Account"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "basic"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": [
                    {
                        "schema": {
                            "type": "string",
                            "enum": [
                                "person",
                                "project",
                                "company"
                            ]
                        },
                        "name": "relationtype",
                        "description": "person, project, or company or empty for all relation type customizations\n",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Custom fields",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/FieldCustomization"
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "id": "role",
                                                    "type": "keyword",
                                                    "name": "Role",
                                                    "description": "Role of a person in their business",
                                                    "relations": {
                                                        "person": true
                                                    },
                                                    "values": {
                                                        "cxo": {
                                                            "locked": true,
                                                            "label": "CxO"
                                                        },
                                                        "vp": {
                                                            "locked": true,
                                                            "label": "VO"
                                                        }
                                                    }
                                                },
                                                {
                                                    "id": "meeting-limit",
                                                    "type": "number",
                                                    "name": "Meeting Limit",
                                                    "description": "Cap on meeting size"
                                                },
                                                {
                                                    "id": "tweet-of-the-day",
                                                    "type": "text",
                                                    "name": "Tweet of the Day",
                                                    "segments": {
                                                        "friend": true,
                                                        "family": true
                                                    }
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/webhooks/subscribe": {
            "post": {
                "operationId": "webhooksSubscribe",
                "summary": "Subscribe to change events",
                "description": "This method allows you to subscribe to notifications from Cloze such as when a ***relation(person, project, or company)*** changes.\nNotifications are delivered using Web hooks, the callback URL, *target_url* is supplied in the subscription.\n\n### Event Types\nFor subscriptions that monitor *changes*, there are two event types:\n\n***relation audit changes*** - notifications co-incide with Cloze audit trail entries(that appear in the\nCloze timeline views) and contain the ***audited before and after changes*** in addition to the *person*, *project*, or\n*company*.\n\n***relation changes*** - *person*, *project*, or *company* is delivered on *any* change to a relation, *changes* information is empty.\n\n### Subscription Scope\nFor **team users with export team data rights**, changes may be monitored against the team's relations or against the user's own local\nrelations. A ***scope*** property, ***team***, ***local***, or prefix, ***hierarchy:***  sets this. By default *team users\nwith export team data rights* subscribe to *team* relation changes. All other users may subscribe to their own local relations;\nthey are not authorized to subscribe to team or hierarchy changes. The *hierarchy:* prefixed scope is similar to *team* scope and may be\nused where  *hierarchies* are available. The *hierarchy:* scope allows you to see relations *at and below a position* in the hierarchy.\nThe following example shows all relations at the /USA/West sub-team level: _\"hierarchy:/USA/West\"_. To show relations at and below\nuse: _\"hierarchy:/USA/West/*\"_. To show relations at below the top team-level, and equivalent to _team_ scope,\nuse: _\"hierarchy:/*\"_.\n\n### Event Filters\nChange notifications may be filtered by Cloze by providing a ***filters*** specification.\n\n### Relation Filters\nRelation filters select which relations are examined for changes:  what type of relation (person,\nproject, or company), and what values certain specified properties must have, to generate a webhook\nnotification.\n\nExample:  Filter for people in segment \"Buyer\", stage \"Warm\" with specific values for custom fields\n`lead-origin` and `lead-source`\n```\n{\n    \"person\":\n    {\n        \"segment\": \"Buyer\",\n        \"stage\": \"Warm\",\n        \"customFields\":\n        [\n            { \"id\": \"lead-origin\", \"value\": \"team\" },\n            { \"id\": \"lead-source\", \"value\": \"zillow\" }\n        ]\n    }\n}\n```\n\n### Change Filters\nChange filters determine which types of audit changes generate webhook notifications for the subscription.\nAudit changes include changes to the relation's `segment`, `stage`,  and changes to any of the relation's\ncustom fields.\n\nNote:  change filters are only applicable for relation audit change subscriptions - `person.audit.change`,\n`project.company.change` or `company.audit.change`.\n\nExample: changes in a person's stage from \"lead\" to any other stage\n```\n{\n    \"changes\":\n    {\n        \"stage\": { \"before\": \"Lead\", \"after\": \"*\" }\n    }\n}\n```\nExample: only changes where the custom field \"is-contacted\" has been set to \"Yes\"\n```\n{\n    \"changes\":\n    {\n        \"is-contacted\": { \"after\": \"Yes\" }\n    }\n}\n```\nExample: For custom fields you can use the field name instead of the unique id.\n```\n{\n    \"changes\":\n    {\n        \"Is Contacted\": { \"after\": \"Yes\" }\n    }\n}\n```\n\nFor subscriptions to relation audit changes, you can combine both relation filters and change filters -\nfor example, this filter limits notifications to people in segment `\"Buyer\"`, stage `\"Warm\"`, with specific\n`lead-source` and `lead-origin` values, and only when the `is-contacted` custom field is changed to Yes\n\n```\n{\n    \"person\":\n    {\n        \"segment\": \"Buyer\",\n        \"stage\": \"Warm\",\n        \"customFields\":\n        [\n            { \"id\": \"lead-origin\", \"value\": \"team\" },\n            { \"id\": \"lead-source\", \"value\": \"zillow\" }\n        ]\n    },\n    \"changes\":\n    {\n        \"is-contacted\": { \"after\": \"Yes\" }\n    }\n}\n```\n\n### Notification Format\nChange notifications for *relations* are delivered as a array of objects. Each relation is delivered in a format that is\nidentical(symmetrical) to that used to add(or change) the relation. Please refer to the *Relations* section for\ndetails.\n\n### HTTP Headers\nAll change notifications will contain an HTTP header, ***X-Cloze-Subscription-ID***, which contains the uniqueid assigned to\nthe subscription. For subscriptions that are created with a client reference, the client reference is provided in the\nHTTP header, ***X-Cloze-Client-Reference***.\n\n### Webhook Response\nChange notifications must be responded to with a proper confirmation response. The following forms of confirmation response\nare accepted:\n\n  * *text/plain* content-type and body *OK*\n  * *application/json* content-type and body *{ \"status\" : \"ok\" }*\n\n### Notification Retry and Suspension\nAny other form of response(other than legitimate failures) will result in immediate suspension of the subscription.\n\nSubscriptions will also be suspended if notifications are redirected more than 2 times.\n\nThe following conditions are considered failures that may be retried:\n\n  * The notification fails to receive a response within *10 seconds*\n  * A status code outside the range of 200–4xx is received\n  * A network error is encountered\n\nAudit change subscriptions will be retried up to 3 times, using exponential backoff\nat 30 seconds, then 90 seconds, then 270 seconds. Subscriptions to basic relation changes are retried\none time after 30 seconds.\n\nThe overall rate of notification success is monitored over daily periods: if there are at least 15\nnotification failures over a day period, and the overall failure rate over the period rises above 10%,\nthe subscription will be suspended\n\nExcessive or unresponsive notifications during day, hour and minute periods may also lead to the\nsubscription being suspended by Cloze:\n\n* More than 5 failures per minute\n* More than 10 failures per hour\n* More than 25 failures per day\n\nOnce a subscription is suspended, it can be reactivated in one of two ways:\n\n * Manually by the target account user, in Settings -> Webhooks\n * By unsubscribing and re-subscribing programmatically\n",
                "tags": [
                    "Webhooks"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "uniqueid": {
                                            "description": "unique subscription identifier, required to unsubscribe",
                                            "type": "string"
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "uniqueid": "iwpEBI9YmItIaXXXXXqARvJd8umaeduzRiu7-RD_LrOZvKymhvhgkTcVMwfuzxnrlg9O2dXVk4nWNh08AETg"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "event": {
                                        "description": "name of the event being subscribed to",
                                        "type": "string",
                                        "enum": [
                                            "person.change",
                                            "project.change",
                                            "company.change",
                                            "person.audit.change",
                                            "project.audit.change",
                                            "company.audit.change"
                                        ]
                                    },
                                    "target_url": {
                                        "description": "callback URL to be called by the Web hook",
                                        "type": "string"
                                    },
                                    "scope": {
                                        "description": "scope of subscription, changes to the user's local person, project, and company may be monitored, or team relations may be monitored, or team hierarchies can be monitored",
                                        "type": "string",
                                        "enum": [
                                            "local",
                                            "team",
                                            "hierarchy:/X/Y/Z",
                                            "hierarchy:/X/Y/Z/*"
                                        ]
                                    },
                                    "filters": {
                                        "description": "Filters applied by Cloze prior to delivering person, project, and company Web hooks. Filters is an array of one\nor more filter objects, only one of which needs to match to allow a notification to be delivered to a subscriber.\n\nEach filter may contain one or two key/value pairs. In the first form of key/value pair, key is \"person\",\n\"project\" or \"company\" depending on the subscription; value is a fragment of JSON required for matching the\nassociated resource. For subscriptions to *audit changes*, the notifications provide change information.\nA second key/value pair, where key is \"changes\", may be provided to filter against the change information.\n\nFor a candidate resource to match all names, values and structure of the JSON\nfragment must appear in the resource. Presence of the string \"*\" in the fragment is treated as a\nwildcard for matching purposes.\n",
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/APIFilter"
                                        }
                                    },
                                    "client_type": {
                                        "description": "optional client or implementation information, e.g. \"human\" format means record fields are returned in the same values you’d normally see displayed in the UI.",
                                        "type": "string"
                                    },
                                    "client_reference": {
                                        "description": "optional client provided name used to identify and reference subscriptions. To unsubscribe the client may provide\neither client_reference and event name, or, the Cloze allocated uniqueid and event name. Multiple subscribes using the same event\nname and client reference will replace existing an existing subscription of the same event name and client reference\n",
                                        "type": "string"
                                    },
                                    "ttl": {
                                        "description": "optional subscription TTL. Lets you specify time to live for the subscription. TTL is specified in seconds.",
                                        "type": "string"
                                    }
                                },
                                "examples": [
                                    {
                                        "event": "person.audit.change",
                                        "target_url": "https://mycallback/cloze/hook/person.audit.change",
                                        "scope": "local",
                                        "filters": [
                                            {
                                                "person": {
                                                    "first": "Tom"
                                                },
                                                "changes": {
                                                    "stage": {
                                                        "after": "done"
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "description": "The subscription to create."
                }
            }
        },
        "/v1/webhooks/unsubscribe": {
            "post": {
                "operationId": "webhooksUnsubscribe",
                "summary": "Cancel a subscription",
                "description": "This method lets you unsubscribe from change events",
                "tags": [
                    "Webhooks"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subscription",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "event": {
                                        "description": "name of the event being subscribed to",
                                        "type": "string"
                                    },
                                    "uniqueid": {
                                        "description": "unique subscription identifier, this in conjunction with event name may be to unsubscribe.",
                                        "type": "string"
                                    },
                                    "client_reference": {
                                        "description": "client subscription reference, if provided by subscribe, may be used in conjunction with event name to unsubscribe.",
                                        "type": "string"
                                    }
                                },
                                "examples": [
                                    {
                                        "event": "person.audit.change",
                                        "uniqueid": "iwpEBI9YmItIaXXXXXqARvJd8umaeduzRiu7-RD_LrOZvKymhvhgkTcVMwfuzxnrlg9O2dXVk4nWNh08AETg\\"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "The subscription to remove."
                }
            }
        },
        "/v1/webhooks/get": {
            "get": {
                "operationId": "webhooksGet",
                "summary": "List subscriptions",
                "description": "This method lets you list your subscriptions",
                "tags": [
                    "Webhooks"
                ],
                "security": [
                    {
                        "OAuth2": [
                            "read_relation"
                        ]
                    },
                    {
                        "bearer": []
                    },
                    {
                        "apiKey": []
                    }
                ],
                "parameters": null,
                "responses": {
                    "200": {
                        "description": "Subscription",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "errorcode"
                                    ],
                                    "properties": {
                                        "errorcode": {
                                            "description": "Error code. 0 means success",
                                            "type": "number"
                                        },
                                        "message": {
                                            "description": "If an error occurs, this is the human readable description"
                                        },
                                        "list": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SubscriptionRef"
                                            }
                                        }
                                    },
                                    "examples": [
                                        {
                                            "errorcode": 0,
                                            "list": [
                                                {
                                                    "uniqueId": "iwpEBI9YmItIa90NJFsiqKWmPZuQ5r_pJh5wtmr-xyHrOZvKymhvhgkTcVMwfuzxOl9xN3M69Dr9OPhhRYfRQQ",
                                                    "event": "person.audit.change",
                                                    "target_url": "https://mycallback/cloze/hook/person.audit.change",
                                                    "scope": "local",
                                                    "date": 1537284209830,
                                                    "usage": {
                                                        "resumeDate": 1537373306393,
                                                        "lastSendAttempt": 1537375777210,
                                                        "successCount": 7,
                                                        "lastSuccessfulSend": 1537373603674,
                                                        "failCount": 1
                                                    }
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "FileImportMetaData": {
                "canonical_types": [
                    "person",
                    "company",
                    "project",
                    "content",
                    "communication",
                    "todo",
                    "teammember"
                ],
                "other_apis": {
                    "/v1/team/members/update": "teammember"
                }
            },
            "BasicResponse": {
                "type": "object",
                "required": [
                    "errorcode"
                ],
                "properties": {
                    "errorcode": {
                        "description": "Error code. 0 means success",
                        "type": "number"
                    },
                    "message": {
                        "description": "If an error occurs, this is the human readable description",
                        "required": false,
                        "type": "string"
                    }
                },
                "examples": [
                    {
                        "errorcode": 0
                    }
                ]
            },
            "CustomFieldBase": {
                "type": "object",
                "required": [
                    "id"
                ],
                "properties": {
                    "id": {
                        "description": "Unique Id of the custom field",
                        "type": "string",
                        "enumtype": "fieldid"
                    },
                    "name": {
                        "description": "Name of the custom field (allowed in timelineFields. Otherwise read only and only present when format query parameter is provided)",
                        "type": "string"
                    },
                    "private": {
                        "description": "never share the value across users",
                        "type": "boolean"
                    },
                    "replace": {
                        "description": "replace the existing value instead of merging it in.  Note that this is not applicable for team member updates where replace is always true.",
                        "type": "boolean",
                        "writeOnly": true
                    },
                    "formatted": {
                        "description": "Formatted value of the custom field (read only, only present when format query parameter is provided)",
                        "readOnly": true,
                        "type": "string"
                    }
                }
            },
            "CustomFieldBaseArray": {
                "type": "object",
                "required": [
                    "id"
                ],
                "properties": {
                    "id": {
                        "description": "Unique Id of the custom field",
                        "type": "string",
                        "enumtype": "fieldid"
                    },
                    "name": {
                        "description": "Name of the custom field (allowed in timelineFields. Otherwise read only, only present when format query parameter is provided)",
                        "type": "string"
                    },
                    "private": {
                        "description": "never share the value across users",
                        "type": "boolean"
                    },
                    "replace": {
                        "description": "replace the existing value instead of merging it in.  Note that this is not applicable for team member updates where replace is always true.",
                        "type": "boolean",
                        "writeOnly": true
                    },
                    "formatted": {
                        "description": "Formatted value of the custom field (read only, only present when format query parameter is provided)",
                        "readOnly": true,
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "CustomFieldText": {
                "title": "text field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "text"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldKeyword": {
                "title": "pick-one field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "keyword"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldKeywords": {
                "title": "pick-many field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "keywords"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldBoolean": {
                "title": "boolean field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "boolean"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "boolean",
                                    "null"
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldDate": {
                "title": "date field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "date"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "format": "date"
                            }
                        }
                    }
                ]
            },
            "CustomFieldDateTime": {
                "title": "date-time field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "datetime"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "format": "date-time"
                            }
                        }
                    }
                ]
            },
            "CustomFieldNumber": {
                "title": "number field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "number"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "unit": {
                                "description": "Unit of measure. If provided it is A UNICODE CLDR unit of length, area, volume, or mass (e.g. area-square-foot)",
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "CustomFieldDecimal": {
                "title": "decimal field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "decimal"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "unit": {
                                "description": "Unit of measure. If provided it is A UNICODE CLDR unit of length, area, volume, or mass (e.g. area-square-foot)",
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "CustomFieldCurrency": {
                "title": "currency field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "currency"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "unit": {
                                "description": "Unit of measure. If provided it is one of two things - (1) An ISO4217 currency code (e.g. EUR, CAD, USD). (2) A UNICODE CLDR unit of length, area, volume, or mass combined with a currency code, of the form [currency]/[unit] (e.g. EUR/area-square-meter)",
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "CustomFieldRange": {
                "title": "range field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "min",
                            "max"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "range"
                            },
                            "min": {
                                "description": "minimum of the custom field range (if no lower limit use null)",
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "max": {
                                "description": "maximum of the custom field range (if no upper limit use null)",
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "unit": {
                                "description": "Unit of measure. If provided it is one of three things - (1) An ISO4217 currency code (e.g. EUR, CAD, USD). (2) A UNICODE CLDR unit of length, area, volume, or mass (e.g. area-square-foot) (3) A combination of the above, of the form [currency]/[unit] (e.g. EUR/area-square-meter)",
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "CustomFieldDates": {
                "title": "dates field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "dates"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string",
                                    "format": "date"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldDateTimes": {
                "title": "date-times field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "datetimes"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "string",
                                    "format": "date-time"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldCounter": {
                "title": "counter field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "counter"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "number",
                                    "null"
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldAccumulator": {
                "title": "accumulator field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "accumulator"
                            },
                            "value": {
                                "description": "value of the custom field to add to the accumulator",
                                "type": [
                                    "number",
                                    "null"
                                ],
                                "writeOnly": true
                            },
                            "count": {
                                "description": "count of values added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "sum": {
                                "description": "sum of values added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "nonzero": {
                                "description": "number of non-zero values added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "min": {
                                "description": "minimum value added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "max": {
                                "description": "maximum value added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "mean": {
                                "description": "mean value added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "median": {
                                "description": "approximate (p2) median value added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "stddev": {
                                "description": "standard deviation of values added to the accumulator",
                                "type": "number",
                                "readOnly": true
                            },
                            "sumsq": {
                                "description": "sum of the square of values added to the accumulator (used for stdev computation)",
                                "type": "number",
                                "readOnly": true
                            },
                            "q": {
                                "description": "quartile sums for values added to the accumulator (used for median computation)",
                                "type": "array",
                                "items": {
                                    "type": "number"
                                },
                                "readOnly": true
                            },
                            "n": {
                                "description": "quartile counts for values added to the accumulator (used for median computation)",
                                "type": "array",
                                "items": {
                                    "type": "number"
                                },
                                "readOnly": true
                            }
                        }
                    }
                ]
            },
            "CustomFieldRecord": {
                "title": "record field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "record"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "object",
                                    "null"
                                ]
                            },
                            "types": {
                                "description": "map of type of the fields in the record custom field",
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string",
                                    "enum": [
                                        "text",
                                        "keyword",
                                        "keywords",
                                        "boolean",
                                        "date",
                                        "datetime",
                                        "number",
                                        "decimal",
                                        "currency",
                                        "range",
                                        "person",
                                        "entity",
                                        "contact",
                                        "project",
                                        "reference"
                                    ]
                                }
                            },
                            "names": {
                                "description": "map of names of the fields in the record custom field",
                                "type": "object"
                            }
                        }
                    }
                ]
            },
            "CustomFieldRecords": {
                "title": "records field",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "records"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "type": "object"
                                }
                            },
                            "types": {
                                "description": "map of type of the fields in each record in the custom field",
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string",
                                    "enum": [
                                        "text",
                                        "keyword",
                                        "keywords",
                                        "boolean",
                                        "date",
                                        "datetime",
                                        "number",
                                        "decimal",
                                        "currency",
                                        "range",
                                        "person",
                                        "entity",
                                        "contact",
                                        "project",
                                        "reference"
                                    ]
                                }
                            },
                            "names": {
                                "description": "map of names of the fields in each record in the custom field",
                                "type": "object"
                            }
                        }
                    }
                ]
            },
            "CustomFieldPerson": {
                "title": "person field",
                "description": "A custom field that stores a person",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "person"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "oneOf": [
                                    {
                                        "type": "null"
                                    },
                                    {
                                        "title": "Person",
                                        "$ref": "#/components/schemas/RelationRef"
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldEntity": {
                "title": "company field",
                "description": "A custom field that stores a company",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "entity"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "oneOf": [
                                    {
                                        "type": "null"
                                    },
                                    {
                                        "title": "Company",
                                        "$ref": "#/components/schemas/RelationRef"
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldProject": {
                "title": "project field",
                "description": "A custom field that stores a project",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "project"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "oneOf": [
                                    {
                                        "type": "null"
                                    },
                                    {
                                        "title": "Project",
                                        "$ref": "#/components/schemas/RelationRef"
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldContact": {
                "title": "person or company field",
                "description": "A custom field that stores a person or company",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "contact"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "oneOf": [
                                    {
                                        "type": "null"
                                    },
                                    {
                                        "title": "Person or Company",
                                        "$ref": "#/components/schemas/RelationRef"
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldReference": {
                "title": "person, company, or project field",
                "description": "A custom field that stores a person, company, or project",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBase"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "reference"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "oneOf": [
                                    {
                                        "type": "null"
                                    },
                                    {
                                        "title": "Person, Company, or Project",
                                        "$ref": "#/components/schemas/RelationRef"
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "CustomFieldPeople": {
                "title": "people field",
                "description": "A custom field that stores people",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "people"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "$ref": "#/components/schemas/RelationRef"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldEntities": {
                "title": "companies field",
                "description": "A custom field that stores companies",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "entities"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "$ref": "#/components/schemas/RelationRef"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldProjects": {
                "title": "projects field",
                "description": "A custom field that stores projects",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "projects"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "$ref": "#/components/schemas/RelationRef"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldContacts": {
                "title": "people and companies field",
                "description": "A custom field that stores a mix of people and companies",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "contacts"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "$ref": "#/components/schemas/RelationRef"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomFieldReferences": {
                "title": "people, companies, and projects field",
                "description": "A custom field that stores a mix of people, companies, and projects",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldBaseArray"
                    },
                    {
                        "type": "object",
                        "required": [
                            "type",
                            "value"
                        ],
                        "properties": {
                            "type": {
                                "description": "type of the custom field",
                                "type": "string",
                                "const": "references"
                            },
                            "value": {
                                "description": "value of the custom field",
                                "type": [
                                    "array",
                                    "null"
                                ],
                                "items": {
                                    "$ref": "#/components/schemas/RelationRef"
                                }
                            }
                        }
                    }
                ]
            },
            "CustomField": {
                "type": "object",
                "singular": "custom field",
                "plural": "custom fields",
                "itemlabel": "id",
                "dynamic": "field",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldText"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldKeyword"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldKeywords"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldBoolean"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDate"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDateTime"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldNumber"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDecimal"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldCurrency"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRange"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDates"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDateTimes"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldCounter"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldAccumulator"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRecord"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRecords"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldPerson"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldEntity"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldProject"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldContact"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldReference"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldPeople"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldEntities"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldProjects"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldContacts"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldReferences"
                    }
                ],
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "text": "#/components/schemas/CustomFieldText",
                        "keyword": "#/components/schemas/CustomFieldKeyword",
                        "keywords": "#/components/schemas/CustomFieldKeywords",
                        "boolean": "#/components/schemas/CustomFieldBoolean",
                        "date": "#/components/schemas/CustomFieldDate",
                        "datetime": "#/components/schemas/CustomFieldDateTime",
                        "number": "#/components/schemas/CustomFieldNumber",
                        "decimal": "#/components/schemas/CustomFieldDecimal",
                        "currency": "#/components/schemas/CustomFieldCurrency",
                        "range": "#/components/schemas/CustomFieldRange",
                        "dates": "#/components/schemas/CustomFieldDates",
                        "datetimes": "#/components/schemas/CustomFieldDateTimes",
                        "counter": "#/components/schemas/CustomFieldCounter",
                        "accumulator": "#/components/schemas/CustomFieldAccumulator",
                        "record": "#/components/schemas/CustomFieldRecord",
                        "records": "#/components/schemas/CustomFieldRecords",
                        "person": "#/components/schemas/CustomFieldPerson",
                        "entity": "#/components/schemas/CustomFieldEntity",
                        "project": "#/components/schemas/CustomFieldProject",
                        "contact": "#/components/schemas/CustomFieldContact",
                        "reference": "#/components/schemas/CustomFieldReference",
                        "people": "#/components/schemas/CustomFieldPeople",
                        "entities": "#/components/schemas/CustomFieldEntities",
                        "projects": "#/components/schemas/CustomFieldProjects",
                        "contacts": "#/components/schemas/CustomFieldContacts",
                        "references": "#/components/schemas/CustomFieldReferences"
                    }
                }
            },
            "TimelineField": {
                "singular": "timeline field",
                "plural": "timeline fields",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/CustomFieldText"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldKeyword"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldKeywords"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldBoolean"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDate"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDateTime"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldNumber"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDecimal"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldCurrency"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRange"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDates"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldDateTimes"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldCounter"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldAccumulator"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRecord"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldRecords"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldPerson"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldEntity"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldProject"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldContact"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldReference"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldPeople"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldEntities"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldProjects"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldContacts"
                    },
                    {
                        "$ref": "#/components/schemas/CustomFieldReferences"
                    }
                ],
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "text": "#/components/schemas/CustomFieldText",
                        "keyword": "#/components/schemas/CustomFieldKeyword",
                        "keywords": "#/components/schemas/CustomFieldKeywords",
                        "boolean": "#/components/schemas/CustomFieldBoolean",
                        "date": "#/components/schemas/CustomFieldDate",
                        "datetime": "#/components/schemas/CustomFieldDateTime",
                        "number": "#/components/schemas/CustomFieldNumber",
                        "decimal": "#/components/schemas/CustomFieldDecimal",
                        "currency": "#/components/schemas/CustomFieldCurrency",
                        "range": "#/components/schemas/CustomFieldRange",
                        "dates": "#/components/schemas/CustomFieldDates",
                        "datetimes": "#/components/schemas/CustomFieldDateTimes",
                        "counter": "#/components/schemas/CustomFieldCounter",
                        "accumulator": "#/components/schemas/CustomFieldAccumulator",
                        "record": "#/components/schemas/CustomFieldRecord",
                        "records": "#/components/schemas/CustomFieldRecords",
                        "person": "#/components/schemas/CustomFieldPerson",
                        "entity": "#/components/schemas/CustomFieldEntity",
                        "project": "#/components/schemas/CustomFieldProject",
                        "contact": "#/components/schemas/CustomFieldContact",
                        "reference": "#/components/schemas/CustomFieldReference",
                        "people": "#/components/schemas/CustomFieldPeople",
                        "entities": "#/components/schemas/CustomFieldEntities",
                        "projects": "#/components/schemas/CustomFieldProjects",
                        "contacts": "#/components/schemas/CustomFieldContacts",
                        "references": "#/components/schemas/CustomFieldReferences"
                    }
                }
            },
            "TimelineQuery": {
                "type": "object",
                "singular": "timeline query",
                "plural": "timeline queries",
                "required": [
                    "uniqueid"
                ],
                "properties": {
                    "id": {
                        "description": "Id of the person, company, or project to get the timeline for. When available, this should the `syncKey`, `portableId`, or one of the `uniqueids`.  Alternately (if the record has not previously been retrieved and stored) this can be an email address, mobile phone number, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                        "type": "string"
                    },
                    "limit": {
                        "description": "Maximum number of timeline entries to return (the server may return more for batching reasons, so this is approximate)",
                        "type": "integer"
                    },
                    "stamp": {
                        "description": "Used for paging timeline retrieval. Copied from a previous timeline request's response.",
                        "type": "integer"
                    },
                    "filter": {
                        "description": "Only include these type of messages in the timeline (filter out all others)",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "mail",
                                "meeting",
                                "call",
                                "sms",
                                "message",
                                "inapp",
                                "todo",
                                "nextstep",
                                "note",
                                "audit",
                                "external"
                            ]
                        }
                    },
                    "shared": {
                        "description": "Include messages you can see shared by other users",
                        "type": "boolean"
                    },
                    "directOnly": {
                        "description": "Only include messages that are from/to/cc/bcc linked to this record (not re)"
                    },
                    "measureas": {
                        "description": "Only include messages that have this type of measure",
                        "type": "string"
                    },
                    "documentsOnly": {
                        "description": "Only include messages that have documents",
                        "type": "boolean"
                    },
                    "remindersOnly": {
                        "description": "Only include messages with a dated reminder set",
                        "type": "boolean"
                    },
                    "deadlinesOnly": {
                        "description": "Only include messages with an AI deadline set",
                        "type": "boolean"
                    },
                    "somedayOnly": {
                        "description": "Only include messages with a someday reminder set",
                        "type": "boolean"
                    }
                }
            },
            "TimelineQueryResponse": {
                "type": "object",
                "required": [
                    "errorcode"
                ],
                "properties": {
                    "errorcode": {
                        "description": "Error code. 0 means success",
                        "type": "number"
                    },
                    "message": {
                        "description": "If an error occurs, this is the human readable description",
                        "type": "string"
                    },
                    "stamp": {
                        "description": "This stamp is used to get the next older page of results (pass into the timeline API)",
                        "type": "integer"
                    },
                    "messages": {
                        "description": "Array of timeline messages keys.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MessageKeyRef"
                        }
                    }
                },
                "examples": [
                    {
                        "errorcode": 0,
                        "messages": [
                            {
                                "key": "messagekey1"
                            },
                            {
                                "key": "messagekey2"
                            }
                        ]
                    }
                ]
            },
            "MessageKeyRef": {
                "type": "object",
                "required": [
                    "key"
                ],
                "properties": {
                    "key": {
                        "description": "Key of the message",
                        "type": "string"
                    },
                    "changed": {
                        "type": "integer",
                        "writeOnly": true,
                        "description": "If you're caching messages and already cached the message, this is the change date of the message in your cache. If provided and the message hasn't changed, this will return a blank stub for the message."
                    }
                }
            },
            "ContentCustomField": {
                "type": "object",
                "singular": "custom field",
                "plural": "custom fields",
                "required": [
                    "id",
                    "type"
                ],
                "onerequired": [
                    "value",
                    "min",
                    "max"
                ],
                "itemlabel": "id",
                "dynamic": "field",
                "properties": {
                    "id": {
                        "description": "Unique Id of the custom field",
                        "type": "string",
                        "enumtype": "fieldid"
                    },
                    "name": {
                        "description": "Optional name for the custom field",
                        "type": "string"
                    },
                    "type": {
                        "description": "type of the custom field",
                        "type": "string",
                        "enumtype": "fieldtype",
                        "enum": [
                            "text",
                            "keyword",
                            "keywords",
                            "boolean",
                            "date",
                            "datetime",
                            "number",
                            "decimal",
                            "currency",
                            "range",
                            "person",
                            "people",
                            "entity",
                            "entities",
                            "contact",
                            "contacts",
                            "project",
                            "projects",
                            "reference",
                            "references",
                            "dates",
                            "datetimes",
                            "record",
                            "records",
                            "counter",
                            "accumulator"
                        ]
                    },
                    "value": {
                        "description": "value of the custom field",
                        "type": [
                            "string",
                            "integer",
                            "number",
                            "boolean",
                            "object",
                            "array"
                        ]
                    },
                    "min": {
                        "description": "for range custom fields, this is the minimum value",
                        "type": "number"
                    },
                    "max": {
                        "description": "for range custom fields, this is the maximum value",
                        "type": "number"
                    },
                    "private": {
                        "description": "never share the value across users",
                        "type": "boolean"
                    },
                    "unit": {
                        "description": "Unit of measure. If provided it is one of three things - (1) An ISO4217 currency code (e.g. EUR, CAD, USD). (2) A UNICODE CLDR unit of length, area, volume, or mass (e.g. area-square-foot) (3) A combination of the above, of the form [currency]/[unit] (e.g. EUR/area-square-meter)",
                        "type": "string"
                    }
                }
            },
            "AppLink": {
                "type": "object",
                "singular": "app link",
                "plural": "app links",
                "required": [
                    "source",
                    "uniqueid"
                ],
                "properties": {
                    "label": {
                        "description": "App Link name",
                        "type": "string"
                    },
                    "url": {
                        "description": "URL to view the item in the other application",
                        "type": "string",
                        "format": "uri"
                    },
                    "source": {
                        "description": "App Domain Name (e.g. na16.salesforce.com)",
                        "type": "string"
                    },
                    "uniqueid": {
                        "description": "Unique Id within the source (e.g. Salesforce's key). The combination of the `source` and `uniqueid` will be used to locate and merge equivalent relations.",
                        "type": "string"
                    },
                    "archived": {
                        "description": "Archive this app link",
                        "type": "boolean"
                    }
                }
            },
            "ContactEmail": {
                "type": "object",
                "singular": "email address",
                "plural": "email addresses",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The email address",
                        "type": "string",
                        "format": "email"
                    },
                    "work": {
                        "description": "Whether this is a work address",
                        "type": "boolean"
                    },
                    "home": {
                        "description": "Whether this is a personal/home address",
                        "type": "boolean"
                    },
                    "preferred": {
                        "description": "Make this the preferred email address",
                        "type": "boolean"
                    },
                    "archived": {
                        "description": "Archive this email address",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "an alternative to work/home fields when submitting records to cloze",
                        "type": "string",
                        "enum": [
                            "work",
                            "home",
                            "bulk"
                        ]
                    }
                }
            },
            "ContactPhone": {
                "type": "object",
                "singular": "phone number",
                "plural": "phone numbers",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The phone number",
                        "type": "string"
                    },
                    "work": {
                        "description": "Whether this is a work number",
                        "type": "boolean"
                    },
                    "home": {
                        "description": "Whether this is a personal/home number",
                        "type": "boolean"
                    },
                    "mobile": {
                        "description": "Whether this is a mobile number",
                        "type": "boolean"
                    },
                    "preferred": {
                        "description": "Make this the preferred phone number",
                        "type": "boolean"
                    },
                    "archived": {
                        "description": "Archive this phone number",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "an alternative to work/home/mobile fields when submitting records to cloze",
                        "type": "string",
                        "enum": [
                            "work",
                            "home",
                            "mobile"
                        ]
                    }
                }
            },
            "ContactFax": {
                "type": "object",
                "singular": "fax number",
                "plural": "fax numbers",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The fax number",
                        "type": "string"
                    },
                    "work": {
                        "description": "Whether this is a work number",
                        "type": "boolean"
                    },
                    "home": {
                        "description": "Whether this is a personal/home number",
                        "type": "boolean"
                    },
                    "archived": {
                        "description": "Archive this fax number",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "an alternative to work/home fields when submitting records to cloze",
                        "type": "string",
                        "enum": [
                            "work",
                            "home"
                        ]
                    }
                }
            },
            "ContactSocial": {
                "type": "object",
                "singular": "social profile",
                "plural": "social profiles",
                "required": [
                    "value"
                ],
                "properties": {
                    "type": {
                        "description": "type of the social profile",
                        "type": "string",
                        "enum": [
                            "aboutme",
                            "angellist",
                            "facebook",
                            "flickr",
                            "foursquare",
                            "github",
                            "instagram",
                            "linkedin",
                            "medium",
                            "meetup",
                            "pinterest",
                            "plancast",
                            "quora",
                            "reddit",
                            "snapchat",
                            "tiktok",
                            "twitter",
                            "whatsapp",
                            "xing",
                            "youtube"
                        ]
                    },
                    "value": {
                        "description": "The social profile handle",
                        "type": "string"
                    },
                    "work": {
                        "description": "Whether this is a business social profile",
                        "type": "boolean"
                    },
                    "home": {
                        "description": "Whether this is a personal social profile",
                        "type": "boolean"
                    },
                    "archived": {
                        "description": "Archive this social profile",
                        "type": "boolean"
                    }
                }
            },
            "ContactURL": {
                "type": "object",
                "singular": "website",
                "plural": "websites",
                "required": [
                    "address"
                ],
                "properties": {
                    "name": {
                        "description": "Name of this url",
                        "type": "string"
                    },
                    "address": {
                        "description": "The url for this contact",
                        "type": "string",
                        "format": "uri"
                    },
                    "archived": {
                        "description": "Archive this website",
                        "type": "boolean"
                    }
                }
            },
            "ContactAddress": {
                "type": "object",
                "singular": "postal address",
                "plural": "postal addresses",
                "properties": {
                    "street": {
                        "description": "Street number and street name",
                        "type": "string"
                    },
                    "suite": {
                        "description": "Suite number",
                        "type": "string"
                    },
                    "pobox": {
                        "description": "P.O. Box",
                        "type": "string"
                    },
                    "city": {
                        "description": "City name",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region / State",
                        "type": "string"
                    },
                    "country": {
                        "description": "Country name",
                        "type": "string"
                    },
                    "postcode": {
                        "description": "Postal code or Zip code",
                        "type": "string"
                    },
                    "mlsid": {
                        "description": "Used if this address represents a MLS-listed property",
                        "type": "string"
                    },
                    "work": {
                        "description": "Whether this is a work address",
                        "type": "boolean"
                    },
                    "home": {
                        "description": "Whether this is a personal/home address",
                        "type": "boolean"
                    },
                    "preferred": {
                        "description": "Make this the preferred postal address",
                        "type": "boolean"
                    },
                    "archived": {
                        "description": "Archive this postal address",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "an alternative to work/home fields when submitting records to cloze",
                        "type": "string",
                        "enum": [
                            "work",
                            "home"
                        ]
                    },
                    "latitude": {
                        "description": "The latitude of this address (in decimal degrees)",
                        "type": "number"
                    },
                    "longitude": {
                        "description": "The longitude of this address (in decimal degrees)",
                        "type": "number"
                    },
                    "formatted": {
                        "description": "Fully formatted address (only used, when importing, if separate fields aren't available)",
                        "type": "string"
                    }
                }
            },
            "Job": {
                "type": "object",
                "singular": "job",
                "plural": "jobs",
                "required": [
                    "organization"
                ],
                "properties": {
                    "organization": {
                        "description": "The name of the organization",
                        "type": "string"
                    },
                    "title": {
                        "description": "The job title within the organization",
                        "type": "string"
                    },
                    "archived": {
                        "description": "Archive this job",
                        "type": "boolean"
                    }
                }
            },
            "PictureRef": {
                "type": "object",
                "singular": "picture",
                "plural": "pictures",
                "importType": "string",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "description": "URL of the picture",
                        "type": "string",
                        "format": "uri"
                    },
                    "thumbnail": {
                        "description": "Thumbnail URL of the picture, at most 120px in largest dimension (so don't use for any display above 60px wide). Ignored when importing - provided on output.",
                        "type": "string",
                        "format": "uri",
                        "readOnly": true
                    },
                    "type": {
                        "description": "MIME type of the picture",
                        "type": "string"
                    },
                    "priority": {
                        "description": "Priority of the picture. 0 is the highest priority (i.e. 1 is higher priority than 5).",
                        "type": "number"
                    },
                    "preferred": {
                        "description": "Make this the preferred picture. If priority and preferred are both set, they must not conflict.",
                        "type": "boolean"
                    }
                }
            },
            "RelationRef": {
                "type": "object",
                "title": "Relation",
                "singular": "reference",
                "plural": "references",
                "required": [
                    "type",
                    "ids"
                ],
                "properties": {
                    "name": {
                        "description": "Name of this relation",
                        "type": "string"
                    },
                    "type": {
                        "description": "Type of this relation",
                        "type": "string",
                        "enum": [
                            "person",
                            "company",
                            "project"
                        ]
                    },
                    "ids": {
                        "description": "One or more ids of the person, company, or project. When available, this should the `syncKey`, `portableId`, or one of the `uniqueids`.  Alternately (if the relation has not previously been retrieved and stored) this can be an email address, mobile phone number, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "TimelineRelationRef": {
                "type": "object",
                "singular": "timeline reference",
                "plural": "timeline references",
                "required": [
                    "type",
                    "ids"
                ],
                "properties": {
                    "name": {
                        "description": "Name of this relation",
                        "type": "string"
                    },
                    "type": {
                        "description": "Type of this relation",
                        "type": "string",
                        "enum": [
                            "person",
                            "company",
                            "project"
                        ]
                    },
                    "ids": {
                        "description": "One or more ids of the person, company, or project. When available, this should the `syncKey`, `portableId`, or one of the `uniqueids`.  Alternately (if the relation has not previously been retrieved and stored) this can be an email address, mobile phone number, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "RecipientRef": {
                "type": "object",
                "singular": "recipient",
                "plural": "recipients",
                "required": [
                    "value"
                ],
                "properties": {
                    "name": {
                        "description": "Name of this recipient",
                        "type": "string"
                    },
                    "value": {
                        "description": "Identifier of this recipient. Must be email addresses or other unique identifier (e.g. mobile phone numbers) for people",
                        "type": "string"
                    },
                    "role": {
                        "description": "Role of this recipient in the communication",
                        "type": "string",
                        "enum": [
                            "to",
                            "cc",
                            "bcc",
                            "from"
                        ]
                    }
                }
            },
            "ContentLink": {
                "type": "object",
                "singular": "content link",
                "plural": "content links",
                "required": [
                    "value"
                ],
                "properties": {
                    "title": {
                        "description": "Title for this link",
                        "type": "string"
                    },
                    "value": {
                        "description": "Link to include with the URL",
                        "type": "string",
                        "format": "uri"
                    },
                    "mimeType": {
                        "description": "MIME type for this link (e.g. \"application/pdf\")",
                        "type": "string"
                    },
                    "displayType": {
                        "description": "Show as an attachment or link",
                        "type": "string",
                        "enum": [
                            "link",
                            "attachment"
                        ]
                    }
                }
            },
            "DoNotContact": {
                "type": "object",
                "properties": {
                    "no-emails": {
                        "description": "Emailing the person from Cloze is disabled",
                        "type": "boolean"
                    },
                    "no-mass-emails": {
                        "description": "Mail merging the person from Cloze is disabled",
                        "type": "boolean"
                    },
                    "no-texts": {
                        "description": "Texting the person from Cloze is disabled",
                        "type": "boolean"
                    },
                    "no-postal": {
                        "description": "No postal",
                        "type": "boolean"
                    },
                    "no-calls": {
                        "description": "Calling the person from Cloze is disabled",
                        "type": "boolean"
                    },
                    "no-visits": {
                        "description": "No visits",
                        "type": "boolean"
                    }
                }
            },
            "PersonRef": {
                "type": "object",
                "singular": "person",
                "plural": "people",
                "properties": {
                    "syncKey": {
                        "description": "Internal Cloze database primary key. This can used to keep this record in-sync with external systems. Note that the syncKey for the same person may change over time as records are merged. But, you can compare syncKeys to see if two people are the same database record.",
                        "type": "string"
                    },
                    "portableId": {
                        "description": "A portable ID can be used to find the equivalent person across user accounts, or stored and used to retrieve the person later even if the person is merged and its syncKey changes.",
                        "type": "string"
                    },
                    "uniqueids": {
                        "description": "Array of opaque unique identifiers for this person. Any one can be used to retrieve the person, or refer to the person in a custom field or timeline reference. NaN",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "fileImport": false
                    },
                    "account": {
                        "description": "Use this to create/update the person in a different team member's account (if you have sufficient permissions). The value should be the email address of the team member, \"team\" to submit directly to the team, or the id of a configured lead management account.",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "name": {
                        "description": "full name of the person",
                        "type": "string"
                    },
                    "first": {
                        "description": "first name of the person",
                        "type": "string"
                    },
                    "middle": {
                        "description": "middle name of the person",
                        "type": "string"
                    },
                    "last": {
                        "description": "last name of the person",
                        "type": "string"
                    },
                    "headline": {
                        "description": "headline for the person",
                        "type": "string"
                    },
                    "household": {
                        "description": "household for the person",
                        "type": "string"
                    },
                    "picture": {
                        "description": "publicly accessible https url of a picture of the person",
                        "type": "string",
                        "format": "uri",
                        "writeOnly": true
                    },
                    "pictures": {
                        "description": "Array of publicly accessible pictures for the person",
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/PictureRef"
                        }
                    },
                    "private": {
                        "description": "whether the person is marked private",
                        "type": "boolean",
                        "default": false
                    },
                    "stage": {
                        "description": "stage of the person:\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\n",
                        "type": "string",
                        "enum": [
                            "lead",
                            "future",
                            "current",
                            "past",
                            "out"
                        ]
                    },
                    "segment": {
                        "description": "segment of the person. This can either be an underlying immutable segment id (e.g. \"custom2\") or the current name of the segment (e.g. \"Buyer & Seller\").",
                        "type": "string"
                    },
                    "step": {
                        "description": "Unique Id of Next Step",
                        "type": "string"
                    },
                    "defaultStage": {
                        "description": "set stage of the person if not already set:\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\n",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "lead",
                            "future",
                            "current",
                            "past",
                            "out"
                        ]
                    },
                    "defaultSegment": {
                        "description": "set segment of the person if not already set. This can either be an underlying immutable segment id (e.g. \"custom2\") or the current name of the segment (e.g. \"Buyer & Seller\").",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "defaultStep": {
                        "description": "set Unique Id of Next Step if not already set",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "recycleStage": {
                        "description": "If the person being modified is in a Done stage such as Inactive or Done, set the stage to the defaultStage value",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "recycleSegment": {
                        "description": "If the person being modified is in a Done stage such as Inactive or Done, set the stage to the defaultStage value",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "country": {
                        "description": "Country of the person",
                        "type": "string"
                    },
                    "location": {
                        "description": "Location of the person",
                        "type": "string"
                    },
                    "locale": {
                        "description": "The person's preferred language locale (Unicode CLDR or BCP 47)",
                        "type": "string"
                    },
                    "gender": {
                        "description": "Gender of the person",
                        "type": "string"
                    },
                    "formality": {
                        "description": "whether this person should be greeted formally or informally",
                        "type": "string",
                        "enum": [
                            "formal",
                            "informal"
                        ]
                    },
                    "birthday": {
                        "description": "Birthday of the person (yyyy-MM-dd format)",
                        "type": "string",
                        "format": "date"
                    },
                    "replaceIdentity": {
                        "description": "Replace or merge all identity fields (name, first, last, gender, formality, and birthday) with provided values (replace includes blank) instead of merging them when safe",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "replace",
                            "merge",
                            "safe"
                        ]
                    },
                    "archived": {
                        "description": "Force this person to be archived (true) or unarchived (false) if possible",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "atAGlanceNotes": {
                        "description": "At a Glance Notes for the person",
                        "type": "string"
                    },
                    "notes": {
                        "description": "About Notes for the person",
                        "oneormore": true,
                        "type": "string"
                    },
                    "timelineNotes": {
                        "description": "Array of notes added to the timeline (with the date being the date they were imported)",
                        "writeOnly": true,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "singular": "timeline note",
                            "plural": "timeline notes"
                        }
                    },
                    "timelineStyle": {
                        "description": "Style of the timeline note (default is \"note\")",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "note",
                            "event",
                            "call",
                            "text"
                        ]
                    },
                    "timelineTemplate": {
                        "description": "Template for timeline notes (if any)",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "timelineRe": {
                        "description": "Array of people, companies, or projects to add as references to the timelineNotes",
                        "writeOnly": true,
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TimelineRelationRef"
                        }
                    },
                    "timelineFields": {
                        "description": "Array of custom fields to add to the timeline notes",
                        "writeOnly": true,
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TimelineField"
                        }
                    },
                    "shareTo": {
                        "description": "Send a copy of this person to this team member. To do this, the user must have permission to import team data and view and edit team contacts and deals.",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "shareTimeline": {
                        "description": "Share the timeline for this person.  May send the person to the team if it is not there already.",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "assignTo": {
                        "description": "Assign this person to this team member. To do this, the user must have permission to import team data and view and edit team contacts and deals.",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "defaultAssignTo": {
                        "description": "Assign this person to this team member if not currently assigned",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "node": {
                        "description": "Hierarchy feature only. Share person with team and place hierarchy node. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "type": "string"
                    },
                    "defaultNode": {
                        "description": "Hierarchy feature only. Share person with team and place in hierarchy node if NOT currently placed. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "campaignId": {
                        "description": "Trigger the campaign matching this ID when processing the person",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "bucket": {
                        "description": "For importing from systems with ad-hoc organization, attempt to map this field to stage, segment, and tags as appropriate",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "keywords": {
                        "description": "Array of keywords, tags, or labels",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "singular": "tag",
                            "plural": "tags"
                        }
                    },
                    "emails": {
                        "description": "Array of email addresses",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactEmail"
                        }
                    },
                    "phones": {
                        "description": "Array of phone numbers",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactPhone"
                        }
                    },
                    "faxes": {
                        "description": "Array of fax numbers",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactFax"
                        }
                    },
                    "addresses": {
                        "description": "Array of postal addresses",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactAddress"
                        }
                    },
                    "socials": {
                        "description": "Array of social handles",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactSocial"
                        }
                    },
                    "customFields": {
                        "description": "Array of custom fields",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CustomField"
                        }
                    },
                    "appLinks": {
                        "description": "Array of App Links (at least one is required)",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AppLink"
                        }
                    },
                    "doNotContact": {
                        "description": "Read-only. Returns the overall computed do not contact information",
                        "readOnly": true,
                        "$ref": "#/components/schemas/DoNotContact"
                    },
                    "urls": {
                        "description": "Array of URLs",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactURL"
                        }
                    },
                    "workHistory": {
                        "description": "Array of jobs. Note that work history is informational - it does not create companies or link this person to them.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Job"
                        }
                    },
                    "companies": {
                        "description": "Create or update one or more companies and link this person to them",
                        "type": "array",
                        "writeOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/CompanyRef"
                        }
                    },
                    "projects": {
                        "description": "List of projects this person is a client of (read only)",
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/PersonRef"
                        }
                    },
                    "splitAt": {
                        "description": "Split keywords, tags, labels, and pick list values in a custom way. This is a regular expression (as a string).",
                        "writeOnly": true,
                        "type": "string",
                        "format": "regex"
                    },
                    "dateFormat": {
                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "us",
                            "international"
                        ]
                    },
                    "dryrun": {
                        "description": "Run all validation but do not create/update the record",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipImport": {
                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipWithoutIds": {
                        "description": "Silently skip this record if there are no unique identifiers available",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "stripAliases": {
                        "description": "Strip aliases from emails when the email includes a plus (+) or pound (#) character",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "reason": {
                        "description": "Identify the source of the import record.",
                        "writeOnly": true,
                        "type": "string"
                    }
                },
                "examples": [
                    {
                        "name": "Lucy Gregorian",
                        "headline": "Senior VP at Lucid Marketing",
                        "stage": "lead",
                        "segment": "customer",
                        "emails": [
                            {
                                "value": "lucyg@lucidmarketing.com",
                                "work": true
                            }
                        ],
                        "customFields": [
                            {
                                "id": "lead-source",
                                "type": "keywords",
                                "value": "hubspot"
                            }
                        ]
                    }
                ]
            },
            "CompanyRef": {
                "type": "object",
                "singular": "company",
                "plural": "companies",
                "properties": {
                    "syncKey": {
                        "description": "Internal Cloze database primary key. This can used to keep this record in-sync with external systems. Note that the syncKey for the same company may change over time as records are merged. But, you can compare syncKeys to see if two companies are the same database record.",
                        "type": "string"
                    },
                    "portableId": {
                        "description": "A portable ID can be used to find the equivalent company across user accounts, or stored and used to retrieve the company later even if the company is merged and its syncKey changes.",
                        "type": "string"
                    },
                    "uniqueids": {
                        "description": "Array of opaque unique identifiers for this company. Any one can be used to retrieve the company, or refer to the company in a custom field or timeline reference. NaN",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "fileImport": false
                    },
                    "account": {
                        "description": "Team administrators can use this to create the company in a different team member's account. This should be the email address of the team member. The user must be an administrator and have permission to import team data to do this. Set to \"team\" to import into the team.",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "name": {
                        "description": "name of the company",
                        "type": "string"
                    },
                    "description": {
                        "description": "description of the company",
                        "type": "string"
                    },
                    "industry": {
                        "description": "Industry the company belongs to",
                        "type": "string"
                    },
                    "businessSize": {
                        "description": "Size of the business (e.g. revenue range)",
                        "type": "string"
                    },
                    "employees": {
                        "description": "Range of number of employees (e.g. 10-100)",
                        "type": "string"
                    },
                    "headline": {
                        "description": "headline for the company",
                        "type": "string"
                    },
                    "picture": {
                        "description": "publicly accessible https url of a picture of the company",
                        "type": "string",
                        "format": "uri",
                        "writeOnly": true
                    },
                    "pictures": {
                        "description": "Array of publicly accessible pictures for the company",
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "$ref": "#/components/schemas/PictureRef"
                        }
                    },
                    "stage": {
                        "description": "stage of the company:\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\n",
                        "type": "string",
                        "enum": [
                            "lead",
                            "future",
                            "current",
                            "past",
                            "out"
                        ]
                    },
                    "segment": {
                        "description": "segment of the company. This can either be an underlying immutable segment id (e.g. \"custom2\") or the current name of the segment (e.g. \"Buyer & Seller\").",
                        "type": "string"
                    },
                    "step": {
                        "description": "Unique Id of Next Step",
                        "type": "string"
                    },
                    "defaultStage": {
                        "description": "set stage of the company if not already set:\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\n",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "lead",
                            "future",
                            "current",
                            "past",
                            "out"
                        ]
                    },
                    "defaultSegment": {
                        "description": "set segment of the company if not already set. This can either be an underlying immutable segment id (e.g. \"custom2\") or the current name of the segment (e.g. \"Buyer & Seller\"",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "defaultStep": {
                        "description": "set Unique Id of Next Step if not already set",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "country": {
                        "description": "Country of the company",
                        "type": "string"
                    },
                    "location": {
                        "description": "Location of the company",
                        "type": "string"
                    },
                    "locale": {
                        "description": "The company's preferred language locale (Unicode CLDR or BCP 47)",
                        "type": "string"
                    },
                    "archived": {
                        "description": "Force this company to be archived (true) or unarchived (false) if possible",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "atAGlanceNotes": {
                        "description": "At a Glance Notes for the company",
                        "type": "string"
                    },
                    "notes": {
                        "description": "About Notes for the company",
                        "oneormore": true,
                        "type": "string"
                    },
                    "shareTo": {
                        "description": "Send a copy of this company to this team member",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "shareTimeline": {
                        "description": "Share the timeline for this person.  May send the person to the team if it is not there already.",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "assignTo": {
                        "description": "Assign this company to this team member",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "defaultAssignTo": {
                        "description": "Assign this company to this team member if not currently assigned",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "node": {
                        "description": "Hierarchy feature only. Share company with team and place in hierarchy node. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "type": "string"
                    },
                    "defaultNode": {
                        "description": "Hierarchy feature only. Share company with team and place in hierarchy node if NOT currently placed. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "keywords": {
                        "description": "Array of keywords, tags, or labels",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "domains": {
                        "description": "Array of domain names",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "emails": {
                        "description": "Array of email addresses",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactEmail"
                        }
                    },
                    "phones": {
                        "description": "Array of phone numbers",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactPhone"
                        }
                    },
                    "faxes": {
                        "description": "Array of fax numbers",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactFax"
                        }
                    },
                    "addresses": {
                        "description": "Array of postal addresses",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactAddress"
                        }
                    },
                    "socials": {
                        "description": "Array of social handles",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactSocial"
                        }
                    },
                    "customFields": {
                        "description": "Array of custom fields",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CustomField"
                        }
                    },
                    "appLinks": {
                        "description": "Array of App Links (at least one is required)",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AppLink"
                        }
                    },
                    "urls": {
                        "description": "Array of URLs",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactURL"
                        }
                    },
                    "splitAt": {
                        "description": "Split keywords, tags, labels, and pick list values in a custom way. This is a regular expression (as a string).",
                        "writeOnly": true,
                        "type": "string",
                        "format": "regex"
                    },
                    "dateFormat": {
                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "us",
                            "international"
                        ]
                    },
                    "dryrun": {
                        "description": "Run all validation but do not create/update the record",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipImport": {
                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipWithoutIds": {
                        "description": "Silently skip this record if there are no unique identifiers available",
                        "writeOnly": true,
                        "type": "boolean"
                    }
                },
                "examples": [
                    {
                        "name": "IncFire Studios",
                        "description": "Marketing videos made awesome!",
                        "stage": "lead",
                        "segment": "customer",
                        "domains": [
                            "incfire.com"
                        ],
                        "customFields": [
                            {
                                "id": "lead-source",
                                "type": "keywords",
                                "value": "comdex2018"
                            }
                        ]
                    }
                ]
            },
            "MessageRef": {
                "type": "object",
                "singular": "communication record",
                "plural": "communication records",
                "properties": {
                    "account": {
                        "description": "Team administrators can use this to create the communication record in a different team member's account. This should be the email address of the team member. The user must be an administrator and have permission to import team data to do this.",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "key": {
                        "description": "Key of the message",
                        "type": "string",
                        "readOnly": true
                    },
                    "changed": {
                        "description": "Date when message was last changed",
                        "type": "integer",
                        "readOnly": true
                    },
                    "date": {
                        "description": "when the communcation actually happened (or when the meeting is scheduled for) Can be a string or a UTC timestamp in ms since the epoch.",
                        "type": [
                            "string",
                            "number"
                        ],
                        "format": "date-time"
                    },
                    "name": {
                        "description": "the from name for this communication record (the name of the person initating the communication). Alternatively, the name can be provided as a recipient with role \"from\" (but only one from name can be specified).",
                        "type": "string"
                    },
                    "from": {
                        "description": "the from address for this communication record (the address of the person initating the communication). This can be an email address, phone number, social handle or app link  (e.g. na16.salesforce.com:006j000000Pkp1d). Alternatively, the from address can be provided as a recipient with role \"from\" (but only one from can be specified)",
                        "type": "string"
                    },
                    "style": {
                        "description": "Style of this communication (This controls both how it will be displayed in Cloze as well has how it will be analyzed for relationship scoring).",
                        "type": "string",
                        "enum": [
                            "email",
                            "call",
                            "text",
                            "meeting",
                            "message",
                            "inapp",
                            "postal",
                            "postal-bulk"
                        ]
                    },
                    "threadid": {
                        "description": "A unique identifier describing the thread this belongs to. All messages with this same threadid will be threaded together in cloze. An example of a good threadid would be a unique support ticket number.",
                        "type": "string"
                    },
                    "recipients": {
                        "description": "Array of recipients of the communication (or attendees of calls or meetings). These must be people only (they cannot be companies or projects).",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RecipientRef"
                        }
                    },
                    "references": {
                        "description": "Array of people, companies, or projects related to the communication record.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RelationRef"
                        }
                    },
                    "subject": {
                        "description": "Subject of the communication record. For short messages (sms, chat, etc.) the entire message should be contained in the subject.",
                        "type": "string"
                    },
                    "preview": {
                        "description": "Preview of the body (if not provided will be automatically created from the body). Must be no longer than 1kb. For short messages (sms, chat, etc.) you can have a preview without a body, but it should be distinct from the subject (not the same).",
                        "type": "string"
                    },
                    "body": {
                        "description": "Body text of the communication record",
                        "type": "string"
                    },
                    "bodytype": {
                        "description": "Type of the body. If not specified body is treated as plain text.",
                        "type": "string",
                        "enum": [
                            "html",
                            "text"
                        ]
                    },
                    "template": {
                        "description": "Template for body (if any)",
                        "type": "string"
                    },
                    "customFields": {
                        "description": "Array of custom fields",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentCustomField"
                        }
                    },
                    "due": {
                        "description": "date stamp for reminder (1 if \"someday\"). Can be a string or a UTC timestamp in ms since the epoch. If not provided the reminder is treated as \"someday\".",
                        "type": [
                            "string",
                            "number"
                        ],
                        "format": "date-time"
                    },
                    "duration": {
                        "description": "For meetings and calls, this is the duration (in minutes)",
                        "type": "number"
                    },
                    "location": {
                        "description": "For meetings, this is the location of the meeting",
                        "type": "string"
                    },
                    "outcome": {
                        "description": "For calls, this is the outcome",
                        "type": "string",
                        "enum": [
                            "leftvm",
                            "noanwser",
                            "connected"
                        ]
                    },
                    "direction": {
                        "description": "For calls and texts, this is the direction of the call",
                        "type": "string",
                        "enum": [
                            "inbound",
                            "outbound"
                        ]
                    },
                    "measureas": {
                        "description": "Classify the communication as the specified measure, e.g. \"inquiry\"",
                        "type": "string"
                    },
                    "links": {
                        "description": "Array of links to include with this communication",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentLink"
                        }
                    },
                    "channelIcon": {
                        "description": "Set a custom icon for the communication item as a Font Awesome class",
                        "type": "string"
                    },
                    "channelName": {
                        "description": "Set a custom name for the type of item",
                        "type": "string"
                    },
                    "update": {
                        "description": "Update the existing communication record if it's already been imported",
                        "type": "boolean",
                        "writeOnly": true
                    },
                    "campaignId": {
                        "description": "Trigger the campaign matching this ID on the from person if there is one",
                        "type": "string",
                        "writeOnly": true
                    },
                    "dateFormat": {
                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                        "type": "string",
                        "enum": [
                            "us",
                            "international"
                        ],
                        "writeOnly": true
                    },
                    "dryrun": {
                        "description": "Run all validation but do not create/update the record",
                        "type": "boolean",
                        "writeOnly": true
                    },
                    "skipImport": {
                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                        "type": "boolean",
                        "writeOnly": true
                    }
                },
                "examples": [
                    {
                        "date": "2018-11-20T11:45:13Z",
                        "style": "call",
                        "from": "+1 650-555-1212",
                        "subject": "Call with Dana Varenos",
                        "recipients": [
                            {
                                "value": "+1 781-555-1212"
                            }
                        ],
                        "outcome": "connected",
                        "duration": 12
                    }
                ]
            },
            "Query": {
                "type": "object",
                "properties": {
                    "scale": {
                        "description": "one of `year`, `quarter`, `month`, `week` or `day`",
                        "type": "string"
                    },
                    "max": {
                        "type": "integer"
                    },
                    "min": {
                        "type": "integer"
                    },
                    "start": {
                        "type": "string"
                    },
                    "end": {
                        "type": "string"
                    },
                    "tag": {
                        "type": "string"
                    },
                    "measures": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "ProjectQuery": {
                "type": "object",
                "properties": {
                    "always": {
                        "type": "string"
                    },
                    "metrics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "FunnelQuery": {
                "type": "object",
                "properties": {
                    "start": {
                        "description": "Starting date of data requested, in utils.day YYYY-MM-DD format",
                        "type": "string"
                    },
                    "bounds": {
                        "description": "Specify if you are interested in pipelines that are still open this period from previous periods or pipelines that started this people.  When `open` statistics are rollup up until the end of the selected period.  Unless specified otherwise, when `start` statistics are rollup up to the current time. Default is open",
                        "type": "string",
                        "enum": [
                            "open",
                            "start"
                        ]
                    },
                    "scale": {
                        "type": "string",
                        "enum": [
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day"
                        ]
                    },
                    "relative": {
                        "description": "A relative number of time periods (versus the current period) to move back in time to. For instance, a scale of \"quarter\" with a relative of -1 means \"last quarter\"",
                        "type": "number"
                    },
                    "mode": {
                        "description": "Specify how to rollup statistics.  Valid values are \"step\", \"segment\", \"leadsource\", \"user\". A value of \"step\" rolls up metrics based on step.  A value of \"leadsource\" rolls up metrics based on leadsource. A value of \"user\" rolls up metrics based on user.",
                        "type": "string",
                        "enum": [
                            "step",
                            "segment",
                            "leadsource",
                            "user"
                        ]
                    },
                    "segment": {
                        "description": "The pipeline segment being queried.  This is either a project's pipeline segment for Project based funnels, or a lead's pipeline segment for lead based funnels.",
                        "type": "string"
                    },
                    "leadsegment": {
                        "description": "When querying project pipelines, this is specified to indicate which lead segment to query in combination with the project segment.  Project pipelines are configured with one or more lead segments, this disambiguates which lead segment is being queried when getting the corresponding lead segment.  Specified when retrieving lead specific information from a project pipeline.",
                        "type": "string"
                    },
                    "metrics": {
                        "description": "Array of metrics to return for the funnel",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "leadsources": {
                        "description": "The lead source id to filter results with",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "tag": {
                        "description": "Tag or custom field to filter results by.  If it is in the format <customfieldid>:<value> results will be filtered by custom field",
                        "type": "string"
                    },
                    "users": {
                        "description": "The user ids/login emails to filter results with",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "submetrics": {
                        "description": "By specifying \"mode\" you can get results by user, step, or leadsource, however, there maybe times you want to get additional information.  For instance, for every user, get the amount of time available in each step.  This is used to specify that we should get that information",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "exampleSubmetricName": {
                                    "description": "Each submetric in the map should have a different name.",
                                    "$ref": "#/components/schemas/SubMetricArray"
                                }
                            }
                        }
                    }
                }
            },
            "SubMetricArray": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/SubMetric"
                }
            },
            "SubMetric": {
                "type": "object",
                "properties": {
                    "mode": {
                        "description": "Specify how to rollup statistics.  Valid values are \"step\", \"segment\", \"leadsource\", \"user\". A value of \"step\" rolls up metrics based on step.  A value of \"leadsource\" rolls up metrics based on leadsource. A value of \"user\" rolls up metrics based on user.",
                        "type": "string",
                        "enum": [
                            "step",
                            "segment",
                            "leadsource",
                            "user"
                        ]
                    },
                    "metrics": {
                        "description": "array of metrics to return per funnel result",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "FormResponse": {
                "type": "object",
                "required": [
                    "errorcode"
                ],
                "properties": {
                    "errorcode": {
                        "description": "Error code. 0 means success",
                        "type": "number"
                    },
                    "message": {
                        "description": "If an error occurs, this is the human readable description",
                        "required": false,
                        "type": "string"
                    },
                    "timelineNoteId": {
                        "description": "If timelineNote is provided, this is the ID used to update it within 1d",
                        "required": false,
                        "type": "string"
                    }
                },
                "examples": [
                    {
                        "errorcode": 0
                    }
                ]
            },
            "ContactFormAddress": {
                "type": "object",
                "singular": "postal address",
                "plural": "postal addresses",
                "properties": {
                    "street": {
                        "description": "Street number and street name",
                        "type": "string"
                    },
                    "suite": {
                        "description": "Suite number",
                        "type": "string"
                    },
                    "city": {
                        "description": "City name",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region / State",
                        "type": "string"
                    },
                    "country": {
                        "description": "Country name",
                        "type": "string"
                    },
                    "postcode": {
                        "description": "Postal code or Zip code",
                        "type": "string"
                    },
                    "formatted": {
                        "description": "Fully formatted address (only used, when importing, if separate fields aren't available)",
                        "type": "string"
                    }
                }
            },
            "PersonFormRef": {
                "type": "object",
                "singular": "person",
                "plural": "people",
                "properties": {
                    "account": {
                        "description": "Use this to create/update the person in a different team member's account (if you have sufficient permissions). The value should the id of a configured lead management account.",
                        "type": "string"
                    },
                    "routes": {
                        "description": "This allows the form to be submitted to multiple different accounts at the same time (each must have a unique value for `account`). Each field within this sub object is applied as deltas to the outer record before submission. If `routes` is specified, every route must have an `account` property. To route to the current user, use the value `me` for `account`. Routes that are not configured will be silently ignored. If there are no valid routes the request will be routed to the current user.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PersonFormRef"
                        }
                    },
                    "name": {
                        "description": "full name of the person",
                        "type": "string"
                    },
                    "first": {
                        "description": "first name of the person",
                        "type": "string"
                    },
                    "last": {
                        "description": "last name of the person",
                        "type": "string"
                    },
                    "headline": {
                        "description": "headline for the person",
                        "type": "string"
                    },
                    "stage": {
                        "description": "set stage of the person if not already set:\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\nIn form submission, this field is equivalent to the standard defaultStage and recycleStage fields combined.\n",
                        "type": "string",
                        "enum": [
                            "lead",
                            "future",
                            "current",
                            "past",
                            "out"
                        ]
                    },
                    "segment": {
                        "description": "set segment of the person if not already set. This can either be an underlying immutable segment id (e.g. \"custom2\") or the current name of the segment (e.g. \"Buyer & Seller\"). In form submission, this field is equivalent to the standard defaultSegment and recycleSegment fields combined.",
                        "type": "string"
                    },
                    "country": {
                        "description": "Country of the person",
                        "type": "string"
                    },
                    "locale": {
                        "description": "The person's preferred language locale (Unicode CLDR or BCP 47)",
                        "type": "string"
                    },
                    "gender": {
                        "description": "Gender of the person",
                        "type": "string"
                    },
                    "formality": {
                        "description": "whether this person should be greeted formally or informally",
                        "type": "string",
                        "enum": [
                            "formal",
                            "informal"
                        ]
                    },
                    "birthday": {
                        "description": "Birthday of the person (yyyy-MM-dd format)",
                        "type": "string",
                        "format": "date"
                    },
                    "timelineNote": {
                        "description": "Note to add to the timeline (with the date being the date this were imported)",
                        "type": "string"
                    },
                    "timelineNoteId": {
                        "description": "ID of the timeline note to update (if provided, will update existing note if resubmitted within 1d)",
                        "type": "string"
                    },
                    "timelineStyle": {
                        "description": "Style of the timeline note (default is \"event\")",
                        "type": "string",
                        "enum": [
                            "note",
                            "event",
                            "call",
                            "text"
                        ]
                    },
                    "timelineTemplate": {
                        "description": "Template for timeline note (if any)",
                        "type": "string"
                    },
                    "timelineRe": {
                        "description": "Array of people, companies, or projects to add as references to the timelineNotes",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RelationRef"
                        }
                    },
                    "timelineFields": {
                        "description": "Array of custom fields to add to the timeline notes",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentCustomField"
                        }
                    },
                    "keywords": {
                        "description": "Array of keywords, tags, or labels",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "singular": "tag",
                            "plural": "tags"
                        }
                    },
                    "email": {
                        "description": "Email address of the person",
                        "type": "string",
                        "format": "email"
                    },
                    "phone": {
                        "description": "Phone number of the person",
                        "type": "string"
                    },
                    "address": {
                        "description": "Postal address of the person (their own address, not an address they are inquiring about)",
                        "$ref": "#/components/schemas/ContactFormAddress"
                    },
                    "customFields": {
                        "description": "Array of custom fields to add structured data to timeline note and person",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CustomField"
                        }
                    },
                    "dryrun": {
                        "description": "Run all validation but do not create/update the record",
                        "type": "boolean"
                    }
                },
                "examples": [
                    {
                        "name": "Lucy Gregorian",
                        "headline": "Senior VP at Lucid Marketing",
                        "stage": "lead",
                        "segment": "customer",
                        "email": "lucyg@lucidmarketing.com",
                        "customFields": [
                            {
                                "id": "lead-source",
                                "type": "keywords",
                                "value": "hubspot"
                            }
                        ]
                    }
                ]
            },
            "ProjectRef": {
                "type": "object",
                "singular": "project",
                "plural": "projects",
                "properties": {
                    "syncKey": {
                        "description": "Internal Cloze database key used to keep this record in-sync with external systems. Note that the syncKey for the same project may change over time as records are merged. But, you can compare syncKeys to see if two projects are the same database record.",
                        "type": "string"
                    },
                    "portableId": {
                        "description": "A portable ID can be used to find the equivalent project across user accounts, or stored and used to retrieve the project later even if the project is merged and its syncKey changes.",
                        "type": "string"
                    },
                    "uniqueids": {
                        "description": "Array of opaque unique identifiers for this project. Any one can be used to retrieve the project, or refer to the project in a custom field or timeline reference. NaN",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "fileImport": false
                    },
                    "account": {
                        "description": "Team administrators can use this to create the project in a different team member's account. This should be the email address of the team member. The user must be an administrator and have permission to import team data to do this. Set to \"team\" to import into the team.",
                        "writeOnly": true,
                        "type": "string",
                        "format": "email"
                    },
                    "name": {
                        "description": "name of the project or deal",
                        "type": "string"
                    },
                    "summary": {
                        "description": "summary description of the project or deal",
                        "type": "string"
                    },
                    "pictures": {
                        "description": "Array of publicly accessible pictures for the project or deal",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PictureRef"
                        }
                    },
                    "allpictures": {
                        "description": "if true, any picture(s) provided replace any previous picture(s)",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "stage": {
                        "description": "stage of the project:\n* `future` Potential stage\n* `current` Active stage\n* `won` Won or Done stage\n* `lost` Lost stage\n",
                        "type": "string",
                        "enum": [
                            "future",
                            "current",
                            "pending",
                            "won",
                            "lost"
                        ]
                    },
                    "segment": {
                        "description": "Segment of the project. This can either be an underlying immutable segment id (e.g. \"project2\") or the current name of the segment (e.g. \"Buy Transaction\").",
                        "type": "string"
                    },
                    "step": {
                        "description": "Unique Id of Next Step",
                        "type": "string"
                    },
                    "defaultStage": {
                        "description": "set stage of the project if not already set:\n* `future` Potential stage\n* `current` Active stage\n* `won` Won or Done stage\n* `lost` Lost stage\n",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "future",
                            "current",
                            "pending",
                            "won",
                            "lost"
                        ]
                    },
                    "defaultSegment": {
                        "description": "Set segment of the project if not already set. This can either be an underlying immutable segment id (e.g. \"project2\")\nor the current name of the segment (e.g. \"Buy Transaction\").\n",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "defaultStep": {
                        "description": "set Unique Id of Next Step if not already set",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "recycleStage": {
                        "description": "If the project being modified is in a Done stage such as Won or Lost, set the stage to the defaultStage value",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "recycleSegment": {
                        "description": "If the project being modified is in a Done stage such as Won or Lost, set the stage to the defaultStage value",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "node": {
                        "description": "Hierarchy feature only. Share project with team and place hierarchy node. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "type": "string"
                    },
                    "defaultNode": {
                        "description": "Hierarchy feature only. Share project with team and place in hierarchy node if NOT currently placed. This is a node name e.g. /EU/FR/Paris, or Team name for top node.",
                        "writeOnly": true,
                        "type": "string"
                    },
                    "projectTeam": {
                        "description": "List of team member email addresses to add a collaborators to the project",
                        "type": "array",
                        "items": {
                            "singular": "project team member",
                            "plural": "project team members",
                            "type": "string"
                        }
                    },
                    "archived": {
                        "description": "Force this project to be archived (true) or unarchived (false) if possible",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "atAGlanceNotes": {
                        "description": "At a Glance Notes for the project",
                        "type": "string"
                    },
                    "notes": {
                        "description": "About Notes for the project",
                        "oneormore": true,
                        "type": "string"
                    },
                    "createdDate": {
                        "description": "Date of project creation",
                        "type": "string",
                        "format": "date"
                    },
                    "startDate": {
                        "description": "Date project started (or will start) - i.e. when it moves to active stage",
                        "type": "string",
                        "format": "date"
                    },
                    "pendingDate": {
                        "description": "Date project became pending (or will become pending) - i.e. when it moves to pending stage",
                        "type": "string",
                        "format": "date"
                    },
                    "endDate": {
                        "description": "Date project became won, done, or lost or is planned to become won or done.",
                        "type": "string",
                        "format": "date"
                    },
                    "keywords": {
                        "description": "Array of keywords, tags, or labels",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "singular": "keyword",
                            "plural": "keywords"
                        }
                    },
                    "customFields": {
                        "description": "Array of custom fields",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CustomField"
                        }
                    },
                    "addresses": {
                        "description": "Postal address related to this project or deal (typically only one)",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContactAddress"
                        }
                    },
                    "appLinks": {
                        "description": "Array of App Links (at least one is required)",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AppLink"
                        }
                    },
                    "splitAt": {
                        "description": "Split keywords, tags, labels, and pick list values in a custom way. This is a regular expression (as a string).",
                        "writeOnly": true,
                        "type": "string",
                        "format": "regex"
                    },
                    "dateFormat": {
                        "description": "For dates of the form 1/2/2021, this determines if they are parsed as US (month/day/year) or International (day/month/year) dates.",
                        "writeOnly": true,
                        "type": "string",
                        "enum": [
                            "us",
                            "international"
                        ]
                    },
                    "dryrun": {
                        "description": "Run all validation but do not create/update the record",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipImport": {
                        "description": "Entirely ignore the record (do not validate, create, or update the record)",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "skipWithoutIds": {
                        "description": "Silently skip this record if there are no unique identifiers available",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "forceCreate": {
                        "description": "Create record when there are no unique identifiers available",
                        "writeOnly": true,
                        "type": "boolean"
                    },
                    "clientpeople": {
                        "description": "Array of people that are clients for this project",
                        "type": "array",
                        "arrayName": "Project Client People",
                        "items": {
                            "$ref": "#/components/schemas/PersonRef"
                        }
                    },
                    "partnerpeople": {
                        "description": "Array of people that are partners for this project",
                        "type": "array",
                        "arrayName": "Project Partner People",
                        "items": {
                            "$ref": "#/components/schemas/PersonRef"
                        }
                    },
                    "clientcompanies": {
                        "description": "Array of companies that are clients for this project",
                        "type": "array",
                        "arrayName": "Project Client Companies",
                        "items": {
                            "$ref": "#/components/schemas/CompanyRef"
                        }
                    },
                    "partnercompanies": {
                        "description": "Array of companies that are partners for this project",
                        "type": "array",
                        "arrayName": "Project Partner Companies",
                        "items": {
                            "$ref": "#/components/schemas/CompanyRef"
                        }
                    }
                },
                "examples": [
                    {
                        "name": "Meadow Brook Renovation",
                        "summary": "Located at 33 Meadow Brook Lane",
                        "stage": "future",
                        "segment": "project",
                        "createdDate": "2018-04-10",
                        "customFields": [
                            {
                                "id": "value",
                                "type": "currency",
                                "value": 15000
                            }
                        ],
                        "appLinks": [
                            {
                                "source": "na16.salesforce.com",
                                "uniqueid": "006j000000Pkp1d",
                                "label": "Salesforce Opportunity",
                                "url": "https://na16.salesforce.com/006j000000Pkp1d"
                            }
                        ]
                    }
                ]
            },
            "TeamRole": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "TeamMember": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    }
                }
            },
            "SubTeamNode": {
                "type": "object",
                "properties": {
                    "node": {
                        "description": "the full node path of this subteam node",
                        "type": "string"
                    },
                    "fullPathLabel": {
                        "description": "the full path label of this subteam node",
                        "type": "string"
                    },
                    "leafLabel": {
                        "description": "the local label of this subteam node",
                        "type": "string"
                    },
                    "depth": {
                        "description": "the depth of this node in the subteam tree",
                        "type": "number"
                    }
                }
            },
            "KeywordChanges": {
                "type": "object",
                "properties": {
                    "add": {
                        "description": "array of keywords to be added",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "remove": {
                        "description": "array of keywords to be removed",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "Segments": {
                "type": "object",
                "additionalProperties": "boolean"
            },
            "FieldValueEntry": {
                "type": "object",
                "required": [
                    "label"
                ],
                "properties": {
                    "label": {
                        "description": "UI Rendered label",
                        "type": "string"
                    },
                    "locked": {
                        "description": "true if this choice can't be deleted (i.e. it's predefined)",
                        "type": "boolean"
                    },
                    "segments": {
                        "description": "list of segments to which the value may be applied",
                        "$ref": "#/components/schemas/Segments"
                    }
                }
            },
            "FieldCustomization": {
                "type": "object",
                "required": [
                    "id",
                    "type",
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "Internal custom field identifier",
                        "type": "string"
                    },
                    "type": {
                        "description": "One of \"text\", \"keyword\", \"keywords\", \"date\", \"number\", \"decimal\", \"currency\"",
                        "type": "string"
                    },
                    "name": {
                        "description": "Name of the custom field as rendered on the UI",
                        "type": "string"
                    },
                    "description": {
                        "description": "Description of the custom field",
                        "type": "string"
                    },
                    "values": {
                        "description": "Keyword identifiers",
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/components/schemas/FieldValueEntry"
                        }
                    },
                    "relations": {
                        "description": "Map of relation types this custom field is constrainted to. Empty indicates no constraints, all relation types support the custom field.",
                        "type": "boolean"
                    },
                    "locked": {
                        "description": "true if this field can't be deleted (i.e. it's predefined)",
                        "type": "boolean"
                    },
                    "segments": {
                        "description": "Map of segments this custom field is constrained to. Empty indicates no constraints, all relation types support the custon field.",
                        "$ref": "#/components/schemas/Segments"
                    }
                }
            },
            "APIFilter": {
                "type": "object",
                "properties": {
                    "person": {
                        "description": "JSON fragments to match against the person record",
                        "type": "object",
                        "additionalProperties": "object"
                    },
                    "changes": {
                        "description": "JSON fragments to match against the person record",
                        "type": "object",
                        "additionalProperties": "object"
                    }
                }
            },
            "APISubscriptionUsage": {
                "type": "object",
                "properties": {
                    "suspendReason": {
                        "description": "Reason for suspended state if set",
                        "type": "string"
                    },
                    "lastSuccessfulSend": {
                        "description": "UTC milliseconds of last successful send",
                        "type": "integer"
                    },
                    "lastSendAttempt": {
                        "description": "UTC milliseconds of last send successful or failed",
                        "type": "integer"
                    },
                    "successCount": {
                        "description": "Number of successful sends since last resumed from suspension or created",
                        "type": "integer"
                    },
                    "failCount": {
                        "description": "Number of failed sends since last resumed from suspension or created",
                        "type": "integer"
                    },
                    "suspendDate": {
                        "description": "UTC milliseconds of suspension",
                        "type": "integer"
                    },
                    "resumeDate": {
                        "description": "UTC milliseconds of resumption from suspension",
                        "type": "integer"
                    }
                }
            },
            "SubscriptionRef": {
                "type": "object",
                "properties": {
                    "uniqueid": {
                        "description": "unique subscription identifier",
                        "type": "string"
                    },
                    "event": {
                        "description": "name of the event being subscribed to",
                        "type": "string",
                        "enum": [
                            "person.change",
                            "project.change",
                            "company.change",
                            "person.audit.change",
                            "project.audit.change",
                            "company.audit.change"
                        ]
                    },
                    "target_url": {
                        "description": "callback URL to be called by the Web hook",
                        "type": "string"
                    },
                    "client_type": {
                        "description": "optional client or implementation information, e.g. \"human\" format means record fields are returned in the same values you’d normally see displayed in the UI.",
                        "type": "string"
                    },
                    "client_reference": {
                        "description": "optional client provided name used to identify and reference subscriptions.",
                        "type": "string"
                    },
                    "scope": {
                        "description": "scope of subscription, changes to the user's local person, project, and company may be monitored; or, team relations may be monitored; or, team relations within hierarchies may be monitored",
                        "type": "string",
                        "enum": [
                            "local",
                            "team",
                            "hierarchy:/X/Y/Z",
                            "hierarchy:X/Y/Z/*"
                        ]
                    },
                    "date": {
                        "description": "date stamp in UTC milliseconds when subscription was created",
                        "type": "integer"
                    },
                    "ttl": {
                        "description": "optional subscription TTL. Lets you specify time to live for the subscription. TTL is specified in seconds.",
                        "type": "integer"
                    },
                    "suspended": {
                        "description": "field is set to true when the subscription has been suspended. Otherwise cleared",
                        "type": "boolean"
                    },
                    "usage": {
                        "$ref": "#/components/schemas/APISubscriptionUsage"
                    },
                    "filters": {
                        "description": "Filters applied by Cloze prior to delivering person, project, and company Web hooks. Filters is an array of one or more filter objects, only one of which needs to match to allow a notification to be delivered to a subscriber. Each filter may contain one or two key/value pairs. In the first form of key/value pair, key is \"person\", \"project\" or \"company\" depending on the subscription; value is a fragment of JSON required for matching the associated resource. For subscriptions to audit changes, the notifications contains change information. A second key/value pair, where key is \"changes\", may be provided to filter against change information",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/APIFilter"
                        }
                    }
                }
            }
        },
        "parameters": {
            "formatParam": {
                "schema": {
                    "type": "boolean"
                },
                "name": "format",
                "description": "Return formatted names and values for custom fields",
                "in": "query"
            },
            "cursor": {
                "schema": {
                    "type": "string"
                },
                "name": "cursor",
                "description": "Cursor to next batch of results. Does not apply to the initial request. Set this to the last received\nresult cursor on subsequent requests.",
                "in": "query"
            },
            "pageSize": {
                "schema": {
                    "type": "integer"
                },
                "name": "pagesize",
                "description": "find and feed operations, limit on results per page or cursored operation, default 10, limit 1000 (10,000 in keysonly mode)\nFor feed operations, set this on the initial request.",
                "in": "query"
            },
            "pageNumber": {
                "schema": {
                    "type": "integer"
                },
                "name": "pagenumber",
                "description": "find operation, page number to retrieve starting from 1, default 1",
                "in": "query"
            },
            "countOnly": {
                "schema": {
                    "type": "boolean",
                    "default": false
                },
                "name": "countonly",
                "description": "count but do not return all possible records that may be returned",
                "in": "query",
                "required": false
            },
            "keysOnly": {
                "schema": {
                    "type": "boolean",
                    "default": false
                },
                "name": "keysonly",
                "description": "return just the syncKey field - used to efficiently check for list of records that have not been deleted.",
                "in": "query",
                "required": false
            },
            "includeAuditedChanges": {
                "schema": {
                    "type": "boolean",
                    "default": false
                },
                "name": "includeauditedchanges",
                "description": "Set this on the initial request, requests the API\nreturns a _results_ field, an array of JSON objects. There is one array entry per person.\nEach array entry is an object with 2 fields. The _person_, _project_, or _company_ field returns\nthe matching person. The _changes_ field provides access to  audited changes that have occurred\nsince the relation was last delivered by the feed API. When you stream by default all existing\nrelations are delivered. During initial delivery _changed_ will be empty.",
                "in": "query",
                "required": false
            },
            "sort": {
                "schema": {
                    "type": "string",
                    "enum": [
                        "lastchanged",
                        "bestrelationship",
                        "firstmet",
                        "lasttalked",
                        "wentquiet",
                        "assigned",
                        "duenext",
                        "duepast",
                        "first",
                        "last",
                        "nextstep",
                        "distance",
                        "value",
                        "created",
                        "start",
                        "end",
                        "name"
                    ]
                },
                "name": "sort",
                "description": "sort order",
                "in": "query"
            },
            "sortDir": {
                "schema": {
                    "type": "string",
                    "enum": [
                        "asc",
                        "dec"
                    ]
                },
                "name": "sortdir",
                "description": "sort direction",
                "in": "query"
            },
            "group": {
                "schema": {
                    "type": "string",
                    "enum": [
                        "stage",
                        "subteam"
                    ]
                },
                "name": "group",
                "description": "group order",
                "in": "query"
            },
            "scope": {
                "schema": {
                    "type": "string",
                    "enum": [
                        "local",
                        "team",
                        "hierarchy:/X/Y/Z",
                        "hierarchy:X/Y/Z/*"
                    ]
                },
                "name": "scope",
                "description": "scope of relation(person, project, and company). May be a local relation, a team relation, or team relation within a hierarchy. For feed operations, set this on the initial request.",
                "in": "query",
                "required": false
            },
            "teamParam": {
                "schema": {
                    "type": "boolean",
                    "default": false
                },
                "name": "team",
                "description": "Identifies whether the team relation or local relation is to be retrieved or deleted",
                "in": "query",
                "required": false
            },
            "modifiedAfter": {
                "schema": {
                    "type": "string"
                },
                "name": "modifiedafter",
                "description": "Set this on the initial request. Specifies the starting point in time for\nlooking for changes. Only records that are modified after this time are returned. Enter the time in UTC\nmilliseconds. The value _now_ sets the current UTC milliseconds time, and prepares the feed API for streaming\nfuture changes. Without modifiedafter, the feed APIs first return all matching records, and then streams\nchanges since the cursor was first created.",
                "in": "query",
                "required": false
            },
            "freeFormQuery": {
                "schema": {
                    "type": "string"
                },
                "name": "freeformquery",
                "description": "\nSupports the same natural language query expressions that can be entered directly using the Cloze UI, or as a\nselected suggestion from the Cloze UI. May be used in conjuction with the other structured query parameter forms.",
                "in": "query",
                "required": false
            },
            "stage": {
                "schema": {
                    "type": "string",
                    "enum": [
                        "lead",
                        "future",
                        "current",
                        "past",
                        "out"
                    ]
                },
                "name": "stage",
                "description": "Stage of the person, project or company. The value `none` indicates no stage set, `any` indicates that a stage is set.\n For feed operations, set this on the initial request.\n*`lead` Lead stage\n*`future` Potential stage\n*`current` Active stage\n*`past` Inactive stage\n*`out` Lost stage\n",
                "in": "query",
                "required": false
            },
            "segment": {
                "schema": {
                    "type": "string"
                },
                "name": "segment",
                "description": "Segment of the the person, project or company. The value `none` indicates no segment set, `any` indicates that a segment is set.\nFor feed operations, set this on the initial request. This can either be an underlying immutable segment id (e.g. \"custom2\")\nor the current name of the segment (e.g. \"Buyer & Seller\").",
                "in": "query",
                "required": false
            },
            "step": {
                "schema": {
                    "type": "string"
                },
                "name": "step",
                "description": "Unique Id of Next Step. The value `none` indicates no next step, `any` indicates that a next step is set.",
                "in": "query",
                "required": false
            },
            "assigned": {
                "schema": {
                    "type": "boolean"
                },
                "name": "assigned",
                "description": "true if the person, project or company is assigned.",
                "in": "query",
                "required": false
            },
            "assignee": {
                "schema": {
                    "type": "string",
                    "format": "email"
                },
                "name": "assignee",
                "description": "email of assignee of the person, project or company, used for matching when assigned is true",
                "in": "query",
                "required": false
            },
            "companyId": {
                "schema": {
                    "type": "string"
                },
                "name": "id",
                "description": "Id of a company. When available, this should the company's `syncKey`, `portableId`, or one of the company's `uniqueids`.  Alternately (if the company has not previously been retrieved and stored) this can be an email address, phone number, domain name, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                "in": "query",
                "required": true
            },
            "personId": {
                "schema": {
                    "type": "string"
                },
                "name": "id",
                "description": "Id of a person. When available, this should the person's `syncKey`, `portableId`, or one of the person's `uniqueids`.  Alternately (if the person has not previously been retrieved and stored) this can be an email address, mobile phone number, or a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                "in": "query",
                "required": true
            },
            "projectId": {
                "schema": {
                    "type": "string"
                },
                "name": "id",
                "description": "Id of a project. When available, this should the project's `syncKey`, `portableId`, or one of the project's `uniqueids`. Alternately (if the project has not previously been retrieved and stored) this can be a stringified appLink (`${appLink.source}:${appLink.uniqueid}` e.g. \"na.salesforce.com:013434hfnf2\")",
                "in": "query",
                "required": true
            },
            "hideLostDone": {
                "schema": {},
                "name": "hidelostdone",
                "description": "for projects hide lost/done projects",
                "in": "query",
                "required": false
            },
            "collaborator": {
                "schema": {
                    "type": "string",
                    "format": "email"
                },
                "name": "collaborator",
                "description": "email of project deal-team collaborator",
                "in": "query",
                "required": false
            },
            "detailed": {
                "schema": {
                    "type": "boolean",
                    "default": false
                },
                "name": "detailed",
                "description": "retrieve detailed information",
                "in": "query",
                "required": false
            }
        },
        "securitySchemes": {
            "apiKey": {
                "type": "apiKey",
                "in": "query",
                "name": "api_key"
            },
            "bearer": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "api key"
            },
            "OAuth2": {
                "type": "oauth2",
                "flows": {
                    "authorizationCode": {
                        "authorizationUrl": "https://www.cloze.com/oauth/authorize",
                        "tokenUrl": "https://www.cloze.com/oauth/token",
                        "scopes": {
                            "basic": "Basic Rights - Retrieve basic labels and settings",
                            "read_relation": "Read Records - Read people, companies, and {{project-p-lc}}",
                            "change_relation": "Change Records - Add or change people, companies, and {{project-p-lc}}",
                            "change_content": "Change Content - Log timeline activity (todos, events, notes, etc.)",
                            "analytics": "Read Analytics - Access Analytics APIs",
                            "read_rights": "Read Permissions - Read Cloze team permissions",
                            "carddav": "CardDAV Access - Read and change contacts via CardDAV",
                            "mcp": "Model Context Protocol (MCP) - Use Cloze as an MCP server",
                            "delete_relation": "Delete Records - Delete people, companies, and {{project-p-lc}}",
                            "submit_form": "Submit Forms - Submit forms securely",
                            "read_content": "Read Content - Read any timeline content",
                            "read_unredacted": "Unredacted Content - Timeline content is not redacted"
                        }
                    }
                }
            }
        }
    },
    "openapi": "3.1.1",
    "info": {
        "title": "Cloze API Reference",
        "version": "2026.7",
        "description": "\n# Getting Started\nThe easiest way to get started with the Cloze API is to use an **API key** for authentication.\nYou can find directions and help on creating an API key at https://help.cloze.com/article/2176-api-key\n\nOnce you have an API key, you'll set the `api_key` query parameter to the API key you created in Cloze.\nWith this parameter set you can call any Cloze API.\nYou can try it with the [/v1/user/profile](#/paths/v1-user-profile/get) endpoint to make sure you have the right values.\nAlternatively, instead of as a query parameter, the API key can be provided to APIs as a\nbearer token in the Authorization header (e.g. `Authorization: Bearer ${api_key}`), the same way an Oauth2 access token is provided.\n\nIf you're building a public integration with Cloze (intended to be used by Cloze users outside your organization),\nto publish your integration **you must use the Open Authentication protocol** (OAuth 2.0) to authenticate\nwith Cloze user accounts. You can, however, do your initial development and testing using an API key.\nContact support@cloze.com to get you started on building and publishing an oauth-enabled Cloze integration.\n\nTo import the Cloze APIs into tools such as PostMan, tap on the Export button in the upper right or tap here\nto [get the Cloze OpenAPI Specification](./cloze-openapi.json).\n\n# Using the API\nBecause the Cloze API is used in many industries for many different purposes, the API itself is\nvery generic. While there are common elements, much of the use-case specific data is managed\nthrough a combination of stages, segments, steps, and custom fields. The APIs in the *Account*\ncategory allow you to retrieve the metadata related to these.\n\nNote, however, that custom fields are schemaless (unless you explicitly pass `\"validation\": \"schema\"`).\nThat means you can store and manage data in custom fields even if they aren't configured or exposed in\nthe Cloze UI.\n"
    },
    "servers": [
        {
            "url": "https://api.cloze.com"
        }
    ],
    "security": [
        {
            "bearer": []
        },
        {
            "apiKey": []
        },
        {
            "OAuth2": [
                "basic",
                "read_relation",
                "change_relation",
                "change_content",
                "analytics",
                "read_rights",
                "carddav",
                "mcp",
                "delete_relation",
                "submit_form",
                "read_content",
                "read_unredacted"
            ]
        }
    ],
    "tags": [
        {
            "name": "Get Started",
            "description": "Getting started with the Cloze API"
        },
        {
            "name": "Account",
            "description": "APIs related to user customizations"
        },
        {
            "name": "Team",
            "description": "APIs related to team and team member settings"
        },
        {
            "name": "Relations - People",
            "description": "APIs related to people"
        },
        {
            "name": "Relations - Companies",
            "description": "APIs related to companies"
        },
        {
            "name": "Relations - Projects",
            "description": "APIs related to properties, projects, and deals"
        },
        {
            "name": "Timeline",
            "description": "APIs related to emails, notes, calls, todos, and other content"
        },
        {
            "name": "Analytics",
            "description": "APIs related to analytics"
        },
        {
            "name": "Webhooks",
            "description": "APIs related to Webhook subscriptions"
        }
    ]
}