From 160b208ed6202cb979f15eaae99eca33088faf88 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Wed, 2 Jun 2021 10:10:46 -0400 Subject: [PATCH 01/25] certify-connector HubSpot CRM, CMS, and Marketing connectors --- .../HubSpot CMS/README.md | 46 + .../HubSpot CMS/apiDefinition.swagger.json | 534 ++ .../HubSpot CMS/apiProperties.json | 74 + .../HubSpot CMS/settings.json | 9 + .../Getting Started with HubSpot Workflows | 25 + .../HubSpot CRM/README.md | 169 + .../HubSpot CRM/apiDefinition.swagger.json | 6297 +++++++++++++++++ .../HubSpot CRM/apiProperties.json | 74 + .../HubSpot CRM/msedge_KE1O1FSJEg.png | Bin 0 -> 13077 bytes .../HubSpot CRM/msedge_Kl4ymVJGp0.png | Bin 0 -> 24590 bytes .../HubSpot CRM/settings.json | 9 + .../HubSpot Marketing/README.md | 58 + .../apiDefinition.swagger.json | 1444 ++++ .../HubSpot Marketing/apiProperties.json | 74 + .../HubSpot Marketing/settings.json | 9 + 15 files changed, 8822 insertions(+) create mode 100644 independent-publisher-connectors/HubSpot CMS/README.md create mode 100644 independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot CMS/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot CMS/settings.json create mode 100644 independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows create mode 100644 independent-publisher-connectors/HubSpot CRM/README.md create mode 100644 independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot CRM/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png create mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png create mode 100644 independent-publisher-connectors/HubSpot CRM/settings.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/README.md create mode 100644 independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/settings.json diff --git a/independent-publisher-connectors/HubSpot CMS/README.md b/independent-publisher-connectors/HubSpot CMS/README.md new file mode 100644 index 0000000000..d20a72bc11 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/README.md @@ -0,0 +1,46 @@ +# HubSpot CRM +HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. CMS Hub powers your website with a CMS that makes it easy to grow better. Developers build using flexible themes and content structures. Marketers easily edit and create pages on their own. Customers get a personalized, secure experience. + +## Publisher: Hitachi Solutions + +## Prerequisites +A paid or trial HubSpot account. + +## Supported Operations + +### Pages +#### List pages (V2) +Get all of your pages. +#### Create a new page (V2) +Create a new page. +#### Update a page (V2) +Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields. +#### Delete a page (V2) +Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint. +#### Publish or unpublish a page (V2) +Either publishes or cancels publishing based on the POSTed JSON. + +### Templates +#### List templates (V2) +Get all templates. +#### Create a new template (V2) +Create a new coded template object in Design Manager. +#### Update the template (V2) +Updates a template. If not all the fields are included in the body, we will only update the included fields. +#### Delete the template (V2) +Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint. + +## Obtaining Credentials +A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json new file mode 100644 index 0000000000..dcf1ffc99a --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -0,0 +1,534 @@ +{ + "swagger": "2.0", + "info": { + "title": "HubSpot CMS", + "description": "", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/content/api/v2/pages": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List pages (V2)", + "description": "Get all of your pages. Supports paging and filtering.", + "operationId": "PagesList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20 + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "enum": [ + false, + true + ] + }, + { + "name": "id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "in": "query", + "required": false, + "type": "string" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a new page (V2)", + "description": "Create a new page.", + "operationId": "PagesCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "campaign": { + "title": "Campaign", + "type": "string", + "description": "campaign" + }, + "campaign_name": { + "title": "Campaign name", + "type": "string", + "description": "campaign_name" + }, + "footer_html": { + "title": "Footer HTML", + "type": "string", + "description": "footer_html" + }, + "head_html": { + "title": "Head HTML", + "type": "string", + "description": "head_html" + }, + "is_draft": { + "title": "Is draft", + "type": "string", + "description": "is_draft" + }, + "meta_description": { + "title": "Meta description", + "type": "string", + "description": "meta_description" + }, + "meta_keywords": { + "title": "Meta keywords", + "type": "string", + "description": "meta_keywords" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "password": { + "title": "Password", + "type": "string", + "description": "password" + }, + "publish_date": { + "title": "Publish date", + "type": "string", + "description": "publish_date" + }, + "publish_immediately": { + "title": "Publish immediately", + "type": "string", + "description": "publish_immediately" + }, + "slug": { + "title": "Slug", + "type": "string", + "description": "slug" + }, + "subcategory": { + "title": "Subcategory", + "type": "string", + "description": "subcategory" + }, + "widget_containers": { + "title": "Widget containers", + "type": "string", + "description": "widget_containers" + }, + "widgets": { + "title": "Widgets", + "type": "string", + "description": "widgets" + } + } + } + } + ] + } + }, + "/content/api/v2/pages/{page_id}": { + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a page (V2)", + "description": "Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint.", + "operationId": "PagesArchive", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a page (V2)", + "description": "Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields.", + "operationId": "PagesUpdate", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "campaign": { + "title": "Campaign", + "type": "string", + "description": "campaign" + }, + "campaign_name": { + "title": "Campaign name", + "type": "string", + "description": "campaign_name" + }, + "footer_html": { + "title": "Footer HTML", + "type": "string", + "description": "footer_html" + }, + "head_html": { + "title": "Head HTML", + "type": "string", + "description": "head_html" + }, + "is_draft": { + "title": "Is draft", + "type": "string", + "description": "is_draft" + }, + "meta_description": { + "title": "Meta description", + "type": "string", + "description": "meta_description" + }, + "meta_keywords": { + "title": "Meta keywords", + "type": "string", + "description": "meta_keywords" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "password": { + "title": "Password", + "type": "string", + "description": "password" + }, + "publish_date": { + "title": "Publish date", + "type": "string", + "description": "publish_date" + }, + "publish_immediately": { + "title": "Publish immediately", + "type": "string", + "description": "publish_immediately" + }, + "slug": { + "title": "Slug", + "type": "string", + "description": "slug" + }, + "subcategory": { + "title": "Subcategory", + "type": "string", + "description": "subcategory" + }, + "widget_containers": { + "title": "Widget containers", + "type": "string", + "description": "widget_containers" + }, + "widgets": { + "title": "Widgets", + "type": "string", + "description": "widgets" + } + } + } + } + ] + } + }, + "/content/api/v2/pages/{page_id}/publish-action": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Publish or unpublish a page (V2)", + "description": "Either publishes or cancels publishing based on the POSTed JSON.", + "operationId": "PagesPublish", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "action", + "title": "", + "enum": [ + "push-buffer-live", + "schedule-publish", + "cancel-publish" + ] + } + }, + "required": [ + "action" + ] + } + } + ] + } + }, + "/content/api/v2/templates": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List templates (V2)", + "description": "Get all templates.", + "operationId": "TemplatesList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20 + }, + { + "name": "id", + "in": "query", + "required": false, + "type": "string" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a new template (V2)", + "description": "Create a new coded template object in Design Manager.", + "operationId": "TemplatesCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "category_id": { + "type": "integer", + "format": "int32", + "description": "category_id", + "title": "", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "folder": { + "title": "Folder", + "type": "string", + "description": "folder" + }, + "is_available_for_new_content": { + "type": "boolean", + "description": "is_available_for_new_content", + "title": "", + "default": false, + "enum": [ + false, + true + ] + }, + "template_type": { + "type": "integer", + "format": "int32", + "description": "template_type", + "title": "", + "enum": [ + 2, + 4, + 6, + 11, + 12, + 13, + 14, + 19 + ] + }, + "path": { + "title": "Path", + "type": "string", + "description": "path" + }, + "source": { + "title": "Source", + "type": "string", + "description": "source" + } + } + } + } + ] + } + }, + "/content/api/v2/templates/{template_id}": { + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a template (V2)", + "description": "Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint.", + "operationId": "TemplatesArchive", + "parameters": [ + { + "name": "template_id", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a template (V2)", + "description": "Updates a template. If not all the fields are included in the body, we will only update the included fields.", + "operationId": "TemplatesUpdate", + "parameters": [ + { + "name": "template_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "source": { + "title": "Source", + "type": "string", + "description": "source" + } + }, + "required": [ + "source" + ] + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + ] + } + ], + "tags": [] +} diff --git a/independent-publisher-connectors/HubSpot CMS/apiProperties.json b/independent-publisher-connectors/HubSpot CMS/apiProperties.json new file mode 100644 index 0000000000..079ab11263 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/apiProperties.json @@ -0,0 +1,74 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions" +} diff --git a/independent-publisher-connectors/HubSpot CMS/settings.json b/independent-publisher-connectors/HubSpot CMS/settings.json new file mode 100644 index 0000000000..47da330984 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_hubspot-20cms-5f1a2efd764356a300-5fb3182c161023f139", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file diff --git a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows new file mode 100644 index 0000000000..0f8884c654 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows @@ -0,0 +1,25 @@ +# Getting Started with HubSpot Workflows and Power Automate + +In order to use HubSpot Workflows as a trigger with Power Automate, you will need to first configure a instant cloud flow using the 'When a HTTP request is received' [trigger](https://docs.microsoft.com/en-us/learn/modules/http-connectors/4-http-request). After saving the flow, the trigger will populate with a HTTP Post URL you will use later with your HubSpot Workflow. + +![Example of HTTP request trigger](msedge_Kl4ymVJGp0.png) + +It is highly recommended that a separate flow be created for each HubSpot object workflow in order to minimize JSON parse errors, e.g. workflows for new contacts and contact updates, with best practice being separate flows for each object action. An example using the default HubSpot fields for contacts can be [found here](Contact%20JSON.json). Keep in mind that if your HubSpot object have any custom fields or you later add custom fields, you will need to generate the schema again using the new JSON payload. + +[HubSpot Workflows](https://knowledge.hubspot.com/workflows/create-workflows) can be found on the menu bar in your HubSpot account. You can create workflows for any object that your account has access to: + + - Contacts + - Companies + - Deals + - Conversations + - Quotes (with Sales Hub Enterprise) + - Tickets (with Service Hub Professional or Enterprise) + - Custom objects (Enterprise only) + +Similar to Power Automate, Workflows are built using a trigger and subsequent actions. + +![Example of a contact workflow with trigger filters needing to be set](msedge_KE1O1FSJEg.png) + +A trigger can only select one HubSpot object to monitor, but within that object, multiple filters can selected using any of the object fields with And and Or rules. Once your trigger is configured, you will need to add a 'Trigger Webhook' action. In the Webhook URL textbox, add the URL the flow trigger generated and click Save. You will now need to review the workflow configuration and turn the workflow on to start triggers to Power Automate. + +The HTTP call from HubSpot is queued, so expect a delay of 10 seconds or more before the Power Automate trigger starts. diff --git a/independent-publisher-connectors/HubSpot CRM/README.md b/independent-publisher-connectors/HubSpot CRM/README.md new file mode 100644 index 0000000000..b702a87fe0 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/README.md @@ -0,0 +1,169 @@ +# HubSpot CRM +HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. Powerful sales CRM software to help teams close more deals, deepen relationships, and manage their pipeline more effectively — all on one easy-to-use platform. + +## Publisher: Hitachi Solutions + +## Prerequisites +A paid or trial HubSpot account. + +## Supported Operations + +### Companies + +#### List companies +Return a list of companies. +#### Create a company +Create a company with the given properties and return a copy of the object, including the ID. +#### Get a company +Read a company identified by {companyId}. +#### Update a company +Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a company +Move a company identified by {companyId} to the recycling bin. + +### Contacts + +#### List contacts +Read a list of contacts. +#### Create a contact +Create a contact with the given properties and return a copy of the object, including the ID. +#### Get a contact +Read a contact identified by {contactId}. +#### Update a contact +Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a contact +Move a contact identified by {contactId} to the recycling bin. + +### Deals + +#### List deals +Return a list of deals. +#### Create a deal +Create a deal with the given properties and return a copy of the object, including the ID. +#### Get a deal +Read a deal identified by {dealId}. +#### Update a deal +Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a deal +Move a deal identified by {dealId} to the recycling bin. + +### Products + +#### List products +Return a list of products. +#### Create a product +Create a product with the given properties and return a copy of the object, including the ID. +#### Get a product +Read a product identified by {productId}. +#### Update a product +Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a product +Move a product identified by {productId} to the recycling bin. + +### Owners + +#### List owners +Return a list of owners. +#### Get an owner +Read an owner by given id or userId. + +### Pipelines + +#### List pipelines +Return all pipelines for the object type specified by {objectType}. +#### Create a pipeline +Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response. +#### Get a pipeline +Return a single pipeline object identified by its unique {pipelineId}. +#### Update a pipeline +Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response. +#### Replace a pipeline +Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response. +#### Delete a pipeline +Move a pipeline identified by {pipelineId} to the recycling bin. + +### Pipeline Stages + +#### Create a pipeline stage +Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response. +#### Get a pipeline stage +Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}. +#### Update a pipeline stage +Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response. +#### Replace a pipeline stage +Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response. +#### Delete a pipeline stage +Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. + +### Properties + +#### List properties +Read all existing properties for the specified object type and HubSpot account. +#### Create a property +Create and return a copy of a new property for the specified object type. +#### Get a property +Read a property identified by {propertyName}. +#### Update a property +Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten. +#### Delete a property +Move a property identified by {propertyName} to the recycling bin. + +### Line Items + +#### List line items +Return a list of line items. Control what is returned via the properties query param. +#### Create a line item +Create a line item with the given properties and return a copy of the object, including the ID. +#### Get a line item +Read a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. +#### Update a line item +Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a line item +Move an Object identified by {lineItemId} to the recycling bin. + +### Tickets + +#### List tickets +Read a list of tickets. Control what is returned via the properties query param. +#### Create a ticket +Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided. +#### Get a ticket +Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. +#### Update a ticket +Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Archive a ticket +Move a ticket identified by {ticketId} to the recycling bin. + +### Search + +#### Search Companies +Perform a search across companies. +#### Search Contacts +Perform a search across contacts. +#### Search Deals +Perform a search across deals. +#### Search Products +Perform a search across products. +#### Search Tickets +Perform a search across tickets. +#### Search Line Items +Perform a search across line items. +#### Search Quotes +The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across quotes. +#### Search Custom Objects +Perform a search across custom objects. + +## Obtaining Credentials +A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json new file mode 100644 index 0000000000..5429bbcd5c --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json @@ -0,0 +1,6297 @@ +{ + "swagger": "2.0", + "info": { + "title": "Default title", + "description": "HubSpot\u2019s CRM is a system for managing customer relationships and storing data. The CRM custom connector provides access to CRM objects or groups of objects, which are represented as a map of property names to values.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/crm/v3/objects/companies": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List companies", + "description": "Return a list of companies.", + "operationId": "CompaniesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a company", + "description": "Create a company with the given properties and return a copy of the object, including the ID.", + "operationId": "CompaniesCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "about_us": { + "title": "About usAbout Us", + "type": "string", + "description": "about_us" + }, + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "address2": { + "title": "Address 2", + "type": "string", + "description": "address2" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "domain": { + "title": "Domain", + "type": "string", + "description": "domain" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "facebook_company_page": { + "title": "Facebook company page", + "type": "string", + "description": "facebook_company_page" + }, + "facebookfans": { + "title": "Facebook fans", + "type": "string", + "description": "facebookfans" + }, + "first_contact_createdate": { + "title": "first contact create date", + "type": "string", + "description": "first_contact_createdate" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "founded_year": { + "title": "Founded year", + "type": "string", + "description": "founded_year" + }, + "googleplus_page": { + "title": "GooglePlus page", + "type": "string", + "description": "googleplus_page" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_ideal_customer_profile": { + "title": "HubSpot ideal customer profile", + "type": "string", + "description": "hs_ideal_customer_profile" + }, + "hs_is_target_account": { + "title": "HubSpot is target account", + "type": "string", + "description": "hs_is_target_account" + }, + "hs_last_booked_meeting_date": { + "title": "HubSpot last booked meeting date", + "type": "string", + "description": "hs_last_booked_meeting_date" + }, + "hs_last_logged_call_date": { + "title": "HubSpot last logged call date", + "type": "string", + "description": "hs_last_logged_call_date" + }, + "hs_last_open_task_date": { + "title": "HubSpot last open task date", + "type": "string", + "description": "hs_last_open_task_date" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_num_blockers": { + "title": "HubSpot number of blockers", + "type": "string", + "description": "hs_num_blockers" + }, + "hs_num_child_companies": { + "title": "HubSpot number of child companies", + "type": "string", + "description": "hs_num_child_companies" + }, + "hs_num_contacts_with_buying_roles": { + "title": "HubSpot number of contacts with buying roles", + "type": "string", + "description": "hs_num_contacts_with_buying_roles" + }, + "hs_num_decision_makers": { + "title": "HubSpot number of decision makers", + "type": "string", + "description": "hs_num_decision_makers" + }, + "hs_num_open_deals": { + "title": "HubSpot number of open deals", + "type": "string", + "description": "hs_num_open_deals" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_parent_company_id": { + "title": "HubSpot parent company ID", + "type": "string", + "description": "hs_parent_company_id" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_total_deal_value": { + "title": "HubSpot total deal value", + "type": "string", + "description": "hs_total_deal_value" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "is_public": { + "title": "Is public", + "type": "string", + "description": "is_public" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "linkedin_company_page": { + "title": "LinkedIn company page", + "type": "string", + "description": "linkedin_company_page" + }, + "linkedinbio": { + "title": "LinkedIn bio", + "type": "string", + "description": "linkedinbio" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "numberofemployees": { + "title": "Number of employees", + "type": "string", + "description": "numberofemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "timezone": { + "title": "Timezone", + "type": "string", + "description": "timezone" + }, + "total_money_raised": { + "title": "Total money raised", + "type": "string", + "description": "total_money_raised" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterbio": { + "title": "Twitter bio", + "type": "string", + "description": "twitterbio" + }, + "twitterfollowers": { + "title": "Twitter followers", + "type": "string", + "description": "twitterfollowers" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "web_technologies": { + "title": "Web technologies", + "type": "string", + "description": "web_technologies" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + }, + "required": [ + "name" + ] + } + } + } + } + ] + } + }, + "/crm/v3/objects/companies/{companyId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a company", + "description": "Read a company identified by {companyId}.", + "operationId": "CompaniesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company", + "x-ms-visibility": "important" + }, + { + "name": "properies", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to return only companies that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a company", + "description": "Move a company identified by {companyId} to the recycling bin.", + "operationId": "CompaniesArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a company", + "description": "Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "CompaniesUpdate", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company.", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "about_us": { + "title": "About us", + "type": "string", + "description": "about_us" + }, + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "address2": { + "title": "Address 2", + "type": "string", + "description": "address2" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "domain": { + "title": "Domain", + "type": "string", + "description": "domain" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "facebook_company_page": { + "title": "Facebook company page", + "type": "string", + "description": "facebook_company_page" + }, + "facebookfans": { + "title": "Facebook fans", + "type": "string", + "description": "facebookfans" + }, + "first_contact_createdate": { + "title": "first contact create date", + "type": "string", + "description": "first_contact_createdate" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "founded_year": { + "title": "Founded year", + "type": "string", + "description": "founded_year" + }, + "googleplus_page": { + "title": "GooglePlus page", + "type": "string", + "description": "googleplus_page" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_ideal_customer_profile": { + "title": "HubSpot ideal customer profile", + "type": "string", + "description": "hs_ideal_customer_profile" + }, + "hs_is_target_account": { + "title": "HubSpot is target account", + "type": "string", + "description": "hs_is_target_account" + }, + "hs_last_booked_meeting_date": { + "title": "HubSpot last booked meeting date", + "type": "string", + "description": "hs_last_booked_meeting_date" + }, + "hs_last_logged_call_date": { + "title": "HubSpot last logged call date", + "type": "string", + "description": "hs_last_logged_call_date" + }, + "hs_last_open_task_date": { + "title": "HubSpot last open task date", + "type": "string", + "description": "hs_last_open_task_date" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_num_blockers": { + "title": "HubSpot number of blockers", + "type": "string", + "description": "hs_num_blockers" + }, + "hs_num_child_companies": { + "title": "HubSpot number of child companies", + "type": "string", + "description": "hs_num_child_companies" + }, + "hs_num_contacts_with_buying_roles": { + "title": "HubSpot number of contacts with buying roles", + "type": "string", + "description": "hs_num_contacts_with_buying_roles" + }, + "hs_num_decision_makers": { + "title": "HubSpot number of decision makers", + "type": "string", + "description": "hs_num_decision_makers" + }, + "hs_num_open_deals": { + "title": "HubSpot number of open deals", + "type": "string", + "description": "hs_num_open_deals" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_parent_company_id": { + "title": "HubSpot parent company ID", + "type": "string", + "description": "hs_parent_company_id" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_total_deal_value": { + "title": "HubSpot total deal value", + "type": "string", + "description": "hs_total_deal_value" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "is_public": { + "title": "Is public", + "type": "string", + "description": "is_public" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "linkedin_company_page": { + "title": "LinkedIn company page", + "type": "string", + "description": "linkedin_company_page" + }, + "linkedinbio": { + "title": "LinkedIn bio", + "type": "string", + "description": "linkedinbio" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "numberofemployees": { + "title": "Number of employees", + "type": "string", + "description": "numberofemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "timezone": { + "title": "Timezone", + "type": "string", + "description": "timezone" + }, + "total_money_raised": { + "title": "Total money raised", + "type": "string", + "description": "total_money_raised" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterbio": { + "title": "Twitter bio", + "type": "string", + "description": "twitterbio" + }, + "twitterfollowers": { + "title": "Twitter followers", + "type": "string", + "description": "twitterfollowers" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "web_technologies": { + "title": "Web technologies", + "type": "string", + "description": "web_technologies" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + }, + "required": [ + "name" + ] + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List contacts", + "description": "Read a list of contacts.", + "operationId": "ContactsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": true, + "type": "integer", + "default": 10, + "x-ms-visibility": "important", + "description": "The maximum number of results to return" + }, + { + "name": "properties[]", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a contact", + "description": "Create a contact with the given properties and return a copy of the object, including the ID.", + "operationId": "ContactsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "company": { + "title": "Company", + "type": "string", + "description": "company" + }, + "company_size": { + "title": "Company size", + "type": "string", + "description": "company_size" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "currentlyinworkflow": { + "title": "Currenly in workflow", + "type": "string", + "description": "currentlyinworkflow" + }, + "date_of_birth": { + "title": "Date of birth", + "type": "string", + "description": "date_of_birth" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "degree": { + "title": "Degree", + "type": "string", + "description": "degree" + }, + "email": { + "title": "Email", + "type": "string", + "description": "email" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "fax": { + "title": "Fax", + "type": "string", + "description": "fax" + }, + "field_of_study": { + "title": "Field of study", + "type": "string", + "description": "field_of_study" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "firstname": { + "title": "First name", + "type": "string", + "description": "firstname" + }, + "gender": { + "title": "Gender", + "type": "string", + "description": "gender" + }, + "graduation_date": { + "title": "Graduation date", + "type": "string", + "description": "graduation_date" + }, + "hs_analytics_average_page_views": { + "title": "HubSpot analytics average page views", + "type": "string", + "description": "hs_analytics_average_page_views" + }, + "hs_analytics_first_referrer": { + "title": "HubSpot analytics first referrer", + "type": "string", + "description": "hs_analytics_first_referrer" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_url": { + "title": "HubSpot analytics first URL", + "type": "string", + "description": "hs_analytics_first_url" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_referrer": { + "title": "HubSpot analytics last referrer", + "type": "string", + "description": "hs_analytics_last_referrer" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_url": { + "title": "HubSpot analytics last URL", + "type": "string", + "description": "hs_analytics_last_url" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_event_completions": { + "title": "HubSpot analytics number of event completions", + "type": "string", + "description": "hs_analytics_num_event_completions" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_revenue": { + "title": "HubSpot analytics revenue", + "type": "string", + "description": "hs_analytics_revenue" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_buying_role": { + "title": "HubSpot buying role", + "type": "string", + "description": "hs_buying_role" + }, + "hs_content_membership_email_confirmed": { + "title": "HubSpot content membership email confirmed", + "type": "string", + "description": "hs_content_membership_email_confirmed" + }, + "hs_content_membership_notes": { + "title": "HubSpot content membership notes", + "type": "string", + "description": "hs_content_membership_notes" + }, + "hs_content_membership_registered_at": { + "title": "HubSpot content membership registered at", + "type": "string", + "description": "hs_content_membership_registered_at" + }, + "hs_content_membership_registration_domain_sent_to": { + "title": "HubSpot content membership registration domain sent to", + "type": "string", + "description": "hs_content_membership_registration_domain_sent_to" + }, + "hs_content_membership_registration_email_sent_at": { + "title": "HubSpot content membership registration email sent at", + "type": "string", + "description": "hs_content_membership_registration_email_sent_at" + }, + "hs_content_membership_status": { + "title": "HubSpot content membership status", + "type": "string", + "description": "hs_content_membership_status" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_email_bad_address": { + "title": "HubSpot email bad address", + "type": "string", + "description": "hs_email_bad_address" + }, + "hs_email_bounce": { + "title": "HubSpot email bounce", + "type": "string", + "description": "hs_email_bounce" + }, + "hs_email_click": { + "title": "HubSpot email click", + "type": "string", + "description": "hs_email_click" + }, + "hs_email_customer_quarantined_reason": { + "title": "HubSpot email customer quarnatined reason", + "type": "string", + "description": "hs_email_customer_quarantined_reason" + }, + "hs_email_delivered": { + "title": "HubSpot email delivered", + "type": "string", + "description": "hs_email_delivered" + }, + "hs_email_domain": { + "title": "Domain", + "type": "string", + "description": "hs_email_domain" + }, + "hs_email_first_click_date": { + "title": "HubSpot email first click date", + "type": "string", + "description": "hs_email_first_click_date" + }, + "hs_email_first_open_date": { + "title": "HubSpot email first open date", + "type": "string", + "description": "hs_email_first_open_date" + }, + "hs_email_first_reply_date": { + "title": "HubSpot email first reply date", + "type": "string", + "description": "hs_email_first_reply_date" + }, + "hs_email_first_send_date": { + "title": "HubSpot email first send date", + "type": "string", + "description": "hs_email_first_send_date" + }, + "hs_email_hard_bounce_reason_enum": { + "title": "HubSpot email hard bounce reason enumerated", + "type": "string", + "description": "hs_email_hard_bounce_reason_enum" + }, + "hs_email_last_click_date": { + "title": "HubSpot email last click date", + "type": "string", + "description": "hs_email_last_click_date" + }, + "hs_email_last_email_name": { + "title": "HubSpot email last email name", + "type": "string", + "description": "hs_email_last_email_name" + }, + "hs_email_last_open_date": { + "title": "HubSpot email last open date", + "type": "string", + "description": "hs_email_last_open_date" + }, + "hs_email_last_reply_date": { + "title": "HubSpot email last reply date", + "type": "string", + "description": "hs_email_last_reply_date" + }, + "hs_email_last_send_date": { + "title": "HubSpot email last send date", + "type": "string", + "description": "hs_email_last_send_date" + }, + "hs_email_open": { + "title": "HubSpot email open", + "type": "string", + "description": "hs_email_open" + }, + "hs_email_optout": { + "title": "HubSpot email optout", + "type": "string", + "description": "hs_email_optout" + }, + "hs_email_optout_12592317": { + "title": "HubSpot email optout 12592317", + "type": "string", + "description": "hs_email_optout_12592317" + }, + "hs_email_quarantined": { + "title": "HubSpot email quarantied", + "type": "string", + "description": "hs_email_quarantined" + }, + "hs_email_quarantined_reason": { + "title": "HubSpot email quarantied reason", + "type": "string", + "description": "hs_email_quarantined_reason" + }, + "hs_email_replied": { + "title": "HubSpot email replied", + "type": "string", + "description": "hs_email_replied" + }, + "hs_email_sends_since_last_engagement": { + "title": "HubSpot email sends since last engagement", + "type": "string", + "description": "hs_email_sends_since_last_engagement" + }, + "hs_emailconfirmationstatus": { + "title": "HubSpot email confirmation status", + "type": "string", + "description": "hs_emailconfirmationstatus" + }, + "hs_facebook_click_id": { + "title": "HubSpot Facebook click ID", + "type": "string", + "description": "hs_facebook_click_id" + }, + "hs_feedback_last_nps_follow_up": { + "title": "HubSpot feecback last NPS follow up", + "type": "string", + "description": "hs_feedback_last_nps_follow_up" + }, + "hs_feedback_last_nps_rating": { + "title": "HubSpot feedback last NPS rating", + "type": "string", + "description": "hs_feedback_last_nps_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_google_click_id": { + "title": "HubSpot Google click ID", + "type": "string", + "description": "hs_google_click_id" + }, + "hs_ip_timezone": { + "title": "HubSpot IP timezone", + "type": "string", + "description": "hs_ip_timezone" + }, + "hs_is_unworked": { + "title": "HubSpot is unworked", + "type": "string", + "description": "hs_is_unworked" + }, + "hs_language": { + "title": "HubSpot language", + "type": "string", + "description": "hs_language" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_legal_basis": { + "title": "HubSpot legal basis", + "type": "string", + "description": "hs_legal_basis" + }, + "hs_lifecyclestage_customer_date": { + "title": "HubSpot lifecycle stage customer date", + "type": "string", + "description": "hs_lifecyclestage_customer_date" + }, + "hs_lifecyclestage_evangelist_date": { + "title": "HubSpot lifecycle stage evangelist date", + "type": "string", + "description": "hs_lifecyclestage_evangelist_date" + }, + "hs_lifecyclestage_lead_date": { + "title": "HubSpot lifecycle stage lead date", + "type": "string", + "description": "hs_lifecyclestage_lead_date" + }, + "hs_lifecyclestage_marketingqualifiedlead_date": { + "title": "HubSpot lifecycle stage marketing qualitifed lead date", + "type": "string", + "description": "hs_lifecyclestage_marketingqualifiedlead_date" + }, + "hs_lifecyclestage_opportunity_date": { + "title": "HubSpot lifecycle stage opportunity date", + "type": "string", + "description": "hs_lifecyclestage_opportunity_date" + }, + "hs_lifecyclestage_other_date": { + "title": "HubSpot lifecycle stage other date", + "type": "string", + "description": "hs_lifecyclestage_other_date" + }, + "hs_lifecyclestage_salesqualifiedlead_date": { + "title": "HubSpot lifecycle stage sales qualified lead date", + "type": "string", + "description": "hs_lifecyclestage_salesqualifiedlead_date" + }, + "hs_lifecyclestage_subscriber_date": { + "title": "HubSpot lifecycle stage subscriber date", + "type": "string", + "description": "hs_lifecyclestage_subscriber_date" + }, + "hs_marketable_reason_id": { + "title": "HubSpot marketable reason ID", + "type": "string", + "description": "hs_marketable_reason_id" + }, + "hs_marketable_reason_type": { + "title": "HubSpot marketable reason type", + "type": "string", + "description": "hs_marketable_reason_type" + }, + "hs_marketable_status": { + "title": "HubSpot marketable status", + "type": "string", + "description": "hs_marketable_status" + }, + "hs_marketable_until_renewal": { + "title": "HubSpot marketable until renewal", + "type": "string", + "description": "hs_marketable_until_renewal" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_persona": { + "title": "HubSpot persona", + "type": "string", + "description": "hs_persona" + }, + "hs_predictivecontactscore": { + "title": "HubSpot predictive contact score", + "type": "string", + "description": "hs_predictivecontactscore" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_predictivecontactscorebucket": { + "title": "HubSpot predictive contact score bucket", + "type": "string", + "description": "hs_predictivecontactscorebucket" + }, + "hs_predictivescoringtier": { + "title": "HubSpot predictive scoring tier", + "type": "string", + "description": "hs_predictivescoringtier" + }, + "hs_sales_email_last_clicked": { + "title": "HubSpot sales email last clicked", + "type": "string", + "description": "hs_sales_email_last_clicked" + }, + "hs_sales_email_last_opened": { + "title": "HubSpot sales email last opened", + "type": "string", + "description": "hs_sales_email_last_opened" + }, + "hs_sales_email_last_replied": { + "title": "HubSpot sales email last replied", + "type": "string", + "description": "hs_sales_email_last_replied" + }, + "hs_sequences_is_enrolled": { + "title": "HubSpot sequences is enrolled", + "type": "string", + "description": "hs_sequences_is_enrolled" + }, + "hs_time_between_contact_creation_and_deal_close": { + "title": "HubSpot time between contact creation and deal close", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_close" + }, + "hs_time_between_contact_creation_and_deal_creation": { + "title": "HubSpot time between contact creation and deal creation", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_creation" + }, + "hs_time_to_move_from_lead_to_customer": { + "title": "HubSpot time to move from lead to customer", + "type": "string", + "description": "hs_time_to_move_from_lead_to_customer" + }, + "hs_time_to_move_from_marketingqualifiedlead_to_customer": { + "title": "HubSpot time to move from marketing qualitfied lead to customer", + "type": "string", + "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" + }, + "hs_time_to_move_from_opportunity_to_customer": { + "title": "HubSpot time to move from opportunity to customer", + "type": "string", + "description": "hs_time_to_move_from_opportunity_to_customer" + }, + "hs_time_to_move_from_salesqualifiedlead_to_customer": { + "title": "HubSpot time to move from sales qualified lead to customer", + "type": "string", + "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" + }, + "hs_time_to_move_from_subscriber_to_customer": { + "title": "HubSpot time to move from subscriber to customer", + "type": "string", + "description": "hs_time_to_move_from_subscriber_to_customer" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "hubspotscore": { + "title": "HubSpot score", + "type": "string", + "description": "hubspotscore" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "ip_city": { + "title": "IP city", + "type": "string", + "description": "ip_city" + }, + "ip_country": { + "title": "IP country", + "type": "string", + "description": "ip_country" + }, + "ip_country_code": { + "title": "IP country code", + "type": "string", + "description": "ip_country_code" + }, + "ip_state": { + "title": "IP state", + "type": "string", + "description": "ip_state" + }, + "ip_state_code": { + "title": "IP state code", + "type": "string", + "description": "ip_state_code" + }, + "job_function": { + "title": "Job function", + "type": "string", + "description": "job_function" + }, + "jobtitle": { + "title": "Job title", + "type": "string", + "description": "jobtitle" + }, + "lastmodifieddate": { + "title": "Last modified date", + "type": "string", + "description": "lastmodifieddate" + }, + "lastname": { + "title": "Last name", + "type": "string", + "description": "lastname" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "marital_status": { + "title": "Marital status", + "type": "string", + "description": "marital_status" + }, + "message": { + "title": "Message", + "type": "string", + "description": "message" + }, + "military_status": { + "title": "Military statusMilitary status", + "type": "string", + "description": "military_status" + }, + "mobilephone": { + "title": "Mobile phone", + "type": "string", + "description": "mobilephone" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "num_unique_conversion_events": { + "title": "Number of unique conversion events", + "type": "string", + "description": "num_unique_conversion_events" + }, + "numemployees": { + "title": "Number of employees", + "type": "string", + "description": "numemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "relationship_status": { + "title": "Relations status", + "type": "string", + "description": "relationship_status" + }, + "salutation": { + "title": "Salutation", + "type": "string", + "description": "salutation" + }, + "school": { + "title": "School", + "type": "string", + "description": "school" + }, + "seniority": { + "title": "Seniority", + "type": "string", + "description": "seniority" + }, + "start_date": { + "title": "Start date", + "type": "string", + "description": "start_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "work_email": { + "title": "Work email", + "type": "string", + "description": "work_email" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts/{contactId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a contact", + "description": "Read a contact identified by {contactId}.", + "operationId": "ContactsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The contactId for the contact" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a contact", + "description": "Move a contact identified by {contactId} to the recycling bin.", + "operationId": "ContactsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "description": "The contactId of the contact", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a contact", + "description": "Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "ContactsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "description": "The contactId of the contact", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "company": { + "title": "Company", + "type": "string", + "description": "company" + }, + "company_size": { + "title": "Company size", + "type": "string", + "description": "company_size" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "currentlyinworkflow": { + "title": "Currenly in workflow", + "type": "string", + "description": "currentlyinworkflow" + }, + "date_of_birth": { + "title": "Date of birth", + "type": "string", + "description": "date_of_birth" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "degree": { + "title": "Degree", + "type": "string", + "description": "degree" + }, + "email": { + "title": "Email", + "type": "string", + "description": "email" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "fax": { + "title": "Fax", + "type": "string", + "description": "fax" + }, + "field_of_study": { + "title": "Field of study", + "type": "string", + "description": "field_of_study" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "firstname": { + "title": "First name", + "type": "string", + "description": "firstname" + }, + "gender": { + "title": "Gender", + "type": "string", + "description": "gender" + }, + "graduation_date": { + "title": "Graduation date", + "type": "string", + "description": "graduation_date" + }, + "hs_analytics_average_page_views": { + "title": "HubSpot analytics average page views", + "type": "string", + "description": "hs_analytics_average_page_views" + }, + "hs_analytics_first_referrer": { + "title": "HubSpot analytics first referrer", + "type": "string", + "description": "hs_analytics_first_referrer" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_url": { + "title": "HubSpot analytics first URL", + "type": "string", + "description": "hs_analytics_first_url" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_referrer": { + "title": "HubSpot analytics last referrer", + "type": "string", + "description": "hs_analytics_last_referrer" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_url": { + "title": "HubSpot analytics last URL", + "type": "string", + "description": "hs_analytics_last_url" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_event_completions": { + "title": "HubSpot analytics number of event completions", + "type": "string", + "description": "hs_analytics_num_event_completions" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_revenue": { + "title": "HubSpot analytics revenue", + "type": "string", + "description": "hs_analytics_revenue" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_buying_role": { + "title": "HubSpot buying role", + "type": "string", + "description": "hs_buying_role" + }, + "hs_content_membership_email_confirmed": { + "title": "HubSpot content membership email confirmed", + "type": "string", + "description": "hs_content_membership_email_confirmed" + }, + "hs_content_membership_notes": { + "title": "HubSpot content membership notes", + "type": "string", + "description": "hs_content_membership_notes" + }, + "hs_content_membership_registered_at": { + "title": "HubSpot content membership registered at", + "type": "string", + "description": "hs_content_membership_registered_at" + }, + "hs_content_membership_registration_domain_sent_to": { + "title": "HubSpot content membership registration domain sent to", + "type": "string", + "description": "hs_content_membership_registration_domain_sent_to" + }, + "hs_content_membership_registration_email_sent_at": { + "title": "HubSpot content membership registration email sent at", + "type": "string", + "description": "hs_content_membership_registration_email_sent_at" + }, + "hs_content_membership_status": { + "title": "HubSpot content membership status", + "type": "string", + "description": "hs_content_membership_status" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_email_bad_address": { + "title": "HubSpot email bad address", + "type": "string", + "description": "hs_email_bad_address" + }, + "hs_email_bounce": { + "title": "HubSpot email bounce", + "type": "string", + "description": "hs_email_bounce" + }, + "hs_email_click": { + "title": "HubSpot email click", + "type": "string", + "description": "hs_email_click" + }, + "hs_email_customer_quarantined_reason": { + "title": "HubSpot email customer quarnatined reason", + "type": "string", + "description": "hs_email_customer_quarantined_reason" + }, + "hs_email_delivered": { + "title": "HubSpot email delivered", + "type": "string", + "description": "hs_email_delivered" + }, + "hs_email_domain": { + "title": "Domain", + "type": "string", + "description": "hs_email_domain" + }, + "hs_email_first_click_date": { + "title": "HubSpot email first click date", + "type": "string", + "description": "hs_email_first_click_date" + }, + "hs_email_first_open_date": { + "title": "HubSpot email first open date", + "type": "string", + "description": "hs_email_first_open_date" + }, + "hs_email_first_reply_date": { + "title": "HubSpot email first reply date", + "type": "string", + "description": "hs_email_first_reply_date" + }, + "hs_email_first_send_date": { + "title": "HubSpot email first send date", + "type": "string", + "description": "hs_email_first_send_date" + }, + "hs_email_hard_bounce_reason_enum": { + "title": "HubSpot email hard bounce reason enumerated", + "type": "string", + "description": "hs_email_hard_bounce_reason_enum" + }, + "hs_email_last_click_date": { + "title": "HubSpot email last click date", + "type": "string", + "description": "hs_email_last_click_date" + }, + "hs_email_last_email_name": { + "title": "HubSpot email last email name", + "type": "string", + "description": "hs_email_last_email_name" + }, + "hs_email_last_open_date": { + "title": "HubSpot email last open date", + "type": "string", + "description": "hs_email_last_open_date" + }, + "hs_email_last_reply_date": { + "title": "HubSpot email last reply date", + "type": "string", + "description": "hs_email_last_reply_date" + }, + "hs_email_last_send_date": { + "title": "HubSpot email last send date", + "type": "string", + "description": "hs_email_last_send_date" + }, + "hs_email_open": { + "title": "HubSpot email open", + "type": "string", + "description": "hs_email_open" + }, + "hs_email_optout": { + "title": "HubSpot email optout", + "type": "string", + "description": "hs_email_optout" + }, + "hs_email_optout_12592317": { + "title": "HubSpot email optout 12592317", + "type": "string", + "description": "hs_email_optout_12592317" + }, + "hs_email_quarantined": { + "title": "HubSpot email quarantied", + "type": "string", + "description": "hs_email_quarantined" + }, + "hs_email_quarantined_reason": { + "title": "HubSpot email quarantied reason", + "type": "string", + "description": "hs_email_quarantined_reason" + }, + "hs_email_replied": { + "title": "HubSpot email replied", + "type": "string", + "description": "hs_email_replied" + }, + "hs_email_sends_since_last_engagement": { + "title": "HubSpot email sends since last engagement", + "type": "string", + "description": "hs_email_sends_since_last_engagement" + }, + "hs_emailconfirmationstatus": { + "title": "HubSpot email confirmation status", + "type": "string", + "description": "hs_emailconfirmationstatus" + }, + "hs_facebook_click_id": { + "title": "HubSpot Facebook click ID", + "type": "string", + "description": "hs_facebook_click_id" + }, + "hs_feedback_last_nps_follow_up": { + "title": "HubSpot feecback last NPS follow up", + "type": "string", + "description": "hs_feedback_last_nps_follow_up" + }, + "hs_feedback_last_nps_rating": { + "title": "HubSpot feedback last NPS rating", + "type": "string", + "description": "hs_feedback_last_nps_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_google_click_id": { + "title": "HubSpot Google click ID", + "type": "string", + "description": "hs_google_click_id" + }, + "hs_ip_timezone": { + "title": "HubSpot IP timezoneHubSpot IP timezone", + "type": "string", + "description": "hs_ip_timezone" + }, + "hs_is_unworked": { + "title": "HubSpot is unworked", + "type": "string", + "description": "hs_is_unworked" + }, + "hs_language": { + "title": "HubSpot language", + "type": "string", + "description": "hs_language" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_legal_basis": { + "title": "HubSpot legal basis", + "type": "string", + "description": "hs_legal_basis" + }, + "hs_lifecyclestage_customer_date": { + "title": "HubSpot lifecycle stage customer date", + "type": "string", + "description": "hs_lifecyclestage_customer_date" + }, + "hs_lifecyclestage_evangelist_date": { + "title": "HubSpot lifecycle stage evangelist date", + "type": "string", + "description": "hs_lifecyclestage_evangelist_date" + }, + "hs_lifecyclestage_lead_date": { + "title": "HubSpot lifecycle stage lead date", + "type": "string", + "description": "hs_lifecyclestage_lead_date" + }, + "hs_lifecyclestage_marketingqualifiedlead_date": { + "title": "HubSpot lifecycle stage marketing qualitifed lead date", + "type": "string", + "description": "hs_lifecyclestage_marketingqualifiedlead_date" + }, + "hs_lifecyclestage_opportunity_date": { + "title": "HubSpot lifecycle stage opportunity date", + "type": "string", + "description": "hs_lifecyclestage_opportunity_date" + }, + "hs_lifecyclestage_other_date": { + "title": "HubSpot lifecycle stage other date", + "type": "string", + "description": "hs_lifecyclestage_other_date" + }, + "hs_lifecyclestage_salesqualifiedlead_date": { + "title": "HubSpot lifecycle stage sales qualified lead date", + "type": "string", + "description": "hs_lifecyclestage_salesqualifiedlead_date" + }, + "hs_lifecyclestage_subscriber_date": { + "title": "HubSpot lifecycle stage subscriber date", + "type": "string", + "description": "hs_lifecyclestage_subscriber_date" + }, + "hs_marketable_reason_id": { + "title": "HubSpot marketable reason ID", + "type": "string", + "description": "hs_marketable_reason_id" + }, + "hs_marketable_reason_type": { + "title": "HubSpot marketable reason type", + "type": "string", + "description": "hs_marketable_reason_type" + }, + "hs_marketable_status": { + "title": "HubSpot marketable status", + "type": "string", + "description": "hs_marketable_status" + }, + "hs_marketable_until_renewal": { + "title": "HubSpot marketable until renewal", + "type": "string", + "description": "hs_marketable_until_renewal" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_persona": { + "title": "HubSpot persona", + "type": "string", + "description": "hs_persona" + }, + "hs_predictivecontactscore": { + "title": "HubSpot predictive contact score", + "type": "string", + "description": "hs_predictivecontactscore" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_predictivecontactscorebucket": { + "title": "HubSpot predictive contact score bucket", + "type": "string", + "description": "hs_predictivecontactscorebucket" + }, + "hs_predictivescoringtier": { + "title": "HubSpot predictive scoring tier", + "type": "string", + "description": "hs_predictivescoringtier" + }, + "hs_sales_email_last_clicked": { + "title": "HubSpot sales email last clicked", + "type": "string", + "description": "hs_sales_email_last_clicked" + }, + "hs_sales_email_last_opened": { + "title": "HubSpot sales email last opened", + "type": "string", + "description": "hs_sales_email_last_opened" + }, + "hs_sales_email_last_replied": { + "title": "HubSpot sales email last replied", + "type": "string", + "description": "hs_sales_email_last_replied" + }, + "hs_sequences_is_enrolled": { + "title": "HubSpot sequences is enrolled", + "type": "string", + "description": "hs_sequences_is_enrolled" + }, + "hs_time_between_contact_creation_and_deal_close": { + "title": "HubSpot time between contact creation and deal close", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_close" + }, + "hs_time_between_contact_creation_and_deal_creation": { + "title": "HubSpot time between contact creation and deal creation", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_creation" + }, + "hs_time_to_move_from_lead_to_customer": { + "title": "HubSpot time to move from lead to customer", + "type": "string", + "description": "hs_time_to_move_from_lead_to_customer" + }, + "hs_time_to_move_from_marketingqualifiedlead_to_customer": { + "title": "HubSpot time to move from marketing qualitfied lead to customer", + "type": "string", + "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" + }, + "hs_time_to_move_from_opportunity_to_customer": { + "title": "HubSpot time to move from opportunity to customer", + "type": "string", + "description": "hs_time_to_move_from_opportunity_to_customer" + }, + "hs_time_to_move_from_salesqualifiedlead_to_customer": { + "title": "HubSpot time to move from sales qualified lead to customer", + "type": "string", + "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" + }, + "hs_time_to_move_from_subscriber_to_customer": { + "title": "HubSpot time to move from subscriber to customer", + "type": "string", + "description": "hs_time_to_move_from_subscriber_to_customer" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "hubspotscore": { + "title": "HubSpot score", + "type": "string", + "description": "hubspotscore" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "ip_city": { + "title": "IP city", + "type": "string", + "description": "ip_city" + }, + "ip_country": { + "title": "IP country", + "type": "string", + "description": "ip_country" + }, + "ip_country_code": { + "title": "IP country code", + "type": "string", + "description": "ip_country_code" + }, + "ip_state": { + "title": "IP state", + "type": "string", + "description": "ip_state" + }, + "ip_state_code": { + "title": "IP state code", + "type": "string", + "description": "ip_state_code" + }, + "job_function": { + "title": "Job function", + "type": "string", + "description": "job_function" + }, + "jobtitle": { + "title": "Job title", + "type": "string", + "description": "jobtitle" + }, + "lastmodifieddate": { + "title": "Last modified date", + "type": "string", + "description": "lastmodifieddate" + }, + "lastname": { + "title": "Last name", + "type": "string", + "description": "lastname" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "marital_status": { + "title": "Marital status", + "type": "string", + "description": "marital_status" + }, + "message": { + "title": "Message", + "type": "string", + "description": "message" + }, + "military_status": { + "title": "Military status", + "type": "string", + "description": "military_status" + }, + "mobilephone": { + "title": "Mobile phone", + "type": "string", + "description": "mobilephone" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "num_unique_conversion_events": { + "title": "Number of unique conversion events", + "type": "string", + "description": "num_unique_conversion_events" + }, + "numemployees": { + "title": "Number of employees", + "type": "string", + "description": "numemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "relationship_status": { + "title": "Relations status", + "type": "string", + "description": "relationship_status" + }, + "salutation": { + "title": "Salutation", + "type": "string", + "description": "salutation" + }, + "school": { + "title": "School", + "type": "string", + "description": "school" + }, + "seniority": { + "title": "Seniority", + "type": "string", + "description": "seniority" + }, + "start_date": { + "title": "Start date", + "type": "string", + "description": "start_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "work_email": { + "title": "Work email", + "type": "string", + "description": "work_email" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List deals", + "description": "Return a list of deals", + "operationId": "DealsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a deal", + "description": "Create a deal with the given properties and return a copy of the object, including the ID.", + "operationId": "DealsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "type": "string", + "description": "amount" + }, + "amount_in_home_currency": { + "title": "Amount in home currency", + "type": "string", + "description": "amount_in_home_currency" + }, + "closed_lost_reason": { + "title": "Closed lost reason", + "type": "string", + "description": "closed_lost_reason" + }, + "closed_won_reason": { + "title": "Closed won reason", + "type": "string", + "description": "closed_won_reason" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "dealname": { + "title": "Deal name", + "type": "string", + "description": "dealname" + }, + "dealstage": { + "title": "Deal stage", + "type": "string", + "description": "dealstage" + }, + "dealtype": { + "title": "Deal type", + "type": "string", + "description": "dealtype" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "hs_acv": { + "title": "ACV", + "type": "string", + "description": "hs_acv" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_arr": { + "title": "HubSpot annual recurring revenue", + "type": "string", + "description": "hs_arr" + }, + "hs_forecast_amount": { + "title": "HubSpot forecast amount", + "type": "string", + "description": "hs_forecast_amount" + }, + "hs_forecast_probability": { + "title": "HubSpot forecast probability", + "type": "string", + "description": "hs_forecast_probability" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_manual_forecast_category": { + "title": "HubSpot manual forecast category", + "type": "string", + "description": "hs_manual_forecast_category" + }, + "hs_mrr": { + "title": "HubSpot monthly reoccuring revenue", + "type": "string", + "description": "hs_mrr" + }, + "hs_next_step": { + "title": "HubSpot next step", + "type": "string", + "description": "hs_next_step" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_priority": { + "title": "HubSpot priority", + "type": "string", + "description": "hs_priority" + }, + "hs_tcv": { + "title": "HubSpot total contract value", + "type": "string", + "description": "hs_tcv" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "pipeline": { + "title": "Pipeline", + "type": "string", + "description": "pipeline" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals/{dealId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a deal", + "description": "Read a deal identified by {dealId}.", + "operationId": "DealsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string", + "description": "The dealId of the deal", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a deal", + "description": "Move a deal identified by {dealId} to the recycling bin.", + "operationId": "DealsArchive", + "x-ms-visibility": "advanced", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string", + "description": "The dealId of the deal", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a deal", + "description": "Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "DealsUpdate", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "type": "string", + "description": "amount" + }, + "amount_in_home_currency": { + "title": "Amount in home currency", + "type": "string", + "description": "amount_in_home_currency" + }, + "closed_lost_reason": { + "title": "Closed lost reason", + "type": "string", + "description": "closed_lost_reason" + }, + "closed_won_reason": { + "title": "Closed won reason", + "type": "string", + "description": "closed_won_reason" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "dealname": { + "title": "Deal name", + "type": "string", + "description": "dealname" + }, + "dealstage": { + "title": "Deal stage", + "type": "string", + "description": "dealstage" + }, + "dealtype": { + "title": "Deal type", + "type": "string", + "description": "dealtype" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "hs_acv": { + "title": "ACV", + "type": "string", + "description": "hs_acv" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_arr": { + "title": "HubSpot annual recurring revenue", + "type": "string", + "description": "hs_arr" + }, + "hs_forecast_amount": { + "title": "HubSpot forecast amount", + "type": "string", + "description": "hs_forecast_amount" + }, + "hs_forecast_probability": { + "title": "HubSpot forecast probability", + "type": "string", + "description": "hs_forecast_probability" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_manual_forecast_category": { + "title": "HubSpot manual forecast category", + "type": "string", + "description": "hs_manual_forecast_category" + }, + "hs_mrr": { + "title": "HubSpot monthly reoccuring revenue", + "type": "string", + "description": "hs_mrr" + }, + "hs_next_step": { + "title": "HubSpot next step", + "type": "string", + "description": "hs_next_step" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_priority": { + "title": "HubSpot priority", + "type": "string", + "description": "hs_priority" + }, + "hs_tcv": { + "title": "HubSpot total contract value", + "type": "string", + "description": "hs_tcv" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "pipeline": { + "title": "Pipeline", + "type": "string", + "description": "pipeline" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/products": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List products", + "description": "Return a list of products", + "operationId": "ProductsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "x-ms-visibility": "advanced" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ], + "x-ms-visibility": "important" + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a product", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "hs_cost_of_goods_sold": { + "title": "HubSpot cost of goods sold", + "type": "string", + "description": "hs_cost_of_goods_sold" + }, + "hs_created_by_user_id": { + "title": "HubSpot created by user ID", + "type": "string", + "description": "hs_created_by_user_id" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_images": { + "title": "HubSpot images", + "type": "string", + "description": "hs_images" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "hs_sku": { + "title": "HubSpot SKU", + "type": "string", + "description": "hs_sku" + }, + "hs_updated_by_user_id": { + "title": "HubSpot updated by user ID", + "type": "string", + "description": "hs_updated_by_user_id" + }, + "hs_url": { + "title": "HubSpot URL", + "type": "string", + "description": "hs_url" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "tax": { + "title": "Tax", + "type": "string", + "description": "tax" + } + } + } + } + } + } + ], + "description": "Create a product with the given properties and return a copy of the object, including the ID.", + "operationId": "ProductsCreate", + "x-ms-visibility": "important" + } + }, + "/crm/v3/objects/products/{productId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a product", + "description": "Read a product identified by {productId}.", + "operationId": "ProductsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productId of the product", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a product", + "description": "Move a product identified by {productId} to the recycling bin.", + "operationId": "ProductsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productID of the product", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a product", + "description": "Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "ProductsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productId of the product", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "hs_cost_of_goods_sold": { + "title": "HubSpot cost of goods sold", + "type": "string", + "description": "hs_cost_of_goods_sold" + }, + "hs_created_by_user_id": { + "title": "HubSpot created by user ID", + "type": "string", + "description": "hs_created_by_user_id" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_images": { + "title": "HubSpot images", + "type": "string", + "description": "hs_images" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "hs_sku": { + "title": "HubSpot SKU", + "type": "string", + "description": "hs_sku" + }, + "hs_updated_by_user_id": { + "title": "HubSpot updated by user ID", + "type": "string", + "description": "hs_updated_by_user_id" + }, + "hs_url": { + "title": "HubSpot URL", + "type": "string", + "description": "hs_url" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "tax": { + "title": "Tax", + "type": "string", + "description": "tax" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/owners/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List owners", + "operationId": "OwnersList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 100, + "x-ms-visibility": "important", + "description": "The maximum number of results to return." + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string", + "description": "Filter by email address", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Filter by email address", + "x-ms-visibility": "advanced" + } + ], + "description": "Get a page of owners" + } + }, + "/crm/v3/owners/{ownerId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get an owner", + "description": "Read an owner by given id or userId", + "operationId": "OwnersRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ownerId", + "in": "path", + "required": true, + "type": "string", + "description": "The ownerId of the owner", + "x-ms-visibility": "important" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "default": "id", + "x-ms-visibility": "advanced", + "enum": [ + "id", + "userId" + ] + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List pipelines", + "description": "Return all pipelines for the object type specified by {objectType}.", + "operationId": "PipelinesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the pipelines", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a pipeline", + "description": "Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response.", + "operationId": "PipelinesCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "content-type: application/json", + "x-ms-visibility": "internal" + }, + { + "name": "stages", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "stages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A unique label used to organize pipelines in HubSpot's UI", + "default": "New Pipeline", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "default": 0, + "x-ms-visibility": "important" + }, + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + } + }, + "required": [ + "displayOrder", + "label", + "metadata" + ] + }, + "description": "stages" + } + }, + "required": [ + "stages" + ] + } + } + } + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a pipeline", + "description": "Return a single pipeline object identified by its unique {pipelineId}.", + "operationId": "PipelinesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a pipeline", + "description": "Archive the pipeline identified by {pipelineId}.", + "operationId": "PipelinesArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Replace a pipeline", + "description": "Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response.", + "operationId": "PipelinesReplace", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "stages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced" + }, + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "type": "string", + "description": "ticketState", + "title": "ticketState", + "x-ms-visibility": "important", + "default": "OPEN", + "enum": [ + "OPEN", + "CLOSED" + ] + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + } + }, + "required": [ + "label", + "displayOrder", + "metadata" + ] + }, + "description": "stages" + } + }, + "x-ms-visibility": "important", + "required": [ + "stages" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a pipeline", + "description": "Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response.", + "operationId": "PipelinesUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline. If two pipelines have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A unique label used to organize pipelines in HubSpot's UI", + "x-ms-visibility": "advanced", + "default": "Updated Pipeline" + }, + "archived": { + "title": "Archived", + "type": "boolean", + "description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a 400 Bad Request will be returned.", + "default": false, + "x-ms-visibility": "advanced" + } + } + } + }, + "x-ms-visibility": "important" + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}/stages": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a pipeline stage", + "description": "Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response.", + "operationId": "PipelinesCreateStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "important" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + } + }, + "x-ms-visibility": "important", + "required": [ + "displayOrder", + "label", + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a pipeline stage", + "description": "Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ], + "operationId": "PipelinesReadStage" + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a pipeline stage", + "description": "Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", + "operationId": "PipelinesArchiveStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Replace a pipeline stage", + "description": "Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response.", + "operationId": "PipelinesReplaceStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important", + "default": "OPEN" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "important", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + } + }, + "x-ms-visibility": "important", + "required": [ + "displayOrder", + "label", + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a pipeline stage", + "description": "Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.", + "operationId": "PipelinesUpdateStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important", + "default": "OPEN" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "advanced" + } + }, + "x-ms-visibility": "important", + "required": [ + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/properties/{objectType}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List properties", + "description": "Read all existing properties for the specified object type and HubSpot account.", + "operationId": "PropertiesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a property", + "description": "Create and return a copy of a new property for the specified object type.", + "operationId": "PropertiesCreate", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "groupName": { + "title": "Group Name", + "type": "string", + "description": "The name of the property group the property belongs to.", + "x-ms-visibility": "important" + }, + "hidden": { + "type": "boolean", + "description": "If true, the property won't be visible and can't be used in HubSpot.", + "title": "hidden", + "enum": [ + false, + true + ], + "default": false, + "x-ms-visibility": "advanced" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", + "default": 0, + "x-ms-visibility": "advanced" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "description": { + "title": "Description", + "type": "string", + "description": "A description of the property that will be shown as help text in HubSpot.", + "x-ms-visibility": "advanced" + }, + "value": { + "title": "Value", + "type": "string", + "description": "The internal value of the option, which must be used when setting the property value through the API.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", + "x-ms-visibility": "advanced" + }, + "hidden": { + "type": "boolean", + "description": "Hidden options won't be shown in HubSpot.", + "title": "option hidden", + "enum": [ + false, + true + ], + "default": false, + "x-ms-visibility": "important" + } + }, + "required": [ + "hidden", + "value" + ] + }, + "description": "options" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable property label that will be shown in HubSpot.", + "x-ms-visibility": "important" + }, + "hasUniqueValue": { + "type": "boolean", + "description": "Whether or not the property's value must be unique. Once set, this can't be changed.", + "title": "hasUniqueValue", + "enum": [ + false, + true + ], + "x-ms-visibility": "advanced", + "default": false + }, + "type": { + "type": "string", + "description": "The data type of the property.", + "title": "type", + "default": "string", + "x-ms-visibility": "important", + "enum": [ + "string", + "number", + "date", + "datetime", + "enumeration" + ] + }, + "fieldType": { + "type": "string", + "description": "Controls how the property appears in HubSpot.", + "title": "fieldType", + "default": "textarea", + "x-ms-visibility": "important", + "enum": [ + "textarea", + "text", + "date", + "file", + "number", + "select", + "radio", + "checkbox", + "booleancheckbox" + ] + }, + "formField": { + "type": "boolean", + "description": "Whether or not the property can be used in a HubSpot form.", + "title": "formField", + "enum": [ + true, + false + ], + "x-ms-visibility": "advanced", + "default": true + } + }, + "required": [ + "fieldType", + "groupName", + "label", + "options", + "type" + ] + } + } + } + } + ], + "x-ms-visibility": "important" + } + }, + "/crm/v3/properties/{objectType}/{propertyName}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a property", + "description": "Read a property identified by {propertyName}.", + "operationId": "PropertiesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ] + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a property", + "description": "Move a property identified by {propertyName} to the recycling bin.", + "operationId": "PropertiesArchive", + "x-ms-visibility": "advanced", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a property", + "description": "Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.", + "operationId": "PropertiesUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "groupName": { + "title": "Group Name", + "type": "string", + "description": "The name of the property group the property belongs to.", + "x-ms-visibility": "advanced" + }, + "hidden": { + "type": "boolean", + "description": "If true, the property won't be visible and can't be used in HubSpot.", + "title": "hidden", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "default": false + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values.", + "default": 0, + "x-ms-visibility": "advanced" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable property label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "description": { + "title": "Description", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "value": { + "title": "Value", + "type": "string", + "description": "The internal value of the option, which must be used when setting the property value through the API.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "hidden": { + "type": "boolean", + "description": "Hidden options won't be shown in HubSpot.", + "title": "option hidden", + "x-ms-visibility": "important", + "enum": [ + false, + true + ], + "default": false + } + }, + "required": [ + "hidden", + "value" + ] + }, + "description": "options" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "important" + }, + "type": { + "title": "Type", + "type": "string", + "description": "The data type of the property.", + "x-ms-visibility": "advanced" + }, + "fieldType": { + "type": "string", + "description": "Controls how the property appears in HubSpot.", + "title": "fieldType", + "x-ms-visibility": "advanced", + "default": "textarea", + "enum": [ + "textarea", + "text", + "date", + "file", + "number", + "select", + "radio", + "checkbox", + "booleancheckbox" + ] + }, + "formField": { + "type": "boolean", + "description": "Whether or not the property can be used in a HubSpot form.", + "title": "formfield", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "default": false + } + }, + "x-ms-visibility": "important", + "required": [ + "label", + "options" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/objects/line_items": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List line items", + "description": "Return a list of line items. Control what is returned via the properties query param.", + "operationId": "LineItemsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": true, + "type": "integer", + "default": 10, + "description": "The maximum number of results to display per page.", + "x-ms-summary": "The maximum number of results to display per page.", + "x-ms-visibility": "advanced" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a line item", + "description": "Create a line item with the given properties and return a copy of the object, including the ID.", + "operationId": "LineItemsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "hs_product_id": { + "title": "HubSpot product ID", + "type": "string", + "description": "hs_product_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "quantity": { + "title": "Quantity", + "type": "string", + "description": "quantity" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + } + }, + "description": "properties" + } + }, + "x-ms-visibility": "important" + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/objects/line_items/{lineItemId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a line item", + "description": "Read a lite item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", + "operationId": "LineItemsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "important" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-visibility": "important" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a line item", + "description": "Move an Object identified by {lineItemId} to the recycling bin.", + "operationId": "LineItemsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a line item", + "description": "Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "LineItemsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "hs_product_id": { + "title": "HubSpot product ID", + "type": "string", + "description": "hs_product_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "quantity": { + "title": "Quantity", + "type": "string", + "description": "quantity" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + } + }, + "description": "properties" + } + }, + "x-ms-visibility": "important" + } + } + ] + } + }, + "/crm/v3/objects/tickets": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List tickets", + "description": "Read a page of tickets. Control what is returned via the properties query param.", + "operationId": "TicketsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "description": "The maximum number of results to display per page.", + "x-ms-summary": "The maximum number of results to display per page.", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "important" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "important" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a ticket", + "description": "Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided.", + "operationId": "TicketsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "closed_date": { + "title": "Closed date", + "type": "string", + "description": "closed_date" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "first_agent_reply_date": { + "title": "First agent reply date", + "type": "string", + "description": "first_agent_reply_date" + }, + "hs_feedback_last_ces_follow_up": { + "title": "HubSpot feedback last CES follow up", + "type": "string", + "description": "hs_feedback_last_ces_follow_up" + }, + "hs_feedback_last_ces_rating": { + "title": "HubSpot feedback last CES rating", + "type": "string", + "description": "hs_feedback_last_ces_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_lastactivitydate": { + "title": "HubSpot last activity date", + "type": "string", + "description": "hs_lastactivitydate" + }, + "hs_lastcontacted": { + "title": "HubSpot last contacted", + "type": "string", + "description": "hs_lastcontacted" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_nextactivitydate": { + "title": "HubSpot next activity date", + "type": "string", + "description": "hs_nextactivitydate" + }, + "hs_num_times_contacted": { + "title": "HubSpot number of times contacted", + "type": "string", + "description": "hs_num_times_contacted" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "last_reply_date": { + "title": "Last reply date", + "type": "string", + "description": "last_reply_date" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "time_to_close": { + "title": "Time to close", + "type": "string", + "description": "time_to_close" + }, + "time_to_first_agent_reply": { + "title": "Time to first agent reply", + "type": "string", + "description": "time_to_first_agent_reply" + }, + "content": { + "title": "Content", + "type": "string", + "description": "content" + }, + "hs_file_upload": { + "title": "HubSpot file upload", + "type": "string", + "description": "hs_file_upload" + }, + "hs_num_associated_companies": { + "title": "HubSpot number of associated companies", + "type": "string", + "description": "hs_num_associated_companies" + }, + "hs_pipeline": { + "title": "HubSpot pipeline", + "type": "string", + "description": "hs_pipeline" + }, + "hs_pipeline_stage": { + "title": "HubSpot pipeline stage", + "type": "string", + "description": "hs_pipeline_stage" + }, + "hs_resolution": { + "title": "HubSpot resolution", + "type": "string", + "description": "hs_resolution" + }, + "hs_ticket_category": { + "title": "HubSpot ticket category", + "type": "string", + "description": "hs_ticket_category" + }, + "hs_ticket_id": { + "title": "HubSpot ticket ID", + "type": "string", + "description": "hs_ticket_id" + }, + "hs_ticket_priority": { + "title": "HubSpot ticket priority", + "type": "string", + "description": "hs_ticket_priority" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "source_type": { + "title": "Source type", + "type": "string", + "description": "source_type" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/tickets/{ticketId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a ticket", + "description": "Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", + "operationId": "TicketsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type.", + "x-ms-summary": "The name of a property whose values are unique for this object type.", + "x-ms-visibility": "important" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a ticket", + "description": "Move a ticket identified by {ticketId} to the recycling bin.", + "operationId": "TicketsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "TicketsUpdate", + "summary": "Update a ticket", + "description": "Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "description": "", + "x-ms-summary": "", + "x-ms-visibility": "important" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "closed_date": { + "title": "Closed date", + "type": "string", + "description": "closed_date" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "first_agent_reply_date": { + "title": "First agent reply date", + "type": "string", + "description": "first_agent_reply_date" + }, + "hs_feedback_last_ces_follow_up": { + "title": "HubSpot feedback last CES follow up", + "type": "string", + "description": "hs_feedback_last_ces_follow_up" + }, + "hs_feedback_last_ces_rating": { + "title": "HubSpot feedback last CES rating", + "type": "string", + "description": "hs_feedback_last_ces_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_lastactivitydate": { + "title": "HubSpot last activity date", + "type": "string", + "description": "hs_lastactivitydate" + }, + "hs_lastcontacted": { + "title": "HubSpot last contacted", + "type": "string", + "description": "hs_lastcontacted" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_nextactivitydate": { + "title": "HubSpot next activity date", + "type": "string", + "description": "hs_nextactivitydate" + }, + "hs_num_times_contacted": { + "title": "HubSpot number of times contacted", + "type": "string", + "description": "hs_num_times_contacted" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "last_reply_date": { + "title": "Last reply date", + "type": "string", + "description": "last_reply_date" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "time_to_close": { + "title": "Time to close", + "type": "string", + "description": "time_to_close" + }, + "time_to_first_agent_reply": { + "title": "Time to first agent reply", + "type": "string", + "description": "time_to_first_agent_reply" + }, + "content": { + "title": "Content", + "type": "string", + "description": "content" + }, + "hs_file_upload": { + "title": "HubSpot file upload", + "type": "string", + "description": "hs_file_upload" + }, + "hs_num_associated_companies": { + "title": "HubSpot number of associated companies", + "type": "string", + "description": "hs_num_associated_companies" + }, + "hs_pipeline": { + "title": "HubSpot pipeline", + "type": "string", + "description": "hs_pipeline" + }, + "hs_pipeline_stage": { + "title": "HubSpot pipeline stage", + "type": "string", + "description": "hs_pipeline_stage" + }, + "hs_resolution": { + "title": "HubSpot resolution", + "type": "string", + "description": "hs_resolution" + }, + "hs_ticket_category": { + "title": "HubSpot ticket category", + "type": "string", + "description": "hs_ticket_category" + }, + "hs_ticket_id": { + "title": "HubSpot ticket ID", + "type": "string", + "description": "hs_ticket_id" + }, + "hs_ticket_priority": { + "title": "HubSpot ticket priority", + "type": "string", + "description": "hs_ticket_priority" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "source_type": { + "title": "Source type", + "type": "string", + "description": "source_type" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/companies/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search companies", + "operationId": "SearchCompanies", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search contacts", + "operationId": "SearchContacts", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search deals", + "operationId": "SearchDeals", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/products/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search products", + "operationId": "SearchProducts", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/tickets/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search tickets", + "operationId": "SearchTickets", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/line_items/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search line items", + "operationId": "SearchLineItems", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/quotes/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search quotes", + "operationId": "SearchQuotes", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/custom_objects/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search custom objects", + "operationId": "SearchCustomObjects", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write": "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" + ] + } + ], + "tags": [] +} diff --git a/independent-publisher-connectors/HubSpot CRM/apiProperties.json b/independent-publisher-connectors/HubSpot CRM/apiProperties.json new file mode 100644 index 0000000000..079ab11263 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/apiProperties.json @@ -0,0 +1,74 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions" +} diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png b/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png new file mode 100644 index 0000000000000000000000000000000000000000..63bc8da6e689ecd35d913ef11c3b07a169795025 GIT binary patch literal 13077 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 literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png b/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png new file mode 100644 index 0000000000000000000000000000000000000000..23b2875c6d13d3403b30d5fe7ea29737a89292f8 GIT binary patch literal 24590 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 Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json new file mode 100644 index 0000000000..61cc4c54c8 --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json @@ -0,0 +1,1444 @@ +{ + "swagger": "2.0", + "info": { + "title": "HubSpot Marketing", + "description": "", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/marketing/v3/forms/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List Forms (Preview)", + "description": "Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms.", + "operationId": "FormsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20, + "description": "The maximum number of results to return.", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "x-ms-summary": "Whether to return only results that have been archived." + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a form (Preview)", + "description": "Add a new HubSpot form.", + "operationId": "FormsCreate", + "parameters": [ + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "data", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "formType": { + "title": "Form Type", + "type": "string", + "description": "formType", + "default": "hubspot" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "createdAt": { + "title": "Created at", + "type": "string", + "description": "createdAt" + }, + "updatedAt": { + "title": "Updated at", + "type": "string", + "description": "updatedAt" + }, + "archived": { + "title": "Archived", + "type": "boolean", + "description": "archived", + "enum": [ + false, + true + ], + "default": false + }, + "archivedAt": { + "title": "Archived at", + "type": "string", + "description": "archivedAt" + }, + "fieldGroups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupType": { + "title": "Group type", + "type": "string", + "description": "groupType" + }, + "richTextType": { + "title": "Rich text type", + "type": "string", + "description": "richTextType" + }, + "richText": { + "title": "Rich text", + "type": "string", + "description": "richText" + }, + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fieldType": { + "title": "Field type", + "type": "string", + "description": "fieldType" + }, + "objectTypeId": { + "title": "Object type ID", + "type": "string", + "description": "objectTypeId" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "required": { + "title": "Required", + "type": "boolean", + "description": "required" + }, + "hidden": { + "title": "Hidden", + "type": "boolean", + "description": "hidden" + }, + "dependentFields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dependentCondition": { + "type": "object", + "properties": { + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "values": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "values" + }, + "rangeStart": { + "title": "Range start", + "type": "string", + "description": "rangeStart" + }, + "rangeEnd": { + "title": "Range end", + "type": "string", + "description": "rangeEnd" + } + }, + "description": "dependentCondition" + } + } + }, + "description": "dependentFields" + }, + "placeholder": { + "title": "Placeholder", + "type": "string", + "description": "placeholder" + }, + "defaultValue": { + "title": "Default value", + "type": "string", + "description": "defaultValue" + }, + "validation": { + "type": "object", + "properties": { + "blockedEmailDomains": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "blockedEmailDomains" + }, + "useDefaultBlockList": { + "title": "Use default block list", + "type": "boolean", + "description": "useDefaultBlockList" + }, + "minAllowedDigits": { + "title": "Minimum allowed digits", + "type": "integer", + "format": "int32", + "description": "minAllowedDigits" + }, + "maxAllowedDigits": { + "title": "Max allowed digits", + "type": "integer", + "format": "int32", + "description": "maxAllowedDigits" + } + }, + "description": "validation" + }, + "useCountryCodeSelect": { + "title": "Use country code select", + "type": "boolean", + "description": "useCountryCodeSelect" + }, + "defaultValues": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "defaultValues" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "displayOrder" + } + } + }, + "description": "options" + }, + "allowMultipleFiles": { + "title": "Allow multiple files", + "type": "boolean", + "description": "allowMultipleFiles" + } + } + }, + "description": "fields" + } + } + }, + "description": "fieldGroups" + }, + "configuration": { + "type": "object", + "properties": { + "language": { + "title": "Language", + "type": "string", + "description": "language" + }, + "cloneable": { + "title": "Cloneable", + "type": "boolean", + "description": "cloneable" + }, + "postSubmitAction": { + "type": "object", + "properties": { + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + }, + "description": "postSubmitAction" + }, + "editable": { + "title": "Editable", + "type": "boolean", + "description": "editable" + }, + "archivable": { + "title": "Archivable", + "type": "boolean", + "description": "archivable" + }, + "recaptchaEnabled": { + "title": "Recaptcha enabled", + "type": "boolean", + "description": "recaptchaEnabled" + }, + "notifyContactOwner": { + "title": "Notify contact owner", + "type": "boolean", + "description": "notifyContactOwner" + }, + "notifyRecipients": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "notifyRecipients" + }, + "createNewContactForNewEmail": { + "title": "Create new contact for new email", + "type": "boolean", + "description": "createNewContactForNewEmail" + }, + "prePopulateKnownValues": { + "title": "Pre-populate known values", + "type": "boolean", + "description": "prePopulateKnownValues" + }, + "allowLinkToResetKnownValues": { + "title": "Allow link to reset known values", + "type": "boolean", + "description": "allowLinkToResetKnownValues" + } + }, + "description": "configuration" + }, + "displayOptions": { + "type": "object", + "properties": { + "renderRawHtml": { + "title": "Render raw HTML", + "type": "boolean", + "description": "renderRawHtml" + }, + "theme": { + "title": "Theme", + "type": "string", + "description": "theme" + }, + "submitButtonText": { + "title": "Submit button text", + "type": "string", + "description": "submitButtonText" + }, + "style": { + "type": "object", + "properties": { + "fontFamily": { + "title": "Font family", + "type": "string", + "description": "fontFamily" + }, + "backgroundWidth": { + "title": "Background width", + "type": "string", + "description": "backgroundWidth" + }, + "labelTextColor": { + "title": "Label text color", + "type": "string", + "description": "labelTextColor" + }, + "labelTextSize": { + "title": "Label text size", + "type": "string", + "description": "labelTextSize" + }, + "helpTextColor": { + "title": "Help text color", + "type": "string", + "description": "helpTextColor" + }, + "helpTextSize": { + "title": "Help text size", + "type": "string", + "description": "helpTextSize" + }, + "legalConsentTextColor": { + "title": "Legal consent text color", + "type": "string", + "description": "legalConsentTextColor" + }, + "legalConsentTextSize": { + "title": "Legal consent text size", + "type": "string", + "description": "legalConsentTextSize" + }, + "submitColor": { + "title": "Submit color", + "type": "string", + "description": "submitColor" + }, + "submitAlignment": { + "title": "Submit alignment", + "type": "string", + "description": "submitAlignment" + }, + "submitFontColor": { + "title": "Submit font color", + "type": "string", + "description": "submitFontColor" + }, + "submitSize": { + "title": "Submit size", + "type": "string", + "description": "submitSize" + } + }, + "description": "style" + }, + "cssClass": { + "title": "CSS class", + "type": "string", + "description": "cssClass" + } + }, + "description": "displayOptions" + } + } + } + } + ] + } + }, + "/marketing/v3/forms/{formId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a form (Preview)", + "description": "Returns a form based on the form ID provided.", + "operationId": "FormsRead", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string", + "description": "The formId of the form", + "x-ms-visibility": "important" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ] + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "FormsArchive", + "summary": "Delete a form (Preview)", + "description": "Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months.", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "FormsUpdate", + "summary": "Update a form (Preview)", + "description": "Update all fields of a HubSpot form definition.", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "data", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "formType": { + "title": "Form Type", + "type": "string", + "description": "formType", + "default": "hubspot" + }, + "id": { + "title": "ID", + "type": "string", + "description": "id" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "createdAt": { + "title": "Created at", + "type": "string", + "description": "createdAt", + "format": "date-time" + }, + "updatedAt": { + "title": "Updated at", + "type": "string", + "description": "updatedAt", + "format": "date-time" + }, + "archived": { + "type": "boolean", + "description": "archived", + "title": "", + "enum": [ + false, + true + ], + "default": false + }, + "archivedAt": { + "title": "Archived at", + "type": "string", + "description": "archivedAt" + }, + "fieldGroups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupType": { + "title": "Group type", + "type": "string", + "description": "groupType" + }, + "richTextType": { + "title": "Rich text type", + "type": "string", + "description": "richTextType" + }, + "richText": { + "title": "Rich text", + "type": "string", + "description": "richText" + }, + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fieldType": { + "title": "Field type", + "type": "string", + "description": "fieldType" + }, + "objectTypeId": { + "title": "Object type ID", + "type": "string", + "description": "objectTypeId" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "required": { + "title": "Required", + "type": "boolean", + "description": "required" + }, + "hidden": { + "title": "Hidden", + "type": "boolean", + "description": "hidden" + }, + "dependentFields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dependentCondition": { + "type": "object", + "properties": { + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "values": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "values" + }, + "rangeStart": { + "title": "Range start", + "type": "string", + "description": "rangeStart" + }, + "rangeEnd": { + "title": "Range end", + "type": "string", + "description": "rangeEnd" + } + }, + "description": "dependentCondition" + } + } + }, + "description": "dependentFields" + }, + "placeholder": { + "title": "Placeholder", + "type": "string", + "description": "placeholder" + }, + "defaultValue": { + "title": "Default value", + "type": "string", + "description": "defaultValue" + }, + "validation": { + "type": "object", + "properties": { + "blockedEmailDomains": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "blockedEmailDomains" + }, + "useDefaultBlockList": { + "title": "Use default block list", + "type": "boolean", + "description": "useDefaultBlockList" + }, + "minAllowedDigits": { + "title": "Minimum allowed digits", + "type": "integer", + "format": "int32", + "description": "minAllowedDigits" + }, + "maxAllowedDigits": { + "title": "Max allowed digits", + "type": "integer", + "format": "int32", + "description": "maxAllowedDigits" + } + }, + "description": "validation" + }, + "useCountryCodeSelect": { + "title": "Use country code select", + "type": "boolean", + "description": "useCountryCodeSelect" + }, + "defaultValues": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "defaultValues" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "displayOrder" + } + } + }, + "description": "options" + }, + "allowMultipleFiles": { + "title": "Allow multiple files", + "type": "boolean", + "description": "allowMultipleFiles" + } + } + }, + "description": "fields" + } + } + }, + "description": "fieldGroups" + }, + "configuration": { + "type": "object", + "properties": { + "language": { + "title": "Language", + "type": "string", + "description": "language" + }, + "cloneable": { + "title": "Cloneable", + "type": "boolean", + "description": "cloneable" + }, + "postSubmitAction": { + "type": "object", + "properties": { + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + }, + "description": "postSubmitAction" + }, + "editable": { + "title": "Editable", + "type": "boolean", + "description": "editable" + }, + "archivable": { + "title": "Archivable", + "type": "boolean", + "description": "archivable" + }, + "recaptchaEnabled": { + "title": "Recaptcha enabled", + "type": "boolean", + "description": "recaptchaEnabled" + }, + "notifyContactOwner": { + "title": "Notify contact owner", + "type": "boolean", + "description": "notifyContactOwner" + }, + "notifyRecipients": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "notifyRecipients" + }, + "createNewContactForNewEmail": { + "title": "Create new contact for new email", + "type": "boolean", + "description": "createNewContactForNewEmail" + }, + "prePopulateKnownValues": { + "title": "Pre-populate known values", + "type": "boolean", + "description": "prePopulateKnownValues" + }, + "allowLinkToResetKnownValues": { + "title": "Allow link to reset known values", + "type": "boolean", + "description": "allowLinkToResetKnownValues" + } + }, + "description": "configuration" + }, + "displayOptions": { + "type": "object", + "properties": { + "renderRawHtml": { + "title": "Render raw HTML", + "type": "boolean", + "description": "renderRawHtml" + }, + "theme": { + "title": "Theme", + "type": "string", + "description": "theme" + }, + "submitButtonText": { + "title": "Submit button text", + "type": "string", + "description": "submitButtonText" + }, + "style": { + "type": "object", + "properties": { + "fontFamily": { + "title": "Font family", + "type": "string", + "description": "fontFamily" + }, + "backgroundWidth": { + "title": "Background width", + "type": "string", + "description": "backgroundWidth" + }, + "labelTextColor": { + "title": "Label text color", + "type": "string", + "description": "labelTextColor" + }, + "labelTextSize": { + "title": "Label text size", + "type": "string", + "description": "labelTextSize" + }, + "helpTextColor": { + "title": "Help text color", + "type": "string", + "description": "helpTextColor" + }, + "helpTextSize": { + "title": "Help text size", + "type": "string", + "description": "helpTextSize" + }, + "legalConsentTextColor": { + "title": "Legal consent text color", + "type": "string", + "description": "legalConsentTextColor" + }, + "legalConsentTextSize": { + "title": "Legal consent text size", + "type": "string", + "description": "legalConsentTextSize" + }, + "submitColor": { + "title": "Submit color", + "type": "string", + "description": "submitColor" + }, + "submitAlignment": { + "title": "Submit alignment", + "type": "string", + "description": "submitAlignment" + }, + "submitFontColor": { + "title": "Submit font color", + "type": "string", + "description": "submitFontColor" + }, + "submitSize": { + "title": "Submit size", + "type": "string", + "description": "submitSize" + } + }, + "description": "style" + }, + "cssClass": { + "title": "CSS class", + "type": "string", + "description": "cssClass" + } + }, + "description": "displayOptions" + } + }, + "required": [ + "id", + "formType", + "createdAt", + "updatedAt", + "archived" + ] + } + } + ] + } + }, + "/marketing/v3/marketing-events-beta/events/{externalEventId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "MarketingEventRead", + "summary": "Get a marketing event (Preview)", + "description": "Returns the details of the Marketing Event with the specified id, if one exists.", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to return", + "x-ms-summary": "The id of the marketing event to return" + }, + { + "name": "externalAccountId", + "in": "query", + "required": true, + "type": "string", + "x-ms-summary": "The account id associated with the marketing event", + "description": "The account id associated with the marketing event" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "MarketingEventsArchive", + "summary": "Delete a marketing event (Preview)", + "description": "Archives an existing Marketing Event with the specified id, if one exists.", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to delete", + "x-ms-summary": "The id of the marketing event to delete" + }, + { + "name": "externalAccountId", + "in": "query", + "required": true, + "type": "string", + "description": "The account id associated with the marketing event", + "x-ms-summary": "The account id associated with the marketing event" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create or update a marketing event (Preview)", + "description": "Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created.", + "operationId": "MarketingEventsUpdateCreateOrUpdate", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to upsert", + "x-ms-summary": "The id of the marketing event to upsert" + }, + { + "name": "content-type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "data", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "eventName": { + "title": "Event name", + "type": "string", + "description": "eventName" + }, + "eventType": { + "type": "string", + "description": "eventType", + "title": "", + "enum": [ + "WEBINAR", + "CONFERENCE", + "WORKSHOP" + ] + }, + "startDateTime": { + "title": "Start date time", + "type": "string", + "description": "startDateTime" + }, + "endDateTime": { + "title": "End date time", + "type": "string", + "description": "endDateTime" + }, + "eventOrganizer": { + "title": "Event organizer", + "type": "string", + "description": "eventOrganizer" + }, + "eventDescription": { + "title": "Event description", + "type": "string", + "description": "eventDescription" + }, + "eventUrl": { + "title": "Event URL", + "type": "string", + "description": "eventUrl" + }, + "eventCancelled": { + "title": "Event cancelled", + "type": "boolean", + "description": "eventCancelled" + }, + "customProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "timestamp": { + "title": "Timestamp", + "type": "integer", + "format": "int32", + "description": "timestamp" + }, + "sourceId": { + "title": "Source ID", + "type": "string", + "description": "sourceId" + }, + "sourceLabel": { + "title": "Source label", + "type": "string", + "description": "sourceLabel" + }, + "source": { + "title": "Source", + "type": "string", + "description": "source" + }, + "selectedByUser": { + "title": "Selected by user", + "type": "boolean", + "description": "selectedByUser" + }, + "selectedByUserTimestamp": { + "title": "Selected by user timestamp", + "type": "integer", + "format": "int32", + "description": "selectedByUserTimestamp" + }, + "sourceVid": { + "type": "array", + "items": { + "title": "Items", + "type": "integer", + "format": "int32" + }, + "description": "sourceVid" + }, + "sourceMetadata": { + "title": "Source metadata", + "type": "string", + "description": "sourceMetadata" + }, + "requestId": { + "title": "Request ID", + "type": "string", + "description": "requestId" + } + } + }, + "description": "customProperties" + }, + "externalAccountId": { + "title": "External account ID", + "type": "string", + "description": "externalAccountId" + }, + "externalEventId": { + "title": "External event ID", + "type": "string", + "description": "externalEventId" + } + }, + "required": [ + "eventName", + "eventOrganizer", + "externalEventId", + "externalAccountId" + ] + } + } + ] + } + }, + "/marketing-emails/v1/emails": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get all marketing emails (V1)", + "description": "Get all marketing emails for a HubSpot account.", + "operationId": "MarketingEmailsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10 + }, + { + "name": "orderBy", + "in": "query", + "required": false, + "type": "string", + "default": "created" + } + ] + } + }, + "/marketing-emails/v1/emails/{id}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a marketing email (V1)", + "description": "Get the details for a specific marketing email.", + "operationId": "MarketingEmailsRead", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a marketing email (V1)", + "description": "Archive a marketing email.", + "operationId": "MarketingEmailsArchive", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a marketing email (V1)", + "description": "Update a marketing email.", + "operationId": "MarketingEmailsUpdate", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fromName": { + "title": "From name", + "type": "string", + "description": "fromName" + }, + "replyTo": { + "title": "Reply to", + "type": "string", + "description": "replyTo" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + ] + } + }, + "/email/public/v1/campaigns/{campaign_id}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get campaign data for a particular campaign (V1)", + "description": "For a given campaign, return data associated with the campaign.", + "operationId": "MarketingEmailsCampaignRead", + "parameters": [ + { + "name": "campaign_id", + "in": "path", + "required": true, + "type": "string" + } + ] + } + }, + "/marketing-emails/v1/emails/": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a marketing email (V1)", + "description": "Create a new marketing email.", + "operationId": "MarketingEmailsCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name", + "x-ms-visibility": "important" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + }, + "required": [ + "name" + ] + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + ] + } + ], + "tags": [] +} diff --git a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json new file mode 100644 index 0000000000..079ab11263 --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json @@ -0,0 +1,74 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions" +} diff --git a/independent-publisher-connectors/HubSpot Marketing/settings.json b/independent-publisher-connectors/HubSpot Marketing/settings.json new file mode 100644 index 0000000000..745d928579 --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_hubspot-20marketing-5f1a2efd764356a300-5fb3182c161023f139", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file From 5fb06db7f3e0ea67bd7da4c55b729ff2395ddf68 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Wed, 2 Jun 2021 10:11:13 -0400 Subject: [PATCH 02/25] certify-connector Xero Accounting and Payroll connectors --- .../Getting Started with Xero App Webhooks.md | 10 + .../Xero Accounting/README.md | 84 ++ .../apiDefinition.swagger.json | 1220 +++++++++++++++++ .../Xero Accounting/apiProperties.json | 35 + .../Xero Accounting/jNtIA08Isl.png | Bin 0 -> 9962 bytes .../Xero Accounting/pCXxjPBIMe.png | Bin 0 -> 25036 bytes .../Xero Accounting/settings.json | 9 + .../Xero Payroll - UK/README.md | 70 + .../apiDefinition.swagger.json | 684 +++++++++ .../Xero Payroll - UK/apiProperties.json | 35 + .../Xero Payroll - UK/settings.json | 9 + .../Xero Projects/README.md | 60 + .../Xero Projects/apiDefinition.swagger.json | 523 +++++++ .../Xero Projects/apiProperties.json | 35 + .../Xero Projects/settings.json | 9 + 15 files changed, 2783 insertions(+) create mode 100644 independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md create mode 100644 independent-publisher-connectors/Xero Accounting/README.md create mode 100644 independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Accounting/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png create mode 100644 independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png create mode 100644 independent-publisher-connectors/Xero Accounting/settings.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/README.md create mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/settings.json create mode 100644 independent-publisher-connectors/Xero Projects/README.md create mode 100644 independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Projects/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Projects/settings.json diff --git a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md new file mode 100644 index 0000000000..27acedf0e7 --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md @@ -0,0 +1,10 @@ +# Getting Started with Xero App webhooks +Currently, there is no API available that allows this custom connector to create triggers for flows. Start by creating a new Power Automate cloud flow using the 'When a HTTP request is received' trigger. + +![When a HTTP request is received trigger](jNtIA08Isl.png) + +After you save the flow, an Azure HTTP POST URL will be created and you will use this with your Xero app webhook. You will then have to use the Xero My Apps UI to [create the webhook(s)](https://developer.xero.com/documentation/webhooks/creating-webhooks). + +![Xero app webhook](pCXxjPBIMe.png) + +As there is only one notification URL allowed per app, to receive notifications about the second object you will need to create a second app. diff --git a/independent-publisher-connectors/Xero Accounting/README.md b/independent-publisher-connectors/Xero Accounting/README.md new file mode 100644 index 0000000000..8fa5f0bb4f --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/README.md @@ -0,0 +1,84 @@ +# Xero Accounting +The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. + +## Publisher: Hitachi Solutions + +## Prerequisites +To use this connector, you need the following + +- A Microsoft Power Apps or Power Automate plan with custom connector feature +- A Xero account with either the demo company or a paid subscription tenant +- A Xero developer account with a configured OAuth 2.0 application + +## Obtaining Credentials +After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. If you are going to build triggers for your Xero tenant, that configuration is on the Webhooks tab in this app. Since Xero allows for triggers based on contacts and invoices but only allows one URL per app, best practice is to create a second app to trigger the second object changes. + +## Getting Started +Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). In order to use Xero webhooks as triggers in Power Automate, follow this [guide](Getting Started with Xero App Webhooks.md). + +## API Documentation +[Xero Accounting API](https://developer.xero.com/documentation/api/api-overview) + +- [Bank Transfers](https://developer.xero.com/documentation/api/bank-transfers) +- [Contacts](https://developer.xero.com/documentation/api/contacts) +- [Invoices](https://developer.xero.com/documentation/api/invoices) +- [Payments](https://developer.xero.com/documentation/api/payments) +- [Purchase Orders](https://developer.xero.com/documentation/api/purchase-orders) + +## Supported Operations +This connector supports the following operations: + +### Action: Create a contact +Add a contact in a Xero organisation. + +### Action: Get a contact +Retrieve a contact in a Xero organisation. + +### Action: Get contacts +Retrieve a list of contacts in a Xero organisation. + +### Action: Update a contact +Update a contact in a Xero organisation. + +### Action: Get sales invoices +Retrieve sales invoices in a Xero organisation. + +### Action: Get a sales invoice +Retrieve a sales invoice in a Xero organisation. + +### Action: Create a payment +Apply a payment to approved AR and AP invoices. + +### Action: Get payments +Retrieve either a list of payments for invoices and credit notes. + +### Action: Get a payment +Retrieve either a payment for invoices and credit notes. + +### Action: Create a purchase order +Add a purchase order in a Xero organisation. + +### Action: Get a purchase order +Allows you to retrieve a purchase order. + +### Action: Get purchase orders +Allows you to retrieve purchase orders. + +### Action: Create a bank transfer +Create a bank transfer in a Xero organisation. + +### Action: Get a bank transfer +Retrieve a bank transfer in a Xero organisation. + +### Action: Get bank transfers +Retrieve a list of bank transfers in a Xero organisation. + + +## Known Issues and Limitations +There are no known issues at time of publishing. + +## Frequently Asked Questions + + +## Deployment Instructions +Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json new file mode 100644 index 0000000000..9fe5d196c6 --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json @@ -0,0 +1,1220 @@ +{ + "swagger": "2.0", + "info": { + "title": "Xero Accounting", + "description": "Xero accounting software community connector.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.xero.com", + "basePath": "/api.xro/2.0/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/Contacts": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get contacts", + "description": "Get a list of contacts", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + } + ], + "operationId": "ContactsGet" + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a contact", + "description": "Use this method to create a contact record.", + "operationId": "ContactsCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Full name of contact or organization" + }, + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Xero identifier" + }, + "ContactNumber": { + "title": "Contact number", + "type": "string", + "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" + }, + "AccountNumber": { + "title": "Account number", + "type": "string", + "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" + }, + "ContactStatus": { + "title": "Contact status", + "type": "string", + "description": "Current status of a contact", + "enum": [ + "ACTIVE", + "ARCHIVED", + "GDPRREQUEST" + ] + }, + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "SkypeUserName": { + "title": "Skype user name", + "type": "string", + "description": "Skype user name of contact" + }, + "ContactPersons": { + "title": "Contact persons", + "type": "object", + "properties": { + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "IncludeInEmails": { + "title": "Include in emails", + "type": "boolean", + "description": "Whether contact should be included on emails with invoices etc.", + "enum": [ + true, + false + ] + } + } + }, + "BankAccountDetails": { + "title": "Bank account details", + "type": "string", + "description": "Bank account number of contact" + }, + "TaxNumber": { + "title": "Tax number", + "type": "string", + "description": "Tax number of contact (max length = 50)" + }, + "AccountsReceivableTaxType": { + "title": "Accounts receivable tax type", + "type": "string", + "description": "Default tax type used for contact on AR invoices" + }, + "AccountsPayableTaxType": { + "title": "Accounts payable tax type", + "type": "string", + "description": "Default tax type used for contact on AP invoices" + }, + "Addresses": { + "title": "Addresses", + "type": "string", + "description": "Either PO Box or Street or Delivery", + "default": "POBOX", + "enum": [ + "POBOX", + "STREET", + "DELIVERY" + ] + }, + "Phones": { + "title": "Phones", + "type": "string", + "description": "Store certain phone types for a contact", + "default": "DEFAULT", + "enum": [ + "DEFAULT", + "DDI", + "MOBILE", + "FAX" + ] + }, + "DefaultCurrency": { + "title": "Default currency", + "type": "string", + "description": "Default currency for raising invoices against contact" + }, + "XeroNetworkKey": { + "title": "XeroNetworkKey", + "type": "string", + "description": "Store XeroNetworkKey for contacts." + }, + "SalesDefaultAccountCode": { + "title": "Sales default account code", + "type": "string", + "description": "The default sales account code for contacts" + }, + "PurchasesDefaultAccountCode": { + "title": "Purchases default account code", + "type": "string", + "description": "The default purchases account code for contacts" + }, + "SalesTrackingCategories": { + "title": "Sales tracking categories", + "type": "string", + "description": "The default sales tracking categories for contacts" + }, + "PurchasesTrackingCategories": { + "title": "Purchases tracking categories", + "type": "string", + "description": "The default purchases tracking categories for contacts" + }, + "TrackingCategoryName": { + "title": "Tracking category name", + "type": "string", + "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "TrackingOptionName": { + "title": "Tracking option name", + "type": "string", + "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "PaymentTerms": { + "title": "Payment terms", + "type": "string", + "description": "The default payment terms for the contact", + "default": "DAYSAFTERBILLDATE", + "enum": [ + "DAYSAFTERBILLDATE", + "DAYSAFTERBILLMONTH", + "OFCURRENTMONTH", + "OFFOLLOWINGMONTH" + ] + } + }, + "required": [ + "Name" + ] + } + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a contact", + "description": "Use this method to update a contact record. When you are updating a contact you don\u2019t need to specify every element. If you exclude an element then the existing value will be preserved.", + "operationId": "ContactsUpdate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Full name of contact or organization" + }, + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Xero identifier" + }, + "ContactNumber": { + "title": "Contact number", + "type": "string", + "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" + }, + "AccountNumber": { + "title": "Account number", + "type": "string", + "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" + }, + "ContactStatus": { + "title": "Contact status", + "type": "string", + "description": "Current status of a contact", + "enum": [ + "ACTIVE", + "ARCHIVED", + "GDPRREQUEST" + ] + }, + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "SkypeUserName": { + "title": "Skype user name", + "type": "string", + "description": "Skype user name of contact" + }, + "ContactPersons": { + "title": "Contact persons", + "type": "object", + "properties": { + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "IncludeInEmails": { + "title": "Include in emails", + "type": "boolean", + "description": "Whether contact should be included on emails with invoices etc.", + "enum": [ + true, + false + ] + } + } + }, + "BankAccountDetails": { + "title": "Bank account details", + "type": "string", + "description": "Bank account number of contact" + }, + "TaxNumber": { + "title": "Tax number", + "type": "string", + "description": "Tax number of contact (max length = 50)" + }, + "AccountsReceivableTaxType": { + "title": "Accounts receivable tax type", + "type": "string", + "description": "Default tax type used for contact on AR invoices" + }, + "AccountsPayableTaxType": { + "title": "Accounts payable tax type", + "type": "string", + "description": "Default tax type used for contact on AP invoices" + }, + "Addresses": { + "title": "Addresses", + "type": "string", + "description": "Either PO Box or Street or Delivery", + "default": "POBOX", + "enum": [ + "POBOX", + "STREET", + "DELIVERY" + ] + }, + "Phones": { + "title": "Phones", + "type": "string", + "description": "Store certain phone types for a contact", + "default": "DEFAULT", + "enum": [ + "DEFAULT", + "DDI", + "MOBILE", + "FAX" + ] + }, + "DefaultCurrency": { + "title": "Default currency", + "type": "string", + "description": "Default currency for raising invoices against contact" + }, + "XeroNetworkKey": { + "title": "XeroNetworkKey", + "type": "string", + "description": "Store XeroNetworkKey for contacts." + }, + "SalesDefaultAccountCode": { + "title": "Sales default account code", + "type": "string", + "description": "The default sales account code for contacts" + }, + "PurchasesDefaultAccountCode": { + "title": "Purchases default account code", + "type": "string", + "description": "The default purchases account code for contacts" + }, + "SalesTrackingCategories": { + "title": "Sales tracking categories", + "type": "string", + "description": "The default sales tracking categories for contacts" + }, + "PurchasesTrackingCategories": { + "title": "Purchases tracking categories", + "type": "string", + "description": "The default purchases tracking categories for contacts" + }, + "TrackingCategoryName": { + "title": "Tracking category name", + "type": "string", + "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "TrackingOptionName": { + "title": "Tracking option name", + "type": "string", + "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "PaymentTerms": { + "title": "Payment terms", + "type": "string", + "description": "The default payment terms for the contact", + "default": "DAYSAFTERBILLDATE", + "enum": [ + "DAYSAFTERBILLDATE", + "DAYSAFTERBILLMONTH", + "OFCURRENTMONTH", + "OFFOLLOWINGMONTH" + ] + } + }, + "required": [ + "Name" + ] + } + } + ] + } + }, + "/Contacts/{ContactID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a contact", + "description": "Get a single contact", + "operationId": "ContactsGetA", + "parameters": [ + { + "name": "ContactID", + "in": "path", + "required": true, + "type": "string", + "description": "Xero identifier" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + } + ] + } + }, + "/Invoices": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get invoices", + "description": "Get a list of invoices", + "operationId": "InvoicesGet", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create an invoice", + "description": "Use this method to create an invoice", + "operationId": "InvoicesCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Type": { + "title": "Type", + "type": "string", + "description": "Invoice Type", + "default": "ACCPAY", + "enum": [ + "ACCPAY", + "ACCREC" + ] + }, + "Contact": { + "title": "Contact", + "type": "object", + "properties": { + "ContactID": { + "title": "ContactID", + "type": "string", + "description": "The identifier of the contact" + } + } + }, + "LineItems": { + "title": "Line items", + "type": "object", + "description": "The LineItems collection can contain any number of individual LineItem sub-elements. At least one is required to create a complete Invoice.", + "properties": { + "Description": { + "title": "Description", + "type": "string", + "description": "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a Description element that contains at least 1 character (max length = 4000)" + }, + "Quantity": { + "title": "Quantity", + "type": "string", + "description": "LineItem Quantity (max length = 13)" + }, + "UnitAmount": { + "title": "UnitAmount", + "type": "string", + "description": "Lineitem unit amount. By default unit amount will be rounded to two decimal places." + }, + "ItemCode": { + "title": "ItemCode", + "type": "string", + "description": "User defined item code." + }, + "AccountCode": { + "title": "AccountCode", + "type": "string", + "description": "Customer defined alpha numeric account code e.g 200 or SALES" + }, + "TaxType": { + "title": "TaxType", + "type": "string", + "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct." + }, + "TaxAmount": { + "title": "TaxAmount", + "type": "string", + "description": "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated TaxAmount is not correct." + }, + "LineAmount": { + "title": "LineAmount", + "type": "string", + "description": "The line amount reflects the discounted price if a DiscountRate has been used" + }, + "DiscountRate or DiscountAmount": { + "title": "DiscountRate or DiscountAmount", + "type": "string", + "description": "Percentage discount or discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts" + }, + "Tracking": { + "title": "Tracking", + "type": "object", + "description": "Section for optional Tracking Category. Any LineItem can have a maximum of 2 TrackingCategory elements.", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Name of the tracking category" + }, + "Object": { + "title": "Object", + "type": "string", + "description": "Name of the option" + } + }, + "required": [ + "Name", + "Object" + ] + } + } + }, + "BrandingThemeID": { + "title": "Branding theme ID", + "type": "string", + "description": "Xero identifier" + }, + "CurrencyCode": { + "title": "Currency code", + "type": "string", + "description": "The currency that invoice has been raised in (see Currencies)" + }, + "CurrencyRate": { + "title": "Currency rate", + "type": "string", + "description": "The currency rate for a multicurrency invoice. (max length = 18)" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date invoice was issued - YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation" + }, + "DueDate": { + "title": "Due date", + "type": "string", + "description": "Date invoice is due - YYYY-MM-DD" + }, + "ExpectedPaymentDate": { + "title": "Expected payment date", + "type": "string", + "description": "Shown on sales invoices (Accounts Receivable) when this has been set" + }, + "InvoiceNumber": { + "title": "Invoice number", + "type": "string", + "description": "Code identifying invoice (max length = 255)" + }, + "LineAmountTypes": { + "title": "Line amount types", + "type": "string", + "description": "Line amounts are exclusive of tax by default if you don't specify this element.", + "default": "Exclusive", + "enum": [ + "Exclusive", + "Inclusive", + "No Tax" + ] + }, + "PlannedPaymentDate": { + "title": "Planned payment date", + "type": "string", + "description": "Shown on bills (Accounts Payable) when this has been set" + }, + "Reference": { + "title": "Reference", + "type": "string", + "description": "ACCREC only - additional reference number (max length = 255)" + }, + "SentToContact": { + "title": "Sent to contact", + "type": "string", + "description": "Boolean to set whether the invoice in the Xero app should be marked as \"sent\". This can be set only on invoices that have been approved" + }, + "Status": { + "title": "Status", + "type": "string", + "description": "Invoice status code.", + "default": "DRAFT", + "enum": [ + "DRAFT", + "SUBMITTED", + "AUTHORISED" + ] + }, + "Url": { + "title": "Url", + "type": "string", + "description": "URL link to a source document" + } + }, + "required": [ + "Type", + "Contact", + "LineItems" + ] + } + } + ] + } + }, + "/Invoices/{InvoiceID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve an invoice", + "description": "Use this method to retrieve one or many invoices.", + "operationId": "InvoicesGetA", + "parameters": [ + { + "name": "InvoiceID", + "in": "path", + "required": true, + "type": "string" + } + ] + } + }, + "/Payments/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get payments", + "description": "Use this method to retrieve all payments for invoices and credit notes.", + "operationId": "PaymentsGet", + "parameters": [] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a payment", + "description": "Use this method to apply payments to approved AR and AP invoices.", + "operationId": "PaymentsCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Invoice": { + "type": "object", + "properties": { + "InvoiceID": { + "title": "Invoice ID", + "type": "string", + "description": "Invoice identifier" + } + }, + "description": "Invoice" + }, + "Account": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "Account code" + } + }, + "description": "Account" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date" + }, + "Amount": { + "title": "Amount", + "type": "number", + "format": "float", + "description": "Amount" + } + } + } + } + ] + } + }, + "/Payments/{InvoiceID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "PaymentsGetA", + "summary": "Get a payment", + "description": "Use this method to retrieve one payment for invoices and credit notes", + "parameters": [ + { + "name": "InvoiceID", + "in": "path", + "required": true, + "type": "string" + } + ] + } + }, + "/PurchaseOrders": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get purchase orders", + "description": "Use this method to retrieve purchase orders.", + "operationId": "PurchaseOrdersGet", + "parameters": [] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a purchase order", + "description": "Use this method to create a purchase order", + "operationId": "PurchaseOrdersCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "PurchaseOrderNumber": { + "title": "Purchase order number", + "type": "string", + "description": "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date purchase order was issued - YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation" + }, + "DeliveryDate": { + "title": "Delivery date", + "type": "string", + "description": "Date the goods are to be delivered - YYYY-MM-DD" + }, + "Reference": { + "title": "Reference", + "type": "string", + "description": "Additional reference number" + }, + "Contact": { + "type": "object", + "properties": { + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Contact identifier" + } + }, + "description": "Contact" + }, + "BrandingThemeID": { + "title": "Branding theme ID", + "type": "string", + "description": "Branding theme identifier" + }, + "Status": { + "title": "Status", + "type": "string", + "description": "Purchase order status code", + "default": "DRAFT", + "enum": [ + "DRAFT", + "SUBMITTED", + "AUTHORISED", + "BILLED", + "DELETED" + ] + }, + "LineAmountTypes": { + "title": "Line amount types", + "type": "string", + "description": "Line amount types", + "default": "Exclusive", + "enum": [ + "Exclusive", + "Inclusive", + "No Tax" + ] + }, + "LineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ItemCode": { + "title": "Item code", + "type": "string", + "description": "Item code" + }, + "Description": { + "title": "Description", + "type": "string", + "description": "The description of the line item. A line item can be created with only a description (i.e no unit amount or quantity)" + }, + "UnitAmount": { + "title": "Unit amount", + "type": "number", + "format": "float", + "description": "Lineitem unit amount. Will be rounded to four decimal places" + }, + "TaxType": { + "title": "Tax type", + "type": "string", + "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct.", + "enum": [ + "CAPEXINPUT", + "CAPEXINPUT2", + "CAPEXOUTPUT", + "CAPEXOUTPUT2", + "CAPEXSRINPUT", + "CAPEXSROUTPUT", + "ECACQUISITIONS", + "ECZRINPUT", + "ECZROUTPUT", + "ECZROUTPUTSERVICES", + "EXEMPTINPUT", + "EXEMPTOUTPUT", + "GSTONIMPORTS", + "INPUT2", + "NONE", + "OUTPUT2", + "REVERSECHARGES", + "RRINPUT", + "RROUTPUT", + "SRINPUT", + "SROUTPUT", + "ZERORATEDINPUT", + "ZERORATEDOUTPUT" + ] + }, + "AccountCode": { + "title": "Ammount code", + "type": "string", + "description": "Account code" + }, + "Tracking": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Name" + }, + "Option": { + "title": "Option", + "type": "string", + "description": "Option" + } + } + }, + "description": "Tracking category" + }, + "Quantity": { + "title": "Quantity", + "type": "integer", + "format": "int32", + "description": "LineItem Quantity. If Quantity is specified then a UnitAmount must be specified" + }, + "DiscountRate": { + "title": "Discount rate", + "type": "string", + "description": "Percentage discount being applied to a line item" + } + } + }, + "description": "The Xero generated identifier for a LineItem." + }, + "CurrencyRate": { + "title": "Currency rate", + "type": "number", + "format": "float", + "description": "Currency rate" + }, + "CurrencyCode": { + "title": "Currency code", + "type": "string", + "description": "The currency that purchase order has been raised in. A 3 letter alpha code for the currency." + }, + "DeliveryAddress": { + "title": "Delivery address", + "type": "string", + "description": "The address the goods are to be delivered to." + }, + "AttentionTo": { + "title": "Attention to", + "type": "string", + "description": "The person that the delivery is going to." + }, + "Telephone": { + "title": "Telephone", + "type": "string", + "description": "The phone number for the person accepting the delivery." + }, + "DeliveryInstructions": { + "title": "Delivery instructions", + "type": "string", + "description": "A free text field for instructions (500 characters max)." + }, + "ExpectedArrivalDate": { + "title": "Expected arrival date", + "type": "string", + "description": "The date the goods are expected to arrive." + } + }, + "required": [ + "Contact", + "LineItems" + ] + } + } + ] + } + }, + "/PurchaseOrders/{PurchaseOrderID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a purchase order", + "description": "Use this method to retrieve one purchase order.", + "operationId": "PurchaseOrdersGetA", + "parameters": [ + { + "name": "PurchaseOrderID", + "in": "path", + "required": true, + "type": "string" + } + ] + } + }, + "/BankTransfers": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get bank transfers", + "description": "Allows you to retrieve any bank transfers", + "operationId": "BankTransfersGet", + "parameters": [] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a bank transfer", + "description": "Use this method to create a bank transfer", + "operationId": "BankTransferCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "BankTransfers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "FromBankAccount": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." + }, + "AccountID": { + "title": "Account ID", + "type": "string", + "description": "The ID of the Bank Account. If AccountID is not included then Code is required." + } + }, + "description": "From bank account code and account ID." + }, + "ToBankAccount": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." + }, + "AccountID": { + "title": "Account ID", + "type": "string", + "description": "The ID of the Bank Account. If AccountID is not included then Code is required." + } + }, + "description": "To bank account code and account ID." + }, + "Amount": { + "title": "Amount", + "type": "integer", + "format": "int32", + "description": "Transfer amount" + } + }, + "required": [ + "Amount" + ] + }, + "description": "BankTransfers" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "transfer date" + } + }, + "required": [ + "BankTransfers" + ] + } + } + ] + } + }, + "/BankTransfers/{BankTransferID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a bank transfer", + "parameters": [ + { + "name": "BankTransferID", + "in": "path", + "required": true, + "type": "string" + } + ], + "description": "Allows you to retrieve a bank transfer", + "operationId": "BankTransferGetA" + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://login.xero.com/identity/connect/authorize", + "tokenUrl": "https://identity.xero.com/connect/token", + "scopes": { + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ] + } + ], + "tags": [] +} diff --git a/independent-publisher-connectors/Xero Accounting/apiProperties.json b/independent-publisher-connectors/Xero Accounting/apiProperties.json new file mode 100644 index 0000000000..831d45caa2 --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/apiProperties.json @@ -0,0 +1,35 @@ +{ + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "C30BD41964B949D99FDAA6E4EC3BDDDC", + "scopes": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://login.xero.com/identity/connect/authorize" + }, + "tokenUrl": { + "value": "https://identity.xero.com/connect/token" + }, + "refreshUrl": { + "value": "https://identity.xero.com/connect/token" + } + } + } + } + }, + "iconBrandColor": "#ffffff", + "capabilities": [], + "publisher": "Hitachi Solutions" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png b/independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ba519834bfc4353cb97f71553687c5a7fe1899 GIT binary patch literal 9962 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 AP5=M^ literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png b/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4c4cc221374a61101b5e26d9f93ea579a4b377 GIT binary patch literal 25036 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 HpV Date: Wed, 2 Jun 2021 10:39:15 -0400 Subject: [PATCH 03/25] Revert "certify-connector" This reverts commit 5fb06db7f3e0ea67bd7da4c55b729ff2395ddf68. --- .../Getting Started with Xero App Webhooks.md | 10 - .../Xero Accounting/README.md | 84 -- .../apiDefinition.swagger.json | 1220 ----------------- .../Xero Accounting/apiProperties.json | 35 - .../Xero Accounting/jNtIA08Isl.png | Bin 9962 -> 0 bytes .../Xero Accounting/pCXxjPBIMe.png | Bin 25036 -> 0 bytes .../Xero Accounting/settings.json | 9 - .../Xero Payroll - UK/README.md | 70 - .../apiDefinition.swagger.json | 684 --------- .../Xero Payroll - UK/apiProperties.json | 35 - .../Xero Payroll - UK/settings.json | 9 - .../Xero Projects/README.md | 60 - .../Xero Projects/apiDefinition.swagger.json | 523 ------- .../Xero Projects/apiProperties.json | 35 - .../Xero Projects/settings.json | 9 - 15 files changed, 2783 deletions(-) delete mode 100644 independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md delete mode 100644 independent-publisher-connectors/Xero Accounting/README.md delete mode 100644 independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Accounting/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png delete mode 100644 independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png delete mode 100644 independent-publisher-connectors/Xero Accounting/settings.json delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/README.md delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/settings.json delete mode 100644 independent-publisher-connectors/Xero Projects/README.md delete mode 100644 independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Projects/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Projects/settings.json diff --git a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md deleted file mode 100644 index 27acedf0e7..0000000000 --- a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md +++ /dev/null @@ -1,10 +0,0 @@ -# Getting Started with Xero App webhooks -Currently, there is no API available that allows this custom connector to create triggers for flows. Start by creating a new Power Automate cloud flow using the 'When a HTTP request is received' trigger. - -![When a HTTP request is received trigger](jNtIA08Isl.png) - -After you save the flow, an Azure HTTP POST URL will be created and you will use this with your Xero app webhook. You will then have to use the Xero My Apps UI to [create the webhook(s)](https://developer.xero.com/documentation/webhooks/creating-webhooks). - -![Xero app webhook](pCXxjPBIMe.png) - -As there is only one notification URL allowed per app, to receive notifications about the second object you will need to create a second app. diff --git a/independent-publisher-connectors/Xero Accounting/README.md b/independent-publisher-connectors/Xero Accounting/README.md deleted file mode 100644 index 8fa5f0bb4f..0000000000 --- a/independent-publisher-connectors/Xero Accounting/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# Xero Accounting -The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. - -## Publisher: Hitachi Solutions - -## Prerequisites -To use this connector, you need the following - -- A Microsoft Power Apps or Power Automate plan with custom connector feature -- A Xero account with either the demo company or a paid subscription tenant -- A Xero developer account with a configured OAuth 2.0 application - -## Obtaining Credentials -After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. If you are going to build triggers for your Xero tenant, that configuration is on the Webhooks tab in this app. Since Xero allows for triggers based on contacts and invoices but only allows one URL per app, best practice is to create a second app to trigger the second object changes. - -## Getting Started -Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). In order to use Xero webhooks as triggers in Power Automate, follow this [guide](Getting Started with Xero App Webhooks.md). - -## API Documentation -[Xero Accounting API](https://developer.xero.com/documentation/api/api-overview) - -- [Bank Transfers](https://developer.xero.com/documentation/api/bank-transfers) -- [Contacts](https://developer.xero.com/documentation/api/contacts) -- [Invoices](https://developer.xero.com/documentation/api/invoices) -- [Payments](https://developer.xero.com/documentation/api/payments) -- [Purchase Orders](https://developer.xero.com/documentation/api/purchase-orders) - -## Supported Operations -This connector supports the following operations: - -### Action: Create a contact -Add a contact in a Xero organisation. - -### Action: Get a contact -Retrieve a contact in a Xero organisation. - -### Action: Get contacts -Retrieve a list of contacts in a Xero organisation. - -### Action: Update a contact -Update a contact in a Xero organisation. - -### Action: Get sales invoices -Retrieve sales invoices in a Xero organisation. - -### Action: Get a sales invoice -Retrieve a sales invoice in a Xero organisation. - -### Action: Create a payment -Apply a payment to approved AR and AP invoices. - -### Action: Get payments -Retrieve either a list of payments for invoices and credit notes. - -### Action: Get a payment -Retrieve either a payment for invoices and credit notes. - -### Action: Create a purchase order -Add a purchase order in a Xero organisation. - -### Action: Get a purchase order -Allows you to retrieve a purchase order. - -### Action: Get purchase orders -Allows you to retrieve purchase orders. - -### Action: Create a bank transfer -Create a bank transfer in a Xero organisation. - -### Action: Get a bank transfer -Retrieve a bank transfer in a Xero organisation. - -### Action: Get bank transfers -Retrieve a list of bank transfers in a Xero organisation. - - -## Known Issues and Limitations -There are no known issues at time of publishing. - -## Frequently Asked Questions - - -## Deployment Instructions -Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json deleted file mode 100644 index 9fe5d196c6..0000000000 --- a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json +++ /dev/null @@ -1,1220 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Xero Accounting", - "description": "Xero accounting software community connector.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.xero.com", - "basePath": "/api.xro/2.0/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/Contacts": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get contacts", - "description": "Get a list of contacts", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - } - ], - "operationId": "ContactsGet" - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a contact", - "description": "Use this method to create a contact record.", - "operationId": "ContactsCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Full name of contact or organization" - }, - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Xero identifier" - }, - "ContactNumber": { - "title": "Contact number", - "type": "string", - "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" - }, - "AccountNumber": { - "title": "Account number", - "type": "string", - "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" - }, - "ContactStatus": { - "title": "Contact status", - "type": "string", - "description": "Current status of a contact", - "enum": [ - "ACTIVE", - "ARCHIVED", - "GDPRREQUEST" - ] - }, - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "SkypeUserName": { - "title": "Skype user name", - "type": "string", - "description": "Skype user name of contact" - }, - "ContactPersons": { - "title": "Contact persons", - "type": "object", - "properties": { - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "IncludeInEmails": { - "title": "Include in emails", - "type": "boolean", - "description": "Whether contact should be included on emails with invoices etc.", - "enum": [ - true, - false - ] - } - } - }, - "BankAccountDetails": { - "title": "Bank account details", - "type": "string", - "description": "Bank account number of contact" - }, - "TaxNumber": { - "title": "Tax number", - "type": "string", - "description": "Tax number of contact (max length = 50)" - }, - "AccountsReceivableTaxType": { - "title": "Accounts receivable tax type", - "type": "string", - "description": "Default tax type used for contact on AR invoices" - }, - "AccountsPayableTaxType": { - "title": "Accounts payable tax type", - "type": "string", - "description": "Default tax type used for contact on AP invoices" - }, - "Addresses": { - "title": "Addresses", - "type": "string", - "description": "Either PO Box or Street or Delivery", - "default": "POBOX", - "enum": [ - "POBOX", - "STREET", - "DELIVERY" - ] - }, - "Phones": { - "title": "Phones", - "type": "string", - "description": "Store certain phone types for a contact", - "default": "DEFAULT", - "enum": [ - "DEFAULT", - "DDI", - "MOBILE", - "FAX" - ] - }, - "DefaultCurrency": { - "title": "Default currency", - "type": "string", - "description": "Default currency for raising invoices against contact" - }, - "XeroNetworkKey": { - "title": "XeroNetworkKey", - "type": "string", - "description": "Store XeroNetworkKey for contacts." - }, - "SalesDefaultAccountCode": { - "title": "Sales default account code", - "type": "string", - "description": "The default sales account code for contacts" - }, - "PurchasesDefaultAccountCode": { - "title": "Purchases default account code", - "type": "string", - "description": "The default purchases account code for contacts" - }, - "SalesTrackingCategories": { - "title": "Sales tracking categories", - "type": "string", - "description": "The default sales tracking categories for contacts" - }, - "PurchasesTrackingCategories": { - "title": "Purchases tracking categories", - "type": "string", - "description": "The default purchases tracking categories for contacts" - }, - "TrackingCategoryName": { - "title": "Tracking category name", - "type": "string", - "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "TrackingOptionName": { - "title": "Tracking option name", - "type": "string", - "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "PaymentTerms": { - "title": "Payment terms", - "type": "string", - "description": "The default payment terms for the contact", - "default": "DAYSAFTERBILLDATE", - "enum": [ - "DAYSAFTERBILLDATE", - "DAYSAFTERBILLMONTH", - "OFCURRENTMONTH", - "OFFOLLOWINGMONTH" - ] - } - }, - "required": [ - "Name" - ] - } - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a contact", - "description": "Use this method to update a contact record. When you are updating a contact you don\u2019t need to specify every element. If you exclude an element then the existing value will be preserved.", - "operationId": "ContactsUpdate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Full name of contact or organization" - }, - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Xero identifier" - }, - "ContactNumber": { - "title": "Contact number", - "type": "string", - "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" - }, - "AccountNumber": { - "title": "Account number", - "type": "string", - "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" - }, - "ContactStatus": { - "title": "Contact status", - "type": "string", - "description": "Current status of a contact", - "enum": [ - "ACTIVE", - "ARCHIVED", - "GDPRREQUEST" - ] - }, - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "SkypeUserName": { - "title": "Skype user name", - "type": "string", - "description": "Skype user name of contact" - }, - "ContactPersons": { - "title": "Contact persons", - "type": "object", - "properties": { - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "IncludeInEmails": { - "title": "Include in emails", - "type": "boolean", - "description": "Whether contact should be included on emails with invoices etc.", - "enum": [ - true, - false - ] - } - } - }, - "BankAccountDetails": { - "title": "Bank account details", - "type": "string", - "description": "Bank account number of contact" - }, - "TaxNumber": { - "title": "Tax number", - "type": "string", - "description": "Tax number of contact (max length = 50)" - }, - "AccountsReceivableTaxType": { - "title": "Accounts receivable tax type", - "type": "string", - "description": "Default tax type used for contact on AR invoices" - }, - "AccountsPayableTaxType": { - "title": "Accounts payable tax type", - "type": "string", - "description": "Default tax type used for contact on AP invoices" - }, - "Addresses": { - "title": "Addresses", - "type": "string", - "description": "Either PO Box or Street or Delivery", - "default": "POBOX", - "enum": [ - "POBOX", - "STREET", - "DELIVERY" - ] - }, - "Phones": { - "title": "Phones", - "type": "string", - "description": "Store certain phone types for a contact", - "default": "DEFAULT", - "enum": [ - "DEFAULT", - "DDI", - "MOBILE", - "FAX" - ] - }, - "DefaultCurrency": { - "title": "Default currency", - "type": "string", - "description": "Default currency for raising invoices against contact" - }, - "XeroNetworkKey": { - "title": "XeroNetworkKey", - "type": "string", - "description": "Store XeroNetworkKey for contacts." - }, - "SalesDefaultAccountCode": { - "title": "Sales default account code", - "type": "string", - "description": "The default sales account code for contacts" - }, - "PurchasesDefaultAccountCode": { - "title": "Purchases default account code", - "type": "string", - "description": "The default purchases account code for contacts" - }, - "SalesTrackingCategories": { - "title": "Sales tracking categories", - "type": "string", - "description": "The default sales tracking categories for contacts" - }, - "PurchasesTrackingCategories": { - "title": "Purchases tracking categories", - "type": "string", - "description": "The default purchases tracking categories for contacts" - }, - "TrackingCategoryName": { - "title": "Tracking category name", - "type": "string", - "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "TrackingOptionName": { - "title": "Tracking option name", - "type": "string", - "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "PaymentTerms": { - "title": "Payment terms", - "type": "string", - "description": "The default payment terms for the contact", - "default": "DAYSAFTERBILLDATE", - "enum": [ - "DAYSAFTERBILLDATE", - "DAYSAFTERBILLMONTH", - "OFCURRENTMONTH", - "OFFOLLOWINGMONTH" - ] - } - }, - "required": [ - "Name" - ] - } - } - ] - } - }, - "/Contacts/{ContactID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a contact", - "description": "Get a single contact", - "operationId": "ContactsGetA", - "parameters": [ - { - "name": "ContactID", - "in": "path", - "required": true, - "type": "string", - "description": "Xero identifier" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - } - ] - } - }, - "/Invoices": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get invoices", - "description": "Get a list of invoices", - "operationId": "InvoicesGet", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create an invoice", - "description": "Use this method to create an invoice", - "operationId": "InvoicesCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Type": { - "title": "Type", - "type": "string", - "description": "Invoice Type", - "default": "ACCPAY", - "enum": [ - "ACCPAY", - "ACCREC" - ] - }, - "Contact": { - "title": "Contact", - "type": "object", - "properties": { - "ContactID": { - "title": "ContactID", - "type": "string", - "description": "The identifier of the contact" - } - } - }, - "LineItems": { - "title": "Line items", - "type": "object", - "description": "The LineItems collection can contain any number of individual LineItem sub-elements. At least one is required to create a complete Invoice.", - "properties": { - "Description": { - "title": "Description", - "type": "string", - "description": "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a Description element that contains at least 1 character (max length = 4000)" - }, - "Quantity": { - "title": "Quantity", - "type": "string", - "description": "LineItem Quantity (max length = 13)" - }, - "UnitAmount": { - "title": "UnitAmount", - "type": "string", - "description": "Lineitem unit amount. By default unit amount will be rounded to two decimal places." - }, - "ItemCode": { - "title": "ItemCode", - "type": "string", - "description": "User defined item code." - }, - "AccountCode": { - "title": "AccountCode", - "type": "string", - "description": "Customer defined alpha numeric account code e.g 200 or SALES" - }, - "TaxType": { - "title": "TaxType", - "type": "string", - "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct." - }, - "TaxAmount": { - "title": "TaxAmount", - "type": "string", - "description": "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated TaxAmount is not correct." - }, - "LineAmount": { - "title": "LineAmount", - "type": "string", - "description": "The line amount reflects the discounted price if a DiscountRate has been used" - }, - "DiscountRate or DiscountAmount": { - "title": "DiscountRate or DiscountAmount", - "type": "string", - "description": "Percentage discount or discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts" - }, - "Tracking": { - "title": "Tracking", - "type": "object", - "description": "Section for optional Tracking Category. Any LineItem can have a maximum of 2 TrackingCategory elements.", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Name of the tracking category" - }, - "Object": { - "title": "Object", - "type": "string", - "description": "Name of the option" - } - }, - "required": [ - "Name", - "Object" - ] - } - } - }, - "BrandingThemeID": { - "title": "Branding theme ID", - "type": "string", - "description": "Xero identifier" - }, - "CurrencyCode": { - "title": "Currency code", - "type": "string", - "description": "The currency that invoice has been raised in (see Currencies)" - }, - "CurrencyRate": { - "title": "Currency rate", - "type": "string", - "description": "The currency rate for a multicurrency invoice. (max length = 18)" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date invoice was issued - YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation" - }, - "DueDate": { - "title": "Due date", - "type": "string", - "description": "Date invoice is due - YYYY-MM-DD" - }, - "ExpectedPaymentDate": { - "title": "Expected payment date", - "type": "string", - "description": "Shown on sales invoices (Accounts Receivable) when this has been set" - }, - "InvoiceNumber": { - "title": "Invoice number", - "type": "string", - "description": "Code identifying invoice (max length = 255)" - }, - "LineAmountTypes": { - "title": "Line amount types", - "type": "string", - "description": "Line amounts are exclusive of tax by default if you don't specify this element.", - "default": "Exclusive", - "enum": [ - "Exclusive", - "Inclusive", - "No Tax" - ] - }, - "PlannedPaymentDate": { - "title": "Planned payment date", - "type": "string", - "description": "Shown on bills (Accounts Payable) when this has been set" - }, - "Reference": { - "title": "Reference", - "type": "string", - "description": "ACCREC only - additional reference number (max length = 255)" - }, - "SentToContact": { - "title": "Sent to contact", - "type": "string", - "description": "Boolean to set whether the invoice in the Xero app should be marked as \"sent\". This can be set only on invoices that have been approved" - }, - "Status": { - "title": "Status", - "type": "string", - "description": "Invoice status code.", - "default": "DRAFT", - "enum": [ - "DRAFT", - "SUBMITTED", - "AUTHORISED" - ] - }, - "Url": { - "title": "Url", - "type": "string", - "description": "URL link to a source document" - } - }, - "required": [ - "Type", - "Contact", - "LineItems" - ] - } - } - ] - } - }, - "/Invoices/{InvoiceID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve an invoice", - "description": "Use this method to retrieve one or many invoices.", - "operationId": "InvoicesGetA", - "parameters": [ - { - "name": "InvoiceID", - "in": "path", - "required": true, - "type": "string" - } - ] - } - }, - "/Payments/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get payments", - "description": "Use this method to retrieve all payments for invoices and credit notes.", - "operationId": "PaymentsGet", - "parameters": [] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a payment", - "description": "Use this method to apply payments to approved AR and AP invoices.", - "operationId": "PaymentsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Invoice": { - "type": "object", - "properties": { - "InvoiceID": { - "title": "Invoice ID", - "type": "string", - "description": "Invoice identifier" - } - }, - "description": "Invoice" - }, - "Account": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "Account code" - } - }, - "description": "Account" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date" - }, - "Amount": { - "title": "Amount", - "type": "number", - "format": "float", - "description": "Amount" - } - } - } - } - ] - } - }, - "/Payments/{InvoiceID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "PaymentsGetA", - "summary": "Get a payment", - "description": "Use this method to retrieve one payment for invoices and credit notes", - "parameters": [ - { - "name": "InvoiceID", - "in": "path", - "required": true, - "type": "string" - } - ] - } - }, - "/PurchaseOrders": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get purchase orders", - "description": "Use this method to retrieve purchase orders.", - "operationId": "PurchaseOrdersGet", - "parameters": [] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a purchase order", - "description": "Use this method to create a purchase order", - "operationId": "PurchaseOrdersCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "PurchaseOrderNumber": { - "title": "Purchase order number", - "type": "string", - "description": "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date purchase order was issued - YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation" - }, - "DeliveryDate": { - "title": "Delivery date", - "type": "string", - "description": "Date the goods are to be delivered - YYYY-MM-DD" - }, - "Reference": { - "title": "Reference", - "type": "string", - "description": "Additional reference number" - }, - "Contact": { - "type": "object", - "properties": { - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Contact identifier" - } - }, - "description": "Contact" - }, - "BrandingThemeID": { - "title": "Branding theme ID", - "type": "string", - "description": "Branding theme identifier" - }, - "Status": { - "title": "Status", - "type": "string", - "description": "Purchase order status code", - "default": "DRAFT", - "enum": [ - "DRAFT", - "SUBMITTED", - "AUTHORISED", - "BILLED", - "DELETED" - ] - }, - "LineAmountTypes": { - "title": "Line amount types", - "type": "string", - "description": "Line amount types", - "default": "Exclusive", - "enum": [ - "Exclusive", - "Inclusive", - "No Tax" - ] - }, - "LineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ItemCode": { - "title": "Item code", - "type": "string", - "description": "Item code" - }, - "Description": { - "title": "Description", - "type": "string", - "description": "The description of the line item. A line item can be created with only a description (i.e no unit amount or quantity)" - }, - "UnitAmount": { - "title": "Unit amount", - "type": "number", - "format": "float", - "description": "Lineitem unit amount. Will be rounded to four decimal places" - }, - "TaxType": { - "title": "Tax type", - "type": "string", - "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct.", - "enum": [ - "CAPEXINPUT", - "CAPEXINPUT2", - "CAPEXOUTPUT", - "CAPEXOUTPUT2", - "CAPEXSRINPUT", - "CAPEXSROUTPUT", - "ECACQUISITIONS", - "ECZRINPUT", - "ECZROUTPUT", - "ECZROUTPUTSERVICES", - "EXEMPTINPUT", - "EXEMPTOUTPUT", - "GSTONIMPORTS", - "INPUT2", - "NONE", - "OUTPUT2", - "REVERSECHARGES", - "RRINPUT", - "RROUTPUT", - "SRINPUT", - "SROUTPUT", - "ZERORATEDINPUT", - "ZERORATEDOUTPUT" - ] - }, - "AccountCode": { - "title": "Ammount code", - "type": "string", - "description": "Account code" - }, - "Tracking": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Name" - }, - "Option": { - "title": "Option", - "type": "string", - "description": "Option" - } - } - }, - "description": "Tracking category" - }, - "Quantity": { - "title": "Quantity", - "type": "integer", - "format": "int32", - "description": "LineItem Quantity. If Quantity is specified then a UnitAmount must be specified" - }, - "DiscountRate": { - "title": "Discount rate", - "type": "string", - "description": "Percentage discount being applied to a line item" - } - } - }, - "description": "The Xero generated identifier for a LineItem." - }, - "CurrencyRate": { - "title": "Currency rate", - "type": "number", - "format": "float", - "description": "Currency rate" - }, - "CurrencyCode": { - "title": "Currency code", - "type": "string", - "description": "The currency that purchase order has been raised in. A 3 letter alpha code for the currency." - }, - "DeliveryAddress": { - "title": "Delivery address", - "type": "string", - "description": "The address the goods are to be delivered to." - }, - "AttentionTo": { - "title": "Attention to", - "type": "string", - "description": "The person that the delivery is going to." - }, - "Telephone": { - "title": "Telephone", - "type": "string", - "description": "The phone number for the person accepting the delivery." - }, - "DeliveryInstructions": { - "title": "Delivery instructions", - "type": "string", - "description": "A free text field for instructions (500 characters max)." - }, - "ExpectedArrivalDate": { - "title": "Expected arrival date", - "type": "string", - "description": "The date the goods are expected to arrive." - } - }, - "required": [ - "Contact", - "LineItems" - ] - } - } - ] - } - }, - "/PurchaseOrders/{PurchaseOrderID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a purchase order", - "description": "Use this method to retrieve one purchase order.", - "operationId": "PurchaseOrdersGetA", - "parameters": [ - { - "name": "PurchaseOrderID", - "in": "path", - "required": true, - "type": "string" - } - ] - } - }, - "/BankTransfers": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get bank transfers", - "description": "Allows you to retrieve any bank transfers", - "operationId": "BankTransfersGet", - "parameters": [] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a bank transfer", - "description": "Use this method to create a bank transfer", - "operationId": "BankTransferCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "BankTransfers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "FromBankAccount": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." - }, - "AccountID": { - "title": "Account ID", - "type": "string", - "description": "The ID of the Bank Account. If AccountID is not included then Code is required." - } - }, - "description": "From bank account code and account ID." - }, - "ToBankAccount": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." - }, - "AccountID": { - "title": "Account ID", - "type": "string", - "description": "The ID of the Bank Account. If AccountID is not included then Code is required." - } - }, - "description": "To bank account code and account ID." - }, - "Amount": { - "title": "Amount", - "type": "integer", - "format": "int32", - "description": "Transfer amount" - } - }, - "required": [ - "Amount" - ] - }, - "description": "BankTransfers" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "transfer date" - } - }, - "required": [ - "BankTransfers" - ] - } - } - ] - } - }, - "/BankTransfers/{BankTransferID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a bank transfer", - "parameters": [ - { - "name": "BankTransferID", - "in": "path", - "required": true, - "type": "string" - } - ], - "description": "Allows you to retrieve a bank transfer", - "operationId": "BankTransferGetA" - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://login.xero.com/identity/connect/authorize", - "tokenUrl": "https://identity.xero.com/connect/token", - "scopes": { - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ] - } - ], - "tags": [] -} diff --git a/independent-publisher-connectors/Xero Accounting/apiProperties.json b/independent-publisher-connectors/Xero Accounting/apiProperties.json deleted file mode 100644 index 831d45caa2..0000000000 --- a/independent-publisher-connectors/Xero Accounting/apiProperties.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "C30BD41964B949D99FDAA6E4EC3BDDDC", - "scopes": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://login.xero.com/identity/connect/authorize" - }, - "tokenUrl": { - "value": "https://identity.xero.com/connect/token" - }, - "refreshUrl": { - "value": "https://identity.xero.com/connect/token" - } - } - } - } - }, - "iconBrandColor": "#ffffff", - "capabilities": [], - "publisher": "Hitachi Solutions" - } -} \ No newline at end of file diff --git a/independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png b/independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png deleted file mode 100644 index c1ba519834bfc4353cb97f71553687c5a7fe1899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9962 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 AP5=M^ diff --git a/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png b/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png deleted file mode 100644 index fb4c4cc221374a61101b5e26d9f93ea579a4b377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25036 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 HpV Date: Wed, 2 Jun 2021 10:39:20 -0400 Subject: [PATCH 04/25] Revert "certify-connector" This reverts commit 160b208ed6202cb979f15eaae99eca33088faf88. --- .../HubSpot CMS/README.md | 46 - .../HubSpot CMS/apiDefinition.swagger.json | 534 -- .../HubSpot CMS/apiProperties.json | 74 - .../HubSpot CMS/settings.json | 9 - .../Getting Started with HubSpot Workflows | 25 - .../HubSpot CRM/README.md | 169 - .../HubSpot CRM/apiDefinition.swagger.json | 6297 ----------------- .../HubSpot CRM/apiProperties.json | 74 - .../HubSpot CRM/msedge_KE1O1FSJEg.png | Bin 13077 -> 0 bytes .../HubSpot CRM/msedge_Kl4ymVJGp0.png | Bin 24590 -> 0 bytes .../HubSpot CRM/settings.json | 9 - .../HubSpot Marketing/README.md | 58 - .../apiDefinition.swagger.json | 1444 ---- .../HubSpot Marketing/apiProperties.json | 74 - .../HubSpot Marketing/settings.json | 9 - 15 files changed, 8822 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot CMS/README.md delete mode 100644 independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot CMS/apiProperties.json delete mode 100644 independent-publisher-connectors/HubSpot CMS/settings.json delete mode 100644 independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows delete mode 100644 independent-publisher-connectors/HubSpot CRM/README.md delete mode 100644 independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot CRM/apiProperties.json delete mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png delete mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png delete mode 100644 independent-publisher-connectors/HubSpot CRM/settings.json delete mode 100644 independent-publisher-connectors/HubSpot Marketing/README.md delete mode 100644 independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot Marketing/apiProperties.json delete mode 100644 independent-publisher-connectors/HubSpot Marketing/settings.json diff --git a/independent-publisher-connectors/HubSpot CMS/README.md b/independent-publisher-connectors/HubSpot CMS/README.md deleted file mode 100644 index d20a72bc11..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# HubSpot CRM -HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. CMS Hub powers your website with a CMS that makes it easy to grow better. Developers build using flexible themes and content structures. Marketers easily edit and create pages on their own. Customers get a personalized, secure experience. - -## Publisher: Hitachi Solutions - -## Prerequisites -A paid or trial HubSpot account. - -## Supported Operations - -### Pages -#### List pages (V2) -Get all of your pages. -#### Create a new page (V2) -Create a new page. -#### Update a page (V2) -Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields. -#### Delete a page (V2) -Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint. -#### Publish or unpublish a page (V2) -Either publishes or cancels publishing based on the POSTed JSON. - -### Templates -#### List templates (V2) -Get all templates. -#### Create a new template (V2) -Create a new coded template object in Design Manager. -#### Update the template (V2) -Updates a template. If not all the fields are included in the body, we will only update the included fields. -#### Delete the template (V2) -Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint. - -## Obtaining Credentials -A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json deleted file mode 100644 index dcf1ffc99a..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ /dev/null @@ -1,534 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HubSpot CMS", - "description": "", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/content/api/v2/pages": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List pages (V2)", - "description": "Get all of your pages. Supports paging and filtering.", - "operationId": "PagesList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20 - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "enum": [ - false, - true - ] - }, - { - "name": "id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "in": "query", - "required": false, - "type": "string" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a new page (V2)", - "description": "Create a new page.", - "operationId": "PagesCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "campaign": { - "title": "Campaign", - "type": "string", - "description": "campaign" - }, - "campaign_name": { - "title": "Campaign name", - "type": "string", - "description": "campaign_name" - }, - "footer_html": { - "title": "Footer HTML", - "type": "string", - "description": "footer_html" - }, - "head_html": { - "title": "Head HTML", - "type": "string", - "description": "head_html" - }, - "is_draft": { - "title": "Is draft", - "type": "string", - "description": "is_draft" - }, - "meta_description": { - "title": "Meta description", - "type": "string", - "description": "meta_description" - }, - "meta_keywords": { - "title": "Meta keywords", - "type": "string", - "description": "meta_keywords" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "password": { - "title": "Password", - "type": "string", - "description": "password" - }, - "publish_date": { - "title": "Publish date", - "type": "string", - "description": "publish_date" - }, - "publish_immediately": { - "title": "Publish immediately", - "type": "string", - "description": "publish_immediately" - }, - "slug": { - "title": "Slug", - "type": "string", - "description": "slug" - }, - "subcategory": { - "title": "Subcategory", - "type": "string", - "description": "subcategory" - }, - "widget_containers": { - "title": "Widget containers", - "type": "string", - "description": "widget_containers" - }, - "widgets": { - "title": "Widgets", - "type": "string", - "description": "widgets" - } - } - } - } - ] - } - }, - "/content/api/v2/pages/{page_id}": { - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a page (V2)", - "description": "Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint.", - "operationId": "PagesArchive", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a page (V2)", - "description": "Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields.", - "operationId": "PagesUpdate", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "campaign": { - "title": "Campaign", - "type": "string", - "description": "campaign" - }, - "campaign_name": { - "title": "Campaign name", - "type": "string", - "description": "campaign_name" - }, - "footer_html": { - "title": "Footer HTML", - "type": "string", - "description": "footer_html" - }, - "head_html": { - "title": "Head HTML", - "type": "string", - "description": "head_html" - }, - "is_draft": { - "title": "Is draft", - "type": "string", - "description": "is_draft" - }, - "meta_description": { - "title": "Meta description", - "type": "string", - "description": "meta_description" - }, - "meta_keywords": { - "title": "Meta keywords", - "type": "string", - "description": "meta_keywords" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "password": { - "title": "Password", - "type": "string", - "description": "password" - }, - "publish_date": { - "title": "Publish date", - "type": "string", - "description": "publish_date" - }, - "publish_immediately": { - "title": "Publish immediately", - "type": "string", - "description": "publish_immediately" - }, - "slug": { - "title": "Slug", - "type": "string", - "description": "slug" - }, - "subcategory": { - "title": "Subcategory", - "type": "string", - "description": "subcategory" - }, - "widget_containers": { - "title": "Widget containers", - "type": "string", - "description": "widget_containers" - }, - "widgets": { - "title": "Widgets", - "type": "string", - "description": "widgets" - } - } - } - } - ] - } - }, - "/content/api/v2/pages/{page_id}/publish-action": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Publish or unpublish a page (V2)", - "description": "Either publishes or cancels publishing based on the POSTed JSON.", - "operationId": "PagesPublish", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "action", - "title": "", - "enum": [ - "push-buffer-live", - "schedule-publish", - "cancel-publish" - ] - } - }, - "required": [ - "action" - ] - } - } - ] - } - }, - "/content/api/v2/templates": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List templates (V2)", - "description": "Get all templates.", - "operationId": "TemplatesList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20 - }, - { - "name": "id", - "in": "query", - "required": false, - "type": "string" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a new template (V2)", - "description": "Create a new coded template object in Design Manager.", - "operationId": "TemplatesCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "category_id": { - "type": "integer", - "format": "int32", - "description": "category_id", - "title": "", - "enum": [ - 0, - 1, - 2, - 3, - 4 - ] - }, - "folder": { - "title": "Folder", - "type": "string", - "description": "folder" - }, - "is_available_for_new_content": { - "type": "boolean", - "description": "is_available_for_new_content", - "title": "", - "default": false, - "enum": [ - false, - true - ] - }, - "template_type": { - "type": "integer", - "format": "int32", - "description": "template_type", - "title": "", - "enum": [ - 2, - 4, - 6, - 11, - 12, - 13, - 14, - 19 - ] - }, - "path": { - "title": "Path", - "type": "string", - "description": "path" - }, - "source": { - "title": "Source", - "type": "string", - "description": "source" - } - } - } - } - ] - } - }, - "/content/api/v2/templates/{template_id}": { - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a template (V2)", - "description": "Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint.", - "operationId": "TemplatesArchive", - "parameters": [ - { - "name": "template_id", - "in": "path", - "required": true, - "type": "string" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a template (V2)", - "description": "Updates a template. If not all the fields are included in the body, we will only update the included fields.", - "operationId": "TemplatesUpdate", - "parameters": [ - { - "name": "template_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "source": { - "title": "Source", - "type": "string", - "description": "source" - } - }, - "required": [ - "source" - ] - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - ] - } - ], - "tags": [] -} diff --git a/independent-publisher-connectors/HubSpot CMS/apiProperties.json b/independent-publisher-connectors/HubSpot CMS/apiProperties.json deleted file mode 100644 index 079ab11263..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/apiProperties.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions" -} diff --git a/independent-publisher-connectors/HubSpot CMS/settings.json b/independent-publisher-connectors/HubSpot CMS/settings.json deleted file mode 100644 index 47da330984..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_hubspot-20cms-5f1a2efd764356a300-5fb3182c161023f139", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file diff --git a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows deleted file mode 100644 index 0f8884c654..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows +++ /dev/null @@ -1,25 +0,0 @@ -# Getting Started with HubSpot Workflows and Power Automate - -In order to use HubSpot Workflows as a trigger with Power Automate, you will need to first configure a instant cloud flow using the 'When a HTTP request is received' [trigger](https://docs.microsoft.com/en-us/learn/modules/http-connectors/4-http-request). After saving the flow, the trigger will populate with a HTTP Post URL you will use later with your HubSpot Workflow. - -![Example of HTTP request trigger](msedge_Kl4ymVJGp0.png) - -It is highly recommended that a separate flow be created for each HubSpot object workflow in order to minimize JSON parse errors, e.g. workflows for new contacts and contact updates, with best practice being separate flows for each object action. An example using the default HubSpot fields for contacts can be [found here](Contact%20JSON.json). Keep in mind that if your HubSpot object have any custom fields or you later add custom fields, you will need to generate the schema again using the new JSON payload. - -[HubSpot Workflows](https://knowledge.hubspot.com/workflows/create-workflows) can be found on the menu bar in your HubSpot account. You can create workflows for any object that your account has access to: - - - Contacts - - Companies - - Deals - - Conversations - - Quotes (with Sales Hub Enterprise) - - Tickets (with Service Hub Professional or Enterprise) - - Custom objects (Enterprise only) - -Similar to Power Automate, Workflows are built using a trigger and subsequent actions. - -![Example of a contact workflow with trigger filters needing to be set](msedge_KE1O1FSJEg.png) - -A trigger can only select one HubSpot object to monitor, but within that object, multiple filters can selected using any of the object fields with And and Or rules. Once your trigger is configured, you will need to add a 'Trigger Webhook' action. In the Webhook URL textbox, add the URL the flow trigger generated and click Save. You will now need to review the workflow configuration and turn the workflow on to start triggers to Power Automate. - -The HTTP call from HubSpot is queued, so expect a delay of 10 seconds or more before the Power Automate trigger starts. diff --git a/independent-publisher-connectors/HubSpot CRM/README.md b/independent-publisher-connectors/HubSpot CRM/README.md deleted file mode 100644 index b702a87fe0..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/README.md +++ /dev/null @@ -1,169 +0,0 @@ -# HubSpot CRM -HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. Powerful sales CRM software to help teams close more deals, deepen relationships, and manage their pipeline more effectively — all on one easy-to-use platform. - -## Publisher: Hitachi Solutions - -## Prerequisites -A paid or trial HubSpot account. - -## Supported Operations - -### Companies - -#### List companies -Return a list of companies. -#### Create a company -Create a company with the given properties and return a copy of the object, including the ID. -#### Get a company -Read a company identified by {companyId}. -#### Update a company -Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a company -Move a company identified by {companyId} to the recycling bin. - -### Contacts - -#### List contacts -Read a list of contacts. -#### Create a contact -Create a contact with the given properties and return a copy of the object, including the ID. -#### Get a contact -Read a contact identified by {contactId}. -#### Update a contact -Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a contact -Move a contact identified by {contactId} to the recycling bin. - -### Deals - -#### List deals -Return a list of deals. -#### Create a deal -Create a deal with the given properties and return a copy of the object, including the ID. -#### Get a deal -Read a deal identified by {dealId}. -#### Update a deal -Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a deal -Move a deal identified by {dealId} to the recycling bin. - -### Products - -#### List products -Return a list of products. -#### Create a product -Create a product with the given properties and return a copy of the object, including the ID. -#### Get a product -Read a product identified by {productId}. -#### Update a product -Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a product -Move a product identified by {productId} to the recycling bin. - -### Owners - -#### List owners -Return a list of owners. -#### Get an owner -Read an owner by given id or userId. - -### Pipelines - -#### List pipelines -Return all pipelines for the object type specified by {objectType}. -#### Create a pipeline -Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response. -#### Get a pipeline -Return a single pipeline object identified by its unique {pipelineId}. -#### Update a pipeline -Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response. -#### Replace a pipeline -Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response. -#### Delete a pipeline -Move a pipeline identified by {pipelineId} to the recycling bin. - -### Pipeline Stages - -#### Create a pipeline stage -Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response. -#### Get a pipeline stage -Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}. -#### Update a pipeline stage -Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response. -#### Replace a pipeline stage -Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response. -#### Delete a pipeline stage -Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. - -### Properties - -#### List properties -Read all existing properties for the specified object type and HubSpot account. -#### Create a property -Create and return a copy of a new property for the specified object type. -#### Get a property -Read a property identified by {propertyName}. -#### Update a property -Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten. -#### Delete a property -Move a property identified by {propertyName} to the recycling bin. - -### Line Items - -#### List line items -Return a list of line items. Control what is returned via the properties query param. -#### Create a line item -Create a line item with the given properties and return a copy of the object, including the ID. -#### Get a line item -Read a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. -#### Update a line item -Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a line item -Move an Object identified by {lineItemId} to the recycling bin. - -### Tickets - -#### List tickets -Read a list of tickets. Control what is returned via the properties query param. -#### Create a ticket -Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided. -#### Get a ticket -Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. -#### Update a ticket -Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Archive a ticket -Move a ticket identified by {ticketId} to the recycling bin. - -### Search - -#### Search Companies -Perform a search across companies. -#### Search Contacts -Perform a search across contacts. -#### Search Deals -Perform a search across deals. -#### Search Products -Perform a search across products. -#### Search Tickets -Perform a search across tickets. -#### Search Line Items -Perform a search across line items. -#### Search Quotes -The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across quotes. -#### Search Custom Objects -Perform a search across custom objects. - -## Obtaining Credentials -A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json deleted file mode 100644 index 5429bbcd5c..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json +++ /dev/null @@ -1,6297 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Default title", - "description": "HubSpot\u2019s CRM is a system for managing customer relationships and storing data. The CRM custom connector provides access to CRM objects or groups of objects, which are represented as a map of property names to values.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/crm/v3/objects/companies": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List companies", - "description": "Return a list of companies.", - "operationId": "CompaniesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a company", - "description": "Create a company with the given properties and return a copy of the object, including the ID.", - "operationId": "CompaniesCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "about_us": { - "title": "About usAbout Us", - "type": "string", - "description": "about_us" - }, - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "address2": { - "title": "Address 2", - "type": "string", - "description": "address2" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "domain": { - "title": "Domain", - "type": "string", - "description": "domain" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "facebook_company_page": { - "title": "Facebook company page", - "type": "string", - "description": "facebook_company_page" - }, - "facebookfans": { - "title": "Facebook fans", - "type": "string", - "description": "facebookfans" - }, - "first_contact_createdate": { - "title": "first contact create date", - "type": "string", - "description": "first_contact_createdate" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "founded_year": { - "title": "Founded year", - "type": "string", - "description": "founded_year" - }, - "googleplus_page": { - "title": "GooglePlus page", - "type": "string", - "description": "googleplus_page" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_ideal_customer_profile": { - "title": "HubSpot ideal customer profile", - "type": "string", - "description": "hs_ideal_customer_profile" - }, - "hs_is_target_account": { - "title": "HubSpot is target account", - "type": "string", - "description": "hs_is_target_account" - }, - "hs_last_booked_meeting_date": { - "title": "HubSpot last booked meeting date", - "type": "string", - "description": "hs_last_booked_meeting_date" - }, - "hs_last_logged_call_date": { - "title": "HubSpot last logged call date", - "type": "string", - "description": "hs_last_logged_call_date" - }, - "hs_last_open_task_date": { - "title": "HubSpot last open task date", - "type": "string", - "description": "hs_last_open_task_date" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_num_blockers": { - "title": "HubSpot number of blockers", - "type": "string", - "description": "hs_num_blockers" - }, - "hs_num_child_companies": { - "title": "HubSpot number of child companies", - "type": "string", - "description": "hs_num_child_companies" - }, - "hs_num_contacts_with_buying_roles": { - "title": "HubSpot number of contacts with buying roles", - "type": "string", - "description": "hs_num_contacts_with_buying_roles" - }, - "hs_num_decision_makers": { - "title": "HubSpot number of decision makers", - "type": "string", - "description": "hs_num_decision_makers" - }, - "hs_num_open_deals": { - "title": "HubSpot number of open deals", - "type": "string", - "description": "hs_num_open_deals" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_parent_company_id": { - "title": "HubSpot parent company ID", - "type": "string", - "description": "hs_parent_company_id" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_total_deal_value": { - "title": "HubSpot total deal value", - "type": "string", - "description": "hs_total_deal_value" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "is_public": { - "title": "Is public", - "type": "string", - "description": "is_public" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "linkedin_company_page": { - "title": "LinkedIn company page", - "type": "string", - "description": "linkedin_company_page" - }, - "linkedinbio": { - "title": "LinkedIn bio", - "type": "string", - "description": "linkedinbio" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "numberofemployees": { - "title": "Number of employees", - "type": "string", - "description": "numberofemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "timezone": { - "title": "Timezone", - "type": "string", - "description": "timezone" - }, - "total_money_raised": { - "title": "Total money raised", - "type": "string", - "description": "total_money_raised" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterbio": { - "title": "Twitter bio", - "type": "string", - "description": "twitterbio" - }, - "twitterfollowers": { - "title": "Twitter followers", - "type": "string", - "description": "twitterfollowers" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "web_technologies": { - "title": "Web technologies", - "type": "string", - "description": "web_technologies" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - }, - "required": [ - "name" - ] - } - } - } - } - ] - } - }, - "/crm/v3/objects/companies/{companyId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a company", - "description": "Read a company identified by {companyId}.", - "operationId": "CompaniesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company", - "x-ms-visibility": "important" - }, - { - "name": "properies", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "description": "Whether to return only companies that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a company", - "description": "Move a company identified by {companyId} to the recycling bin.", - "operationId": "CompaniesArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a company", - "description": "Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "CompaniesUpdate", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company.", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "about_us": { - "title": "About us", - "type": "string", - "description": "about_us" - }, - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "address2": { - "title": "Address 2", - "type": "string", - "description": "address2" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "domain": { - "title": "Domain", - "type": "string", - "description": "domain" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "facebook_company_page": { - "title": "Facebook company page", - "type": "string", - "description": "facebook_company_page" - }, - "facebookfans": { - "title": "Facebook fans", - "type": "string", - "description": "facebookfans" - }, - "first_contact_createdate": { - "title": "first contact create date", - "type": "string", - "description": "first_contact_createdate" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "founded_year": { - "title": "Founded year", - "type": "string", - "description": "founded_year" - }, - "googleplus_page": { - "title": "GooglePlus page", - "type": "string", - "description": "googleplus_page" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_ideal_customer_profile": { - "title": "HubSpot ideal customer profile", - "type": "string", - "description": "hs_ideal_customer_profile" - }, - "hs_is_target_account": { - "title": "HubSpot is target account", - "type": "string", - "description": "hs_is_target_account" - }, - "hs_last_booked_meeting_date": { - "title": "HubSpot last booked meeting date", - "type": "string", - "description": "hs_last_booked_meeting_date" - }, - "hs_last_logged_call_date": { - "title": "HubSpot last logged call date", - "type": "string", - "description": "hs_last_logged_call_date" - }, - "hs_last_open_task_date": { - "title": "HubSpot last open task date", - "type": "string", - "description": "hs_last_open_task_date" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_num_blockers": { - "title": "HubSpot number of blockers", - "type": "string", - "description": "hs_num_blockers" - }, - "hs_num_child_companies": { - "title": "HubSpot number of child companies", - "type": "string", - "description": "hs_num_child_companies" - }, - "hs_num_contacts_with_buying_roles": { - "title": "HubSpot number of contacts with buying roles", - "type": "string", - "description": "hs_num_contacts_with_buying_roles" - }, - "hs_num_decision_makers": { - "title": "HubSpot number of decision makers", - "type": "string", - "description": "hs_num_decision_makers" - }, - "hs_num_open_deals": { - "title": "HubSpot number of open deals", - "type": "string", - "description": "hs_num_open_deals" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_parent_company_id": { - "title": "HubSpot parent company ID", - "type": "string", - "description": "hs_parent_company_id" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_total_deal_value": { - "title": "HubSpot total deal value", - "type": "string", - "description": "hs_total_deal_value" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "is_public": { - "title": "Is public", - "type": "string", - "description": "is_public" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "linkedin_company_page": { - "title": "LinkedIn company page", - "type": "string", - "description": "linkedin_company_page" - }, - "linkedinbio": { - "title": "LinkedIn bio", - "type": "string", - "description": "linkedinbio" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "numberofemployees": { - "title": "Number of employees", - "type": "string", - "description": "numberofemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "timezone": { - "title": "Timezone", - "type": "string", - "description": "timezone" - }, - "total_money_raised": { - "title": "Total money raised", - "type": "string", - "description": "total_money_raised" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterbio": { - "title": "Twitter bio", - "type": "string", - "description": "twitterbio" - }, - "twitterfollowers": { - "title": "Twitter followers", - "type": "string", - "description": "twitterfollowers" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "web_technologies": { - "title": "Web technologies", - "type": "string", - "description": "web_technologies" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - }, - "required": [ - "name" - ] - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List contacts", - "description": "Read a list of contacts.", - "operationId": "ContactsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": true, - "type": "integer", - "default": 10, - "x-ms-visibility": "important", - "description": "The maximum number of results to return" - }, - { - "name": "properties[]", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a contact", - "description": "Create a contact with the given properties and return a copy of the object, including the ID.", - "operationId": "ContactsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "company": { - "title": "Company", - "type": "string", - "description": "company" - }, - "company_size": { - "title": "Company size", - "type": "string", - "description": "company_size" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "currentlyinworkflow": { - "title": "Currenly in workflow", - "type": "string", - "description": "currentlyinworkflow" - }, - "date_of_birth": { - "title": "Date of birth", - "type": "string", - "description": "date_of_birth" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "degree": { - "title": "Degree", - "type": "string", - "description": "degree" - }, - "email": { - "title": "Email", - "type": "string", - "description": "email" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "fax": { - "title": "Fax", - "type": "string", - "description": "fax" - }, - "field_of_study": { - "title": "Field of study", - "type": "string", - "description": "field_of_study" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "firstname": { - "title": "First name", - "type": "string", - "description": "firstname" - }, - "gender": { - "title": "Gender", - "type": "string", - "description": "gender" - }, - "graduation_date": { - "title": "Graduation date", - "type": "string", - "description": "graduation_date" - }, - "hs_analytics_average_page_views": { - "title": "HubSpot analytics average page views", - "type": "string", - "description": "hs_analytics_average_page_views" - }, - "hs_analytics_first_referrer": { - "title": "HubSpot analytics first referrer", - "type": "string", - "description": "hs_analytics_first_referrer" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_url": { - "title": "HubSpot analytics first URL", - "type": "string", - "description": "hs_analytics_first_url" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_referrer": { - "title": "HubSpot analytics last referrer", - "type": "string", - "description": "hs_analytics_last_referrer" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_url": { - "title": "HubSpot analytics last URL", - "type": "string", - "description": "hs_analytics_last_url" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_event_completions": { - "title": "HubSpot analytics number of event completions", - "type": "string", - "description": "hs_analytics_num_event_completions" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_revenue": { - "title": "HubSpot analytics revenue", - "type": "string", - "description": "hs_analytics_revenue" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_buying_role": { - "title": "HubSpot buying role", - "type": "string", - "description": "hs_buying_role" - }, - "hs_content_membership_email_confirmed": { - "title": "HubSpot content membership email confirmed", - "type": "string", - "description": "hs_content_membership_email_confirmed" - }, - "hs_content_membership_notes": { - "title": "HubSpot content membership notes", - "type": "string", - "description": "hs_content_membership_notes" - }, - "hs_content_membership_registered_at": { - "title": "HubSpot content membership registered at", - "type": "string", - "description": "hs_content_membership_registered_at" - }, - "hs_content_membership_registration_domain_sent_to": { - "title": "HubSpot content membership registration domain sent to", - "type": "string", - "description": "hs_content_membership_registration_domain_sent_to" - }, - "hs_content_membership_registration_email_sent_at": { - "title": "HubSpot content membership registration email sent at", - "type": "string", - "description": "hs_content_membership_registration_email_sent_at" - }, - "hs_content_membership_status": { - "title": "HubSpot content membership status", - "type": "string", - "description": "hs_content_membership_status" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_email_bad_address": { - "title": "HubSpot email bad address", - "type": "string", - "description": "hs_email_bad_address" - }, - "hs_email_bounce": { - "title": "HubSpot email bounce", - "type": "string", - "description": "hs_email_bounce" - }, - "hs_email_click": { - "title": "HubSpot email click", - "type": "string", - "description": "hs_email_click" - }, - "hs_email_customer_quarantined_reason": { - "title": "HubSpot email customer quarnatined reason", - "type": "string", - "description": "hs_email_customer_quarantined_reason" - }, - "hs_email_delivered": { - "title": "HubSpot email delivered", - "type": "string", - "description": "hs_email_delivered" - }, - "hs_email_domain": { - "title": "Domain", - "type": "string", - "description": "hs_email_domain" - }, - "hs_email_first_click_date": { - "title": "HubSpot email first click date", - "type": "string", - "description": "hs_email_first_click_date" - }, - "hs_email_first_open_date": { - "title": "HubSpot email first open date", - "type": "string", - "description": "hs_email_first_open_date" - }, - "hs_email_first_reply_date": { - "title": "HubSpot email first reply date", - "type": "string", - "description": "hs_email_first_reply_date" - }, - "hs_email_first_send_date": { - "title": "HubSpot email first send date", - "type": "string", - "description": "hs_email_first_send_date" - }, - "hs_email_hard_bounce_reason_enum": { - "title": "HubSpot email hard bounce reason enumerated", - "type": "string", - "description": "hs_email_hard_bounce_reason_enum" - }, - "hs_email_last_click_date": { - "title": "HubSpot email last click date", - "type": "string", - "description": "hs_email_last_click_date" - }, - "hs_email_last_email_name": { - "title": "HubSpot email last email name", - "type": "string", - "description": "hs_email_last_email_name" - }, - "hs_email_last_open_date": { - "title": "HubSpot email last open date", - "type": "string", - "description": "hs_email_last_open_date" - }, - "hs_email_last_reply_date": { - "title": "HubSpot email last reply date", - "type": "string", - "description": "hs_email_last_reply_date" - }, - "hs_email_last_send_date": { - "title": "HubSpot email last send date", - "type": "string", - "description": "hs_email_last_send_date" - }, - "hs_email_open": { - "title": "HubSpot email open", - "type": "string", - "description": "hs_email_open" - }, - "hs_email_optout": { - "title": "HubSpot email optout", - "type": "string", - "description": "hs_email_optout" - }, - "hs_email_optout_12592317": { - "title": "HubSpot email optout 12592317", - "type": "string", - "description": "hs_email_optout_12592317" - }, - "hs_email_quarantined": { - "title": "HubSpot email quarantied", - "type": "string", - "description": "hs_email_quarantined" - }, - "hs_email_quarantined_reason": { - "title": "HubSpot email quarantied reason", - "type": "string", - "description": "hs_email_quarantined_reason" - }, - "hs_email_replied": { - "title": "HubSpot email replied", - "type": "string", - "description": "hs_email_replied" - }, - "hs_email_sends_since_last_engagement": { - "title": "HubSpot email sends since last engagement", - "type": "string", - "description": "hs_email_sends_since_last_engagement" - }, - "hs_emailconfirmationstatus": { - "title": "HubSpot email confirmation status", - "type": "string", - "description": "hs_emailconfirmationstatus" - }, - "hs_facebook_click_id": { - "title": "HubSpot Facebook click ID", - "type": "string", - "description": "hs_facebook_click_id" - }, - "hs_feedback_last_nps_follow_up": { - "title": "HubSpot feecback last NPS follow up", - "type": "string", - "description": "hs_feedback_last_nps_follow_up" - }, - "hs_feedback_last_nps_rating": { - "title": "HubSpot feedback last NPS rating", - "type": "string", - "description": "hs_feedback_last_nps_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_google_click_id": { - "title": "HubSpot Google click ID", - "type": "string", - "description": "hs_google_click_id" - }, - "hs_ip_timezone": { - "title": "HubSpot IP timezone", - "type": "string", - "description": "hs_ip_timezone" - }, - "hs_is_unworked": { - "title": "HubSpot is unworked", - "type": "string", - "description": "hs_is_unworked" - }, - "hs_language": { - "title": "HubSpot language", - "type": "string", - "description": "hs_language" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_legal_basis": { - "title": "HubSpot legal basis", - "type": "string", - "description": "hs_legal_basis" - }, - "hs_lifecyclestage_customer_date": { - "title": "HubSpot lifecycle stage customer date", - "type": "string", - "description": "hs_lifecyclestage_customer_date" - }, - "hs_lifecyclestage_evangelist_date": { - "title": "HubSpot lifecycle stage evangelist date", - "type": "string", - "description": "hs_lifecyclestage_evangelist_date" - }, - "hs_lifecyclestage_lead_date": { - "title": "HubSpot lifecycle stage lead date", - "type": "string", - "description": "hs_lifecyclestage_lead_date" - }, - "hs_lifecyclestage_marketingqualifiedlead_date": { - "title": "HubSpot lifecycle stage marketing qualitifed lead date", - "type": "string", - "description": "hs_lifecyclestage_marketingqualifiedlead_date" - }, - "hs_lifecyclestage_opportunity_date": { - "title": "HubSpot lifecycle stage opportunity date", - "type": "string", - "description": "hs_lifecyclestage_opportunity_date" - }, - "hs_lifecyclestage_other_date": { - "title": "HubSpot lifecycle stage other date", - "type": "string", - "description": "hs_lifecyclestage_other_date" - }, - "hs_lifecyclestage_salesqualifiedlead_date": { - "title": "HubSpot lifecycle stage sales qualified lead date", - "type": "string", - "description": "hs_lifecyclestage_salesqualifiedlead_date" - }, - "hs_lifecyclestage_subscriber_date": { - "title": "HubSpot lifecycle stage subscriber date", - "type": "string", - "description": "hs_lifecyclestage_subscriber_date" - }, - "hs_marketable_reason_id": { - "title": "HubSpot marketable reason ID", - "type": "string", - "description": "hs_marketable_reason_id" - }, - "hs_marketable_reason_type": { - "title": "HubSpot marketable reason type", - "type": "string", - "description": "hs_marketable_reason_type" - }, - "hs_marketable_status": { - "title": "HubSpot marketable status", - "type": "string", - "description": "hs_marketable_status" - }, - "hs_marketable_until_renewal": { - "title": "HubSpot marketable until renewal", - "type": "string", - "description": "hs_marketable_until_renewal" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_persona": { - "title": "HubSpot persona", - "type": "string", - "description": "hs_persona" - }, - "hs_predictivecontactscore": { - "title": "HubSpot predictive contact score", - "type": "string", - "description": "hs_predictivecontactscore" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_predictivecontactscorebucket": { - "title": "HubSpot predictive contact score bucket", - "type": "string", - "description": "hs_predictivecontactscorebucket" - }, - "hs_predictivescoringtier": { - "title": "HubSpot predictive scoring tier", - "type": "string", - "description": "hs_predictivescoringtier" - }, - "hs_sales_email_last_clicked": { - "title": "HubSpot sales email last clicked", - "type": "string", - "description": "hs_sales_email_last_clicked" - }, - "hs_sales_email_last_opened": { - "title": "HubSpot sales email last opened", - "type": "string", - "description": "hs_sales_email_last_opened" - }, - "hs_sales_email_last_replied": { - "title": "HubSpot sales email last replied", - "type": "string", - "description": "hs_sales_email_last_replied" - }, - "hs_sequences_is_enrolled": { - "title": "HubSpot sequences is enrolled", - "type": "string", - "description": "hs_sequences_is_enrolled" - }, - "hs_time_between_contact_creation_and_deal_close": { - "title": "HubSpot time between contact creation and deal close", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_close" - }, - "hs_time_between_contact_creation_and_deal_creation": { - "title": "HubSpot time between contact creation and deal creation", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_creation" - }, - "hs_time_to_move_from_lead_to_customer": { - "title": "HubSpot time to move from lead to customer", - "type": "string", - "description": "hs_time_to_move_from_lead_to_customer" - }, - "hs_time_to_move_from_marketingqualifiedlead_to_customer": { - "title": "HubSpot time to move from marketing qualitfied lead to customer", - "type": "string", - "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" - }, - "hs_time_to_move_from_opportunity_to_customer": { - "title": "HubSpot time to move from opportunity to customer", - "type": "string", - "description": "hs_time_to_move_from_opportunity_to_customer" - }, - "hs_time_to_move_from_salesqualifiedlead_to_customer": { - "title": "HubSpot time to move from sales qualified lead to customer", - "type": "string", - "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" - }, - "hs_time_to_move_from_subscriber_to_customer": { - "title": "HubSpot time to move from subscriber to customer", - "type": "string", - "description": "hs_time_to_move_from_subscriber_to_customer" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "hubspotscore": { - "title": "HubSpot score", - "type": "string", - "description": "hubspotscore" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "ip_city": { - "title": "IP city", - "type": "string", - "description": "ip_city" - }, - "ip_country": { - "title": "IP country", - "type": "string", - "description": "ip_country" - }, - "ip_country_code": { - "title": "IP country code", - "type": "string", - "description": "ip_country_code" - }, - "ip_state": { - "title": "IP state", - "type": "string", - "description": "ip_state" - }, - "ip_state_code": { - "title": "IP state code", - "type": "string", - "description": "ip_state_code" - }, - "job_function": { - "title": "Job function", - "type": "string", - "description": "job_function" - }, - "jobtitle": { - "title": "Job title", - "type": "string", - "description": "jobtitle" - }, - "lastmodifieddate": { - "title": "Last modified date", - "type": "string", - "description": "lastmodifieddate" - }, - "lastname": { - "title": "Last name", - "type": "string", - "description": "lastname" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "marital_status": { - "title": "Marital status", - "type": "string", - "description": "marital_status" - }, - "message": { - "title": "Message", - "type": "string", - "description": "message" - }, - "military_status": { - "title": "Military statusMilitary status", - "type": "string", - "description": "military_status" - }, - "mobilephone": { - "title": "Mobile phone", - "type": "string", - "description": "mobilephone" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "num_unique_conversion_events": { - "title": "Number of unique conversion events", - "type": "string", - "description": "num_unique_conversion_events" - }, - "numemployees": { - "title": "Number of employees", - "type": "string", - "description": "numemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "relationship_status": { - "title": "Relations status", - "type": "string", - "description": "relationship_status" - }, - "salutation": { - "title": "Salutation", - "type": "string", - "description": "salutation" - }, - "school": { - "title": "School", - "type": "string", - "description": "school" - }, - "seniority": { - "title": "Seniority", - "type": "string", - "description": "seniority" - }, - "start_date": { - "title": "Start date", - "type": "string", - "description": "start_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "work_email": { - "title": "Work email", - "type": "string", - "description": "work_email" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts/{contactId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a contact", - "description": "Read a contact identified by {contactId}.", - "operationId": "ContactsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The contactId for the contact" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a contact", - "description": "Move a contact identified by {contactId} to the recycling bin.", - "operationId": "ContactsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "description": "The contactId of the contact", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a contact", - "description": "Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "ContactsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "description": "The contactId of the contact", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "company": { - "title": "Company", - "type": "string", - "description": "company" - }, - "company_size": { - "title": "Company size", - "type": "string", - "description": "company_size" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "currentlyinworkflow": { - "title": "Currenly in workflow", - "type": "string", - "description": "currentlyinworkflow" - }, - "date_of_birth": { - "title": "Date of birth", - "type": "string", - "description": "date_of_birth" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "degree": { - "title": "Degree", - "type": "string", - "description": "degree" - }, - "email": { - "title": "Email", - "type": "string", - "description": "email" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "fax": { - "title": "Fax", - "type": "string", - "description": "fax" - }, - "field_of_study": { - "title": "Field of study", - "type": "string", - "description": "field_of_study" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "firstname": { - "title": "First name", - "type": "string", - "description": "firstname" - }, - "gender": { - "title": "Gender", - "type": "string", - "description": "gender" - }, - "graduation_date": { - "title": "Graduation date", - "type": "string", - "description": "graduation_date" - }, - "hs_analytics_average_page_views": { - "title": "HubSpot analytics average page views", - "type": "string", - "description": "hs_analytics_average_page_views" - }, - "hs_analytics_first_referrer": { - "title": "HubSpot analytics first referrer", - "type": "string", - "description": "hs_analytics_first_referrer" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_url": { - "title": "HubSpot analytics first URL", - "type": "string", - "description": "hs_analytics_first_url" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_referrer": { - "title": "HubSpot analytics last referrer", - "type": "string", - "description": "hs_analytics_last_referrer" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_url": { - "title": "HubSpot analytics last URL", - "type": "string", - "description": "hs_analytics_last_url" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_event_completions": { - "title": "HubSpot analytics number of event completions", - "type": "string", - "description": "hs_analytics_num_event_completions" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_revenue": { - "title": "HubSpot analytics revenue", - "type": "string", - "description": "hs_analytics_revenue" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_buying_role": { - "title": "HubSpot buying role", - "type": "string", - "description": "hs_buying_role" - }, - "hs_content_membership_email_confirmed": { - "title": "HubSpot content membership email confirmed", - "type": "string", - "description": "hs_content_membership_email_confirmed" - }, - "hs_content_membership_notes": { - "title": "HubSpot content membership notes", - "type": "string", - "description": "hs_content_membership_notes" - }, - "hs_content_membership_registered_at": { - "title": "HubSpot content membership registered at", - "type": "string", - "description": "hs_content_membership_registered_at" - }, - "hs_content_membership_registration_domain_sent_to": { - "title": "HubSpot content membership registration domain sent to", - "type": "string", - "description": "hs_content_membership_registration_domain_sent_to" - }, - "hs_content_membership_registration_email_sent_at": { - "title": "HubSpot content membership registration email sent at", - "type": "string", - "description": "hs_content_membership_registration_email_sent_at" - }, - "hs_content_membership_status": { - "title": "HubSpot content membership status", - "type": "string", - "description": "hs_content_membership_status" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_email_bad_address": { - "title": "HubSpot email bad address", - "type": "string", - "description": "hs_email_bad_address" - }, - "hs_email_bounce": { - "title": "HubSpot email bounce", - "type": "string", - "description": "hs_email_bounce" - }, - "hs_email_click": { - "title": "HubSpot email click", - "type": "string", - "description": "hs_email_click" - }, - "hs_email_customer_quarantined_reason": { - "title": "HubSpot email customer quarnatined reason", - "type": "string", - "description": "hs_email_customer_quarantined_reason" - }, - "hs_email_delivered": { - "title": "HubSpot email delivered", - "type": "string", - "description": "hs_email_delivered" - }, - "hs_email_domain": { - "title": "Domain", - "type": "string", - "description": "hs_email_domain" - }, - "hs_email_first_click_date": { - "title": "HubSpot email first click date", - "type": "string", - "description": "hs_email_first_click_date" - }, - "hs_email_first_open_date": { - "title": "HubSpot email first open date", - "type": "string", - "description": "hs_email_first_open_date" - }, - "hs_email_first_reply_date": { - "title": "HubSpot email first reply date", - "type": "string", - "description": "hs_email_first_reply_date" - }, - "hs_email_first_send_date": { - "title": "HubSpot email first send date", - "type": "string", - "description": "hs_email_first_send_date" - }, - "hs_email_hard_bounce_reason_enum": { - "title": "HubSpot email hard bounce reason enumerated", - "type": "string", - "description": "hs_email_hard_bounce_reason_enum" - }, - "hs_email_last_click_date": { - "title": "HubSpot email last click date", - "type": "string", - "description": "hs_email_last_click_date" - }, - "hs_email_last_email_name": { - "title": "HubSpot email last email name", - "type": "string", - "description": "hs_email_last_email_name" - }, - "hs_email_last_open_date": { - "title": "HubSpot email last open date", - "type": "string", - "description": "hs_email_last_open_date" - }, - "hs_email_last_reply_date": { - "title": "HubSpot email last reply date", - "type": "string", - "description": "hs_email_last_reply_date" - }, - "hs_email_last_send_date": { - "title": "HubSpot email last send date", - "type": "string", - "description": "hs_email_last_send_date" - }, - "hs_email_open": { - "title": "HubSpot email open", - "type": "string", - "description": "hs_email_open" - }, - "hs_email_optout": { - "title": "HubSpot email optout", - "type": "string", - "description": "hs_email_optout" - }, - "hs_email_optout_12592317": { - "title": "HubSpot email optout 12592317", - "type": "string", - "description": "hs_email_optout_12592317" - }, - "hs_email_quarantined": { - "title": "HubSpot email quarantied", - "type": "string", - "description": "hs_email_quarantined" - }, - "hs_email_quarantined_reason": { - "title": "HubSpot email quarantied reason", - "type": "string", - "description": "hs_email_quarantined_reason" - }, - "hs_email_replied": { - "title": "HubSpot email replied", - "type": "string", - "description": "hs_email_replied" - }, - "hs_email_sends_since_last_engagement": { - "title": "HubSpot email sends since last engagement", - "type": "string", - "description": "hs_email_sends_since_last_engagement" - }, - "hs_emailconfirmationstatus": { - "title": "HubSpot email confirmation status", - "type": "string", - "description": "hs_emailconfirmationstatus" - }, - "hs_facebook_click_id": { - "title": "HubSpot Facebook click ID", - "type": "string", - "description": "hs_facebook_click_id" - }, - "hs_feedback_last_nps_follow_up": { - "title": "HubSpot feecback last NPS follow up", - "type": "string", - "description": "hs_feedback_last_nps_follow_up" - }, - "hs_feedback_last_nps_rating": { - "title": "HubSpot feedback last NPS rating", - "type": "string", - "description": "hs_feedback_last_nps_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_google_click_id": { - "title": "HubSpot Google click ID", - "type": "string", - "description": "hs_google_click_id" - }, - "hs_ip_timezone": { - "title": "HubSpot IP timezoneHubSpot IP timezone", - "type": "string", - "description": "hs_ip_timezone" - }, - "hs_is_unworked": { - "title": "HubSpot is unworked", - "type": "string", - "description": "hs_is_unworked" - }, - "hs_language": { - "title": "HubSpot language", - "type": "string", - "description": "hs_language" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_legal_basis": { - "title": "HubSpot legal basis", - "type": "string", - "description": "hs_legal_basis" - }, - "hs_lifecyclestage_customer_date": { - "title": "HubSpot lifecycle stage customer date", - "type": "string", - "description": "hs_lifecyclestage_customer_date" - }, - "hs_lifecyclestage_evangelist_date": { - "title": "HubSpot lifecycle stage evangelist date", - "type": "string", - "description": "hs_lifecyclestage_evangelist_date" - }, - "hs_lifecyclestage_lead_date": { - "title": "HubSpot lifecycle stage lead date", - "type": "string", - "description": "hs_lifecyclestage_lead_date" - }, - "hs_lifecyclestage_marketingqualifiedlead_date": { - "title": "HubSpot lifecycle stage marketing qualitifed lead date", - "type": "string", - "description": "hs_lifecyclestage_marketingqualifiedlead_date" - }, - "hs_lifecyclestage_opportunity_date": { - "title": "HubSpot lifecycle stage opportunity date", - "type": "string", - "description": "hs_lifecyclestage_opportunity_date" - }, - "hs_lifecyclestage_other_date": { - "title": "HubSpot lifecycle stage other date", - "type": "string", - "description": "hs_lifecyclestage_other_date" - }, - "hs_lifecyclestage_salesqualifiedlead_date": { - "title": "HubSpot lifecycle stage sales qualified lead date", - "type": "string", - "description": "hs_lifecyclestage_salesqualifiedlead_date" - }, - "hs_lifecyclestage_subscriber_date": { - "title": "HubSpot lifecycle stage subscriber date", - "type": "string", - "description": "hs_lifecyclestage_subscriber_date" - }, - "hs_marketable_reason_id": { - "title": "HubSpot marketable reason ID", - "type": "string", - "description": "hs_marketable_reason_id" - }, - "hs_marketable_reason_type": { - "title": "HubSpot marketable reason type", - "type": "string", - "description": "hs_marketable_reason_type" - }, - "hs_marketable_status": { - "title": "HubSpot marketable status", - "type": "string", - "description": "hs_marketable_status" - }, - "hs_marketable_until_renewal": { - "title": "HubSpot marketable until renewal", - "type": "string", - "description": "hs_marketable_until_renewal" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_persona": { - "title": "HubSpot persona", - "type": "string", - "description": "hs_persona" - }, - "hs_predictivecontactscore": { - "title": "HubSpot predictive contact score", - "type": "string", - "description": "hs_predictivecontactscore" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_predictivecontactscorebucket": { - "title": "HubSpot predictive contact score bucket", - "type": "string", - "description": "hs_predictivecontactscorebucket" - }, - "hs_predictivescoringtier": { - "title": "HubSpot predictive scoring tier", - "type": "string", - "description": "hs_predictivescoringtier" - }, - "hs_sales_email_last_clicked": { - "title": "HubSpot sales email last clicked", - "type": "string", - "description": "hs_sales_email_last_clicked" - }, - "hs_sales_email_last_opened": { - "title": "HubSpot sales email last opened", - "type": "string", - "description": "hs_sales_email_last_opened" - }, - "hs_sales_email_last_replied": { - "title": "HubSpot sales email last replied", - "type": "string", - "description": "hs_sales_email_last_replied" - }, - "hs_sequences_is_enrolled": { - "title": "HubSpot sequences is enrolled", - "type": "string", - "description": "hs_sequences_is_enrolled" - }, - "hs_time_between_contact_creation_and_deal_close": { - "title": "HubSpot time between contact creation and deal close", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_close" - }, - "hs_time_between_contact_creation_and_deal_creation": { - "title": "HubSpot time between contact creation and deal creation", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_creation" - }, - "hs_time_to_move_from_lead_to_customer": { - "title": "HubSpot time to move from lead to customer", - "type": "string", - "description": "hs_time_to_move_from_lead_to_customer" - }, - "hs_time_to_move_from_marketingqualifiedlead_to_customer": { - "title": "HubSpot time to move from marketing qualitfied lead to customer", - "type": "string", - "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" - }, - "hs_time_to_move_from_opportunity_to_customer": { - "title": "HubSpot time to move from opportunity to customer", - "type": "string", - "description": "hs_time_to_move_from_opportunity_to_customer" - }, - "hs_time_to_move_from_salesqualifiedlead_to_customer": { - "title": "HubSpot time to move from sales qualified lead to customer", - "type": "string", - "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" - }, - "hs_time_to_move_from_subscriber_to_customer": { - "title": "HubSpot time to move from subscriber to customer", - "type": "string", - "description": "hs_time_to_move_from_subscriber_to_customer" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "hubspotscore": { - "title": "HubSpot score", - "type": "string", - "description": "hubspotscore" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "ip_city": { - "title": "IP city", - "type": "string", - "description": "ip_city" - }, - "ip_country": { - "title": "IP country", - "type": "string", - "description": "ip_country" - }, - "ip_country_code": { - "title": "IP country code", - "type": "string", - "description": "ip_country_code" - }, - "ip_state": { - "title": "IP state", - "type": "string", - "description": "ip_state" - }, - "ip_state_code": { - "title": "IP state code", - "type": "string", - "description": "ip_state_code" - }, - "job_function": { - "title": "Job function", - "type": "string", - "description": "job_function" - }, - "jobtitle": { - "title": "Job title", - "type": "string", - "description": "jobtitle" - }, - "lastmodifieddate": { - "title": "Last modified date", - "type": "string", - "description": "lastmodifieddate" - }, - "lastname": { - "title": "Last name", - "type": "string", - "description": "lastname" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "marital_status": { - "title": "Marital status", - "type": "string", - "description": "marital_status" - }, - "message": { - "title": "Message", - "type": "string", - "description": "message" - }, - "military_status": { - "title": "Military status", - "type": "string", - "description": "military_status" - }, - "mobilephone": { - "title": "Mobile phone", - "type": "string", - "description": "mobilephone" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "num_unique_conversion_events": { - "title": "Number of unique conversion events", - "type": "string", - "description": "num_unique_conversion_events" - }, - "numemployees": { - "title": "Number of employees", - "type": "string", - "description": "numemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "relationship_status": { - "title": "Relations status", - "type": "string", - "description": "relationship_status" - }, - "salutation": { - "title": "Salutation", - "type": "string", - "description": "salutation" - }, - "school": { - "title": "School", - "type": "string", - "description": "school" - }, - "seniority": { - "title": "Seniority", - "type": "string", - "description": "seniority" - }, - "start_date": { - "title": "Start date", - "type": "string", - "description": "start_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "work_email": { - "title": "Work email", - "type": "string", - "description": "work_email" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List deals", - "description": "Return a list of deals", - "operationId": "DealsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a deal", - "description": "Create a deal with the given properties and return a copy of the object, including the ID.", - "operationId": "DealsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "type": "string", - "description": "amount" - }, - "amount_in_home_currency": { - "title": "Amount in home currency", - "type": "string", - "description": "amount_in_home_currency" - }, - "closed_lost_reason": { - "title": "Closed lost reason", - "type": "string", - "description": "closed_lost_reason" - }, - "closed_won_reason": { - "title": "Closed won reason", - "type": "string", - "description": "closed_won_reason" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "dealname": { - "title": "Deal name", - "type": "string", - "description": "dealname" - }, - "dealstage": { - "title": "Deal stage", - "type": "string", - "description": "dealstage" - }, - "dealtype": { - "title": "Deal type", - "type": "string", - "description": "dealtype" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "hs_acv": { - "title": "ACV", - "type": "string", - "description": "hs_acv" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_arr": { - "title": "HubSpot annual recurring revenue", - "type": "string", - "description": "hs_arr" - }, - "hs_forecast_amount": { - "title": "HubSpot forecast amount", - "type": "string", - "description": "hs_forecast_amount" - }, - "hs_forecast_probability": { - "title": "HubSpot forecast probability", - "type": "string", - "description": "hs_forecast_probability" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_manual_forecast_category": { - "title": "HubSpot manual forecast category", - "type": "string", - "description": "hs_manual_forecast_category" - }, - "hs_mrr": { - "title": "HubSpot monthly reoccuring revenue", - "type": "string", - "description": "hs_mrr" - }, - "hs_next_step": { - "title": "HubSpot next step", - "type": "string", - "description": "hs_next_step" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_priority": { - "title": "HubSpot priority", - "type": "string", - "description": "hs_priority" - }, - "hs_tcv": { - "title": "HubSpot total contract value", - "type": "string", - "description": "hs_tcv" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "pipeline": { - "title": "Pipeline", - "type": "string", - "description": "pipeline" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals/{dealId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a deal", - "description": "Read a deal identified by {dealId}.", - "operationId": "DealsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string", - "description": "The dealId of the deal", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a deal", - "description": "Move a deal identified by {dealId} to the recycling bin.", - "operationId": "DealsArchive", - "x-ms-visibility": "advanced", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string", - "description": "The dealId of the deal", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a deal", - "description": "Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "DealsUpdate", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "type": "string", - "description": "amount" - }, - "amount_in_home_currency": { - "title": "Amount in home currency", - "type": "string", - "description": "amount_in_home_currency" - }, - "closed_lost_reason": { - "title": "Closed lost reason", - "type": "string", - "description": "closed_lost_reason" - }, - "closed_won_reason": { - "title": "Closed won reason", - "type": "string", - "description": "closed_won_reason" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "dealname": { - "title": "Deal name", - "type": "string", - "description": "dealname" - }, - "dealstage": { - "title": "Deal stage", - "type": "string", - "description": "dealstage" - }, - "dealtype": { - "title": "Deal type", - "type": "string", - "description": "dealtype" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "hs_acv": { - "title": "ACV", - "type": "string", - "description": "hs_acv" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_arr": { - "title": "HubSpot annual recurring revenue", - "type": "string", - "description": "hs_arr" - }, - "hs_forecast_amount": { - "title": "HubSpot forecast amount", - "type": "string", - "description": "hs_forecast_amount" - }, - "hs_forecast_probability": { - "title": "HubSpot forecast probability", - "type": "string", - "description": "hs_forecast_probability" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_manual_forecast_category": { - "title": "HubSpot manual forecast category", - "type": "string", - "description": "hs_manual_forecast_category" - }, - "hs_mrr": { - "title": "HubSpot monthly reoccuring revenue", - "type": "string", - "description": "hs_mrr" - }, - "hs_next_step": { - "title": "HubSpot next step", - "type": "string", - "description": "hs_next_step" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_priority": { - "title": "HubSpot priority", - "type": "string", - "description": "hs_priority" - }, - "hs_tcv": { - "title": "HubSpot total contract value", - "type": "string", - "description": "hs_tcv" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "pipeline": { - "title": "Pipeline", - "type": "string", - "description": "pipeline" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/products": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List products", - "description": "Return a list of products", - "operationId": "ProductsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "x-ms-visibility": "advanced" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ], - "x-ms-visibility": "important" - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a product", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "hs_cost_of_goods_sold": { - "title": "HubSpot cost of goods sold", - "type": "string", - "description": "hs_cost_of_goods_sold" - }, - "hs_created_by_user_id": { - "title": "HubSpot created by user ID", - "type": "string", - "description": "hs_created_by_user_id" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_images": { - "title": "HubSpot images", - "type": "string", - "description": "hs_images" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "hs_sku": { - "title": "HubSpot SKU", - "type": "string", - "description": "hs_sku" - }, - "hs_updated_by_user_id": { - "title": "HubSpot updated by user ID", - "type": "string", - "description": "hs_updated_by_user_id" - }, - "hs_url": { - "title": "HubSpot URL", - "type": "string", - "description": "hs_url" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "tax": { - "title": "Tax", - "type": "string", - "description": "tax" - } - } - } - } - } - } - ], - "description": "Create a product with the given properties and return a copy of the object, including the ID.", - "operationId": "ProductsCreate", - "x-ms-visibility": "important" - } - }, - "/crm/v3/objects/products/{productId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a product", - "description": "Read a product identified by {productId}.", - "operationId": "ProductsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productId of the product", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a product", - "description": "Move a product identified by {productId} to the recycling bin.", - "operationId": "ProductsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productID of the product", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a product", - "description": "Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "ProductsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productId of the product", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "hs_cost_of_goods_sold": { - "title": "HubSpot cost of goods sold", - "type": "string", - "description": "hs_cost_of_goods_sold" - }, - "hs_created_by_user_id": { - "title": "HubSpot created by user ID", - "type": "string", - "description": "hs_created_by_user_id" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_images": { - "title": "HubSpot images", - "type": "string", - "description": "hs_images" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "hs_sku": { - "title": "HubSpot SKU", - "type": "string", - "description": "hs_sku" - }, - "hs_updated_by_user_id": { - "title": "HubSpot updated by user ID", - "type": "string", - "description": "hs_updated_by_user_id" - }, - "hs_url": { - "title": "HubSpot URL", - "type": "string", - "description": "hs_url" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "tax": { - "title": "Tax", - "type": "string", - "description": "tax" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/owners/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List owners", - "operationId": "OwnersList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 100, - "x-ms-visibility": "important", - "description": "The maximum number of results to return." - }, - { - "name": "email", - "in": "query", - "required": false, - "type": "string", - "description": "Filter by email address", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Filter by email address", - "x-ms-visibility": "advanced" - } - ], - "description": "Get a page of owners" - } - }, - "/crm/v3/owners/{ownerId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get an owner", - "description": "Read an owner by given id or userId", - "operationId": "OwnersRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ownerId", - "in": "path", - "required": true, - "type": "string", - "description": "The ownerId of the owner", - "x-ms-visibility": "important" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "default": "id", - "x-ms-visibility": "advanced", - "enum": [ - "id", - "userId" - ] - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List pipelines", - "description": "Return all pipelines for the object type specified by {objectType}.", - "operationId": "PipelinesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the pipelines", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a pipeline", - "description": "Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response.", - "operationId": "PipelinesCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "content-type: application/json", - "x-ms-visibility": "internal" - }, - { - "name": "stages", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "stages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A unique label used to organize pipelines in HubSpot's UI", - "default": "New Pipeline", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "default": 0, - "x-ms-visibility": "important" - }, - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - } - }, - "required": [ - "displayOrder", - "label", - "metadata" - ] - }, - "description": "stages" - } - }, - "required": [ - "stages" - ] - } - } - } - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a pipeline", - "description": "Return a single pipeline object identified by its unique {pipelineId}.", - "operationId": "PipelinesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a pipeline", - "description": "Archive the pipeline identified by {pipelineId}.", - "operationId": "PipelinesArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Replace a pipeline", - "description": "Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response.", - "operationId": "PipelinesReplace", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "stages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced" - }, - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "type": "string", - "description": "ticketState", - "title": "ticketState", - "x-ms-visibility": "important", - "default": "OPEN", - "enum": [ - "OPEN", - "CLOSED" - ] - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - } - }, - "required": [ - "label", - "displayOrder", - "metadata" - ] - }, - "description": "stages" - } - }, - "x-ms-visibility": "important", - "required": [ - "stages" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a pipeline", - "description": "Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response.", - "operationId": "PipelinesUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline. If two pipelines have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A unique label used to organize pipelines in HubSpot's UI", - "x-ms-visibility": "advanced", - "default": "Updated Pipeline" - }, - "archived": { - "title": "Archived", - "type": "boolean", - "description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a 400 Bad Request will be returned.", - "default": false, - "x-ms-visibility": "advanced" - } - } - } - }, - "x-ms-visibility": "important" - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}/stages": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a pipeline stage", - "description": "Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response.", - "operationId": "PipelinesCreateStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "important" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - } - }, - "x-ms-visibility": "important", - "required": [ - "displayOrder", - "label", - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a pipeline stage", - "description": "Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ], - "operationId": "PipelinesReadStage" - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a pipeline stage", - "description": "Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", - "operationId": "PipelinesArchiveStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Replace a pipeline stage", - "description": "Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response.", - "operationId": "PipelinesReplaceStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important", - "default": "OPEN" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "important", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - } - }, - "x-ms-visibility": "important", - "required": [ - "displayOrder", - "label", - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a pipeline stage", - "description": "Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.", - "operationId": "PipelinesUpdateStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important", - "default": "OPEN" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "advanced" - } - }, - "x-ms-visibility": "important", - "required": [ - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/properties/{objectType}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List properties", - "description": "Read all existing properties for the specified object type and HubSpot account.", - "operationId": "PropertiesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a property", - "description": "Create and return a copy of a new property for the specified object type.", - "operationId": "PropertiesCreate", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "groupName": { - "title": "Group Name", - "type": "string", - "description": "The name of the property group the property belongs to.", - "x-ms-visibility": "important" - }, - "hidden": { - "type": "boolean", - "description": "If true, the property won't be visible and can't be used in HubSpot.", - "title": "hidden", - "enum": [ - false, - true - ], - "default": false, - "x-ms-visibility": "advanced" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", - "default": 0, - "x-ms-visibility": "advanced" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "description": { - "title": "Description", - "type": "string", - "description": "A description of the property that will be shown as help text in HubSpot.", - "x-ms-visibility": "advanced" - }, - "value": { - "title": "Value", - "type": "string", - "description": "The internal value of the option, which must be used when setting the property value through the API.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", - "x-ms-visibility": "advanced" - }, - "hidden": { - "type": "boolean", - "description": "Hidden options won't be shown in HubSpot.", - "title": "option hidden", - "enum": [ - false, - true - ], - "default": false, - "x-ms-visibility": "important" - } - }, - "required": [ - "hidden", - "value" - ] - }, - "description": "options" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable property label that will be shown in HubSpot.", - "x-ms-visibility": "important" - }, - "hasUniqueValue": { - "type": "boolean", - "description": "Whether or not the property's value must be unique. Once set, this can't be changed.", - "title": "hasUniqueValue", - "enum": [ - false, - true - ], - "x-ms-visibility": "advanced", - "default": false - }, - "type": { - "type": "string", - "description": "The data type of the property.", - "title": "type", - "default": "string", - "x-ms-visibility": "important", - "enum": [ - "string", - "number", - "date", - "datetime", - "enumeration" - ] - }, - "fieldType": { - "type": "string", - "description": "Controls how the property appears in HubSpot.", - "title": "fieldType", - "default": "textarea", - "x-ms-visibility": "important", - "enum": [ - "textarea", - "text", - "date", - "file", - "number", - "select", - "radio", - "checkbox", - "booleancheckbox" - ] - }, - "formField": { - "type": "boolean", - "description": "Whether or not the property can be used in a HubSpot form.", - "title": "formField", - "enum": [ - true, - false - ], - "x-ms-visibility": "advanced", - "default": true - } - }, - "required": [ - "fieldType", - "groupName", - "label", - "options", - "type" - ] - } - } - } - } - ], - "x-ms-visibility": "important" - } - }, - "/crm/v3/properties/{objectType}/{propertyName}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a property", - "description": "Read a property identified by {propertyName}.", - "operationId": "PropertiesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ] - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a property", - "description": "Move a property identified by {propertyName} to the recycling bin.", - "operationId": "PropertiesArchive", - "x-ms-visibility": "advanced", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a property", - "description": "Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.", - "operationId": "PropertiesUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "groupName": { - "title": "Group Name", - "type": "string", - "description": "The name of the property group the property belongs to.", - "x-ms-visibility": "advanced" - }, - "hidden": { - "type": "boolean", - "description": "If true, the property won't be visible and can't be used in HubSpot.", - "title": "hidden", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "default": false - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values.", - "default": 0, - "x-ms-visibility": "advanced" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable property label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "description": { - "title": "Description", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "value": { - "title": "Value", - "type": "string", - "description": "The internal value of the option, which must be used when setting the property value through the API.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "hidden": { - "type": "boolean", - "description": "Hidden options won't be shown in HubSpot.", - "title": "option hidden", - "x-ms-visibility": "important", - "enum": [ - false, - true - ], - "default": false - } - }, - "required": [ - "hidden", - "value" - ] - }, - "description": "options" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "important" - }, - "type": { - "title": "Type", - "type": "string", - "description": "The data type of the property.", - "x-ms-visibility": "advanced" - }, - "fieldType": { - "type": "string", - "description": "Controls how the property appears in HubSpot.", - "title": "fieldType", - "x-ms-visibility": "advanced", - "default": "textarea", - "enum": [ - "textarea", - "text", - "date", - "file", - "number", - "select", - "radio", - "checkbox", - "booleancheckbox" - ] - }, - "formField": { - "type": "boolean", - "description": "Whether or not the property can be used in a HubSpot form.", - "title": "formfield", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "default": false - } - }, - "x-ms-visibility": "important", - "required": [ - "label", - "options" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/objects/line_items": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List line items", - "description": "Return a list of line items. Control what is returned via the properties query param.", - "operationId": "LineItemsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": true, - "type": "integer", - "default": 10, - "description": "The maximum number of results to display per page.", - "x-ms-summary": "The maximum number of results to display per page.", - "x-ms-visibility": "advanced" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a line item", - "description": "Create a line item with the given properties and return a copy of the object, including the ID.", - "operationId": "LineItemsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "hs_product_id": { - "title": "HubSpot product ID", - "type": "string", - "description": "hs_product_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "quantity": { - "title": "Quantity", - "type": "string", - "description": "quantity" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - } - }, - "description": "properties" - } - }, - "x-ms-visibility": "important" - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/objects/line_items/{lineItemId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a line item", - "description": "Read a lite item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", - "operationId": "LineItemsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "important" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-visibility": "important" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a line item", - "description": "Move an Object identified by {lineItemId} to the recycling bin.", - "operationId": "LineItemsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a line item", - "description": "Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "LineItemsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "hs_product_id": { - "title": "HubSpot product ID", - "type": "string", - "description": "hs_product_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "quantity": { - "title": "Quantity", - "type": "string", - "description": "quantity" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - } - }, - "description": "properties" - } - }, - "x-ms-visibility": "important" - } - } - ] - } - }, - "/crm/v3/objects/tickets": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List tickets", - "description": "Read a page of tickets. Control what is returned via the properties query param.", - "operationId": "TicketsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "description": "The maximum number of results to display per page.", - "x-ms-summary": "The maximum number of results to display per page.", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "important" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "important" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a ticket", - "description": "Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided.", - "operationId": "TicketsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "closed_date": { - "title": "Closed date", - "type": "string", - "description": "closed_date" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "first_agent_reply_date": { - "title": "First agent reply date", - "type": "string", - "description": "first_agent_reply_date" - }, - "hs_feedback_last_ces_follow_up": { - "title": "HubSpot feedback last CES follow up", - "type": "string", - "description": "hs_feedback_last_ces_follow_up" - }, - "hs_feedback_last_ces_rating": { - "title": "HubSpot feedback last CES rating", - "type": "string", - "description": "hs_feedback_last_ces_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_lastactivitydate": { - "title": "HubSpot last activity date", - "type": "string", - "description": "hs_lastactivitydate" - }, - "hs_lastcontacted": { - "title": "HubSpot last contacted", - "type": "string", - "description": "hs_lastcontacted" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_nextactivitydate": { - "title": "HubSpot next activity date", - "type": "string", - "description": "hs_nextactivitydate" - }, - "hs_num_times_contacted": { - "title": "HubSpot number of times contacted", - "type": "string", - "description": "hs_num_times_contacted" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "last_reply_date": { - "title": "Last reply date", - "type": "string", - "description": "last_reply_date" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "time_to_close": { - "title": "Time to close", - "type": "string", - "description": "time_to_close" - }, - "time_to_first_agent_reply": { - "title": "Time to first agent reply", - "type": "string", - "description": "time_to_first_agent_reply" - }, - "content": { - "title": "Content", - "type": "string", - "description": "content" - }, - "hs_file_upload": { - "title": "HubSpot file upload", - "type": "string", - "description": "hs_file_upload" - }, - "hs_num_associated_companies": { - "title": "HubSpot number of associated companies", - "type": "string", - "description": "hs_num_associated_companies" - }, - "hs_pipeline": { - "title": "HubSpot pipeline", - "type": "string", - "description": "hs_pipeline" - }, - "hs_pipeline_stage": { - "title": "HubSpot pipeline stage", - "type": "string", - "description": "hs_pipeline_stage" - }, - "hs_resolution": { - "title": "HubSpot resolution", - "type": "string", - "description": "hs_resolution" - }, - "hs_ticket_category": { - "title": "HubSpot ticket category", - "type": "string", - "description": "hs_ticket_category" - }, - "hs_ticket_id": { - "title": "HubSpot ticket ID", - "type": "string", - "description": "hs_ticket_id" - }, - "hs_ticket_priority": { - "title": "HubSpot ticket priority", - "type": "string", - "description": "hs_ticket_priority" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "source_type": { - "title": "Source type", - "type": "string", - "description": "source_type" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/tickets/{ticketId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a ticket", - "description": "Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", - "operationId": "TicketsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type.", - "x-ms-summary": "The name of a property whose values are unique for this object type.", - "x-ms-visibility": "important" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a ticket", - "description": "Move a ticket identified by {ticketId} to the recycling bin.", - "operationId": "TicketsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "TicketsUpdate", - "summary": "Update a ticket", - "description": "Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "description": "", - "x-ms-summary": "", - "x-ms-visibility": "important" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "closed_date": { - "title": "Closed date", - "type": "string", - "description": "closed_date" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "first_agent_reply_date": { - "title": "First agent reply date", - "type": "string", - "description": "first_agent_reply_date" - }, - "hs_feedback_last_ces_follow_up": { - "title": "HubSpot feedback last CES follow up", - "type": "string", - "description": "hs_feedback_last_ces_follow_up" - }, - "hs_feedback_last_ces_rating": { - "title": "HubSpot feedback last CES rating", - "type": "string", - "description": "hs_feedback_last_ces_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_lastactivitydate": { - "title": "HubSpot last activity date", - "type": "string", - "description": "hs_lastactivitydate" - }, - "hs_lastcontacted": { - "title": "HubSpot last contacted", - "type": "string", - "description": "hs_lastcontacted" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_nextactivitydate": { - "title": "HubSpot next activity date", - "type": "string", - "description": "hs_nextactivitydate" - }, - "hs_num_times_contacted": { - "title": "HubSpot number of times contacted", - "type": "string", - "description": "hs_num_times_contacted" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "last_reply_date": { - "title": "Last reply date", - "type": "string", - "description": "last_reply_date" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "time_to_close": { - "title": "Time to close", - "type": "string", - "description": "time_to_close" - }, - "time_to_first_agent_reply": { - "title": "Time to first agent reply", - "type": "string", - "description": "time_to_first_agent_reply" - }, - "content": { - "title": "Content", - "type": "string", - "description": "content" - }, - "hs_file_upload": { - "title": "HubSpot file upload", - "type": "string", - "description": "hs_file_upload" - }, - "hs_num_associated_companies": { - "title": "HubSpot number of associated companies", - "type": "string", - "description": "hs_num_associated_companies" - }, - "hs_pipeline": { - "title": "HubSpot pipeline", - "type": "string", - "description": "hs_pipeline" - }, - "hs_pipeline_stage": { - "title": "HubSpot pipeline stage", - "type": "string", - "description": "hs_pipeline_stage" - }, - "hs_resolution": { - "title": "HubSpot resolution", - "type": "string", - "description": "hs_resolution" - }, - "hs_ticket_category": { - "title": "HubSpot ticket category", - "type": "string", - "description": "hs_ticket_category" - }, - "hs_ticket_id": { - "title": "HubSpot ticket ID", - "type": "string", - "description": "hs_ticket_id" - }, - "hs_ticket_priority": { - "title": "HubSpot ticket priority", - "type": "string", - "description": "hs_ticket_priority" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "source_type": { - "title": "Source type", - "type": "string", - "description": "source_type" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/companies/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search companies", - "operationId": "SearchCompanies", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search contacts", - "operationId": "SearchContacts", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search deals", - "operationId": "SearchDeals", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/products/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search products", - "operationId": "SearchProducts", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/tickets/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search tickets", - "operationId": "SearchTickets", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/line_items/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search line items", - "operationId": "SearchLineItems", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/quotes/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search quotes", - "operationId": "SearchQuotes", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/custom_objects/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search custom objects", - "operationId": "SearchCustomObjects", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write": "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" - ] - } - ], - "tags": [] -} diff --git a/independent-publisher-connectors/HubSpot CRM/apiProperties.json b/independent-publisher-connectors/HubSpot CRM/apiProperties.json deleted file mode 100644 index 079ab11263..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/apiProperties.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions" -} diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png b/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png deleted file mode 100644 index 63bc8da6e689ecd35d913ef11c3b07a169795025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13077 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 diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png b/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png deleted file mode 100644 index 23b2875c6d13d3403b30d5fe7ea29737a89292f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24590 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 Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json deleted file mode 100644 index 61cc4c54c8..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json +++ /dev/null @@ -1,1444 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HubSpot Marketing", - "description": "", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/marketing/v3/forms/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List Forms (Preview)", - "description": "Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms.", - "operationId": "FormsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20, - "description": "The maximum number of results to return.", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "x-ms-summary": "Whether to return only results that have been archived." - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a form (Preview)", - "description": "Add a new HubSpot form.", - "operationId": "FormsCreate", - "parameters": [ - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "data", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "formType": { - "title": "Form Type", - "type": "string", - "description": "formType", - "default": "hubspot" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "createdAt": { - "title": "Created at", - "type": "string", - "description": "createdAt" - }, - "updatedAt": { - "title": "Updated at", - "type": "string", - "description": "updatedAt" - }, - "archived": { - "title": "Archived", - "type": "boolean", - "description": "archived", - "enum": [ - false, - true - ], - "default": false - }, - "archivedAt": { - "title": "Archived at", - "type": "string", - "description": "archivedAt" - }, - "fieldGroups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "groupType": { - "title": "Group type", - "type": "string", - "description": "groupType" - }, - "richTextType": { - "title": "Rich text type", - "type": "string", - "description": "richTextType" - }, - "richText": { - "title": "Rich text", - "type": "string", - "description": "richText" - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fieldType": { - "title": "Field type", - "type": "string", - "description": "fieldType" - }, - "objectTypeId": { - "title": "Object type ID", - "type": "string", - "description": "objectTypeId" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "required": { - "title": "Required", - "type": "boolean", - "description": "required" - }, - "hidden": { - "title": "Hidden", - "type": "boolean", - "description": "hidden" - }, - "dependentFields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dependentCondition": { - "type": "object", - "properties": { - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "values": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "values" - }, - "rangeStart": { - "title": "Range start", - "type": "string", - "description": "rangeStart" - }, - "rangeEnd": { - "title": "Range end", - "type": "string", - "description": "rangeEnd" - } - }, - "description": "dependentCondition" - } - } - }, - "description": "dependentFields" - }, - "placeholder": { - "title": "Placeholder", - "type": "string", - "description": "placeholder" - }, - "defaultValue": { - "title": "Default value", - "type": "string", - "description": "defaultValue" - }, - "validation": { - "type": "object", - "properties": { - "blockedEmailDomains": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "blockedEmailDomains" - }, - "useDefaultBlockList": { - "title": "Use default block list", - "type": "boolean", - "description": "useDefaultBlockList" - }, - "minAllowedDigits": { - "title": "Minimum allowed digits", - "type": "integer", - "format": "int32", - "description": "minAllowedDigits" - }, - "maxAllowedDigits": { - "title": "Max allowed digits", - "type": "integer", - "format": "int32", - "description": "maxAllowedDigits" - } - }, - "description": "validation" - }, - "useCountryCodeSelect": { - "title": "Use country code select", - "type": "boolean", - "description": "useCountryCodeSelect" - }, - "defaultValues": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "defaultValues" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "displayOrder" - } - } - }, - "description": "options" - }, - "allowMultipleFiles": { - "title": "Allow multiple files", - "type": "boolean", - "description": "allowMultipleFiles" - } - } - }, - "description": "fields" - } - } - }, - "description": "fieldGroups" - }, - "configuration": { - "type": "object", - "properties": { - "language": { - "title": "Language", - "type": "string", - "description": "language" - }, - "cloneable": { - "title": "Cloneable", - "type": "boolean", - "description": "cloneable" - }, - "postSubmitAction": { - "type": "object", - "properties": { - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - }, - "description": "postSubmitAction" - }, - "editable": { - "title": "Editable", - "type": "boolean", - "description": "editable" - }, - "archivable": { - "title": "Archivable", - "type": "boolean", - "description": "archivable" - }, - "recaptchaEnabled": { - "title": "Recaptcha enabled", - "type": "boolean", - "description": "recaptchaEnabled" - }, - "notifyContactOwner": { - "title": "Notify contact owner", - "type": "boolean", - "description": "notifyContactOwner" - }, - "notifyRecipients": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "notifyRecipients" - }, - "createNewContactForNewEmail": { - "title": "Create new contact for new email", - "type": "boolean", - "description": "createNewContactForNewEmail" - }, - "prePopulateKnownValues": { - "title": "Pre-populate known values", - "type": "boolean", - "description": "prePopulateKnownValues" - }, - "allowLinkToResetKnownValues": { - "title": "Allow link to reset known values", - "type": "boolean", - "description": "allowLinkToResetKnownValues" - } - }, - "description": "configuration" - }, - "displayOptions": { - "type": "object", - "properties": { - "renderRawHtml": { - "title": "Render raw HTML", - "type": "boolean", - "description": "renderRawHtml" - }, - "theme": { - "title": "Theme", - "type": "string", - "description": "theme" - }, - "submitButtonText": { - "title": "Submit button text", - "type": "string", - "description": "submitButtonText" - }, - "style": { - "type": "object", - "properties": { - "fontFamily": { - "title": "Font family", - "type": "string", - "description": "fontFamily" - }, - "backgroundWidth": { - "title": "Background width", - "type": "string", - "description": "backgroundWidth" - }, - "labelTextColor": { - "title": "Label text color", - "type": "string", - "description": "labelTextColor" - }, - "labelTextSize": { - "title": "Label text size", - "type": "string", - "description": "labelTextSize" - }, - "helpTextColor": { - "title": "Help text color", - "type": "string", - "description": "helpTextColor" - }, - "helpTextSize": { - "title": "Help text size", - "type": "string", - "description": "helpTextSize" - }, - "legalConsentTextColor": { - "title": "Legal consent text color", - "type": "string", - "description": "legalConsentTextColor" - }, - "legalConsentTextSize": { - "title": "Legal consent text size", - "type": "string", - "description": "legalConsentTextSize" - }, - "submitColor": { - "title": "Submit color", - "type": "string", - "description": "submitColor" - }, - "submitAlignment": { - "title": "Submit alignment", - "type": "string", - "description": "submitAlignment" - }, - "submitFontColor": { - "title": "Submit font color", - "type": "string", - "description": "submitFontColor" - }, - "submitSize": { - "title": "Submit size", - "type": "string", - "description": "submitSize" - } - }, - "description": "style" - }, - "cssClass": { - "title": "CSS class", - "type": "string", - "description": "cssClass" - } - }, - "description": "displayOptions" - } - } - } - } - ] - } - }, - "/marketing/v3/forms/{formId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a form (Preview)", - "description": "Returns a form based on the form ID provided.", - "operationId": "FormsRead", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string", - "description": "The formId of the form", - "x-ms-visibility": "important" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ] - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "FormsArchive", - "summary": "Delete a form (Preview)", - "description": "Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months.", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "FormsUpdate", - "summary": "Update a form (Preview)", - "description": "Update all fields of a HubSpot form definition.", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "data", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "formType": { - "title": "Form Type", - "type": "string", - "description": "formType", - "default": "hubspot" - }, - "id": { - "title": "ID", - "type": "string", - "description": "id" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "createdAt": { - "title": "Created at", - "type": "string", - "description": "createdAt", - "format": "date-time" - }, - "updatedAt": { - "title": "Updated at", - "type": "string", - "description": "updatedAt", - "format": "date-time" - }, - "archived": { - "type": "boolean", - "description": "archived", - "title": "", - "enum": [ - false, - true - ], - "default": false - }, - "archivedAt": { - "title": "Archived at", - "type": "string", - "description": "archivedAt" - }, - "fieldGroups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "groupType": { - "title": "Group type", - "type": "string", - "description": "groupType" - }, - "richTextType": { - "title": "Rich text type", - "type": "string", - "description": "richTextType" - }, - "richText": { - "title": "Rich text", - "type": "string", - "description": "richText" - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fieldType": { - "title": "Field type", - "type": "string", - "description": "fieldType" - }, - "objectTypeId": { - "title": "Object type ID", - "type": "string", - "description": "objectTypeId" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "required": { - "title": "Required", - "type": "boolean", - "description": "required" - }, - "hidden": { - "title": "Hidden", - "type": "boolean", - "description": "hidden" - }, - "dependentFields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dependentCondition": { - "type": "object", - "properties": { - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "values": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "values" - }, - "rangeStart": { - "title": "Range start", - "type": "string", - "description": "rangeStart" - }, - "rangeEnd": { - "title": "Range end", - "type": "string", - "description": "rangeEnd" - } - }, - "description": "dependentCondition" - } - } - }, - "description": "dependentFields" - }, - "placeholder": { - "title": "Placeholder", - "type": "string", - "description": "placeholder" - }, - "defaultValue": { - "title": "Default value", - "type": "string", - "description": "defaultValue" - }, - "validation": { - "type": "object", - "properties": { - "blockedEmailDomains": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "blockedEmailDomains" - }, - "useDefaultBlockList": { - "title": "Use default block list", - "type": "boolean", - "description": "useDefaultBlockList" - }, - "minAllowedDigits": { - "title": "Minimum allowed digits", - "type": "integer", - "format": "int32", - "description": "minAllowedDigits" - }, - "maxAllowedDigits": { - "title": "Max allowed digits", - "type": "integer", - "format": "int32", - "description": "maxAllowedDigits" - } - }, - "description": "validation" - }, - "useCountryCodeSelect": { - "title": "Use country code select", - "type": "boolean", - "description": "useCountryCodeSelect" - }, - "defaultValues": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "defaultValues" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "displayOrder" - } - } - }, - "description": "options" - }, - "allowMultipleFiles": { - "title": "Allow multiple files", - "type": "boolean", - "description": "allowMultipleFiles" - } - } - }, - "description": "fields" - } - } - }, - "description": "fieldGroups" - }, - "configuration": { - "type": "object", - "properties": { - "language": { - "title": "Language", - "type": "string", - "description": "language" - }, - "cloneable": { - "title": "Cloneable", - "type": "boolean", - "description": "cloneable" - }, - "postSubmitAction": { - "type": "object", - "properties": { - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - }, - "description": "postSubmitAction" - }, - "editable": { - "title": "Editable", - "type": "boolean", - "description": "editable" - }, - "archivable": { - "title": "Archivable", - "type": "boolean", - "description": "archivable" - }, - "recaptchaEnabled": { - "title": "Recaptcha enabled", - "type": "boolean", - "description": "recaptchaEnabled" - }, - "notifyContactOwner": { - "title": "Notify contact owner", - "type": "boolean", - "description": "notifyContactOwner" - }, - "notifyRecipients": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "notifyRecipients" - }, - "createNewContactForNewEmail": { - "title": "Create new contact for new email", - "type": "boolean", - "description": "createNewContactForNewEmail" - }, - "prePopulateKnownValues": { - "title": "Pre-populate known values", - "type": "boolean", - "description": "prePopulateKnownValues" - }, - "allowLinkToResetKnownValues": { - "title": "Allow link to reset known values", - "type": "boolean", - "description": "allowLinkToResetKnownValues" - } - }, - "description": "configuration" - }, - "displayOptions": { - "type": "object", - "properties": { - "renderRawHtml": { - "title": "Render raw HTML", - "type": "boolean", - "description": "renderRawHtml" - }, - "theme": { - "title": "Theme", - "type": "string", - "description": "theme" - }, - "submitButtonText": { - "title": "Submit button text", - "type": "string", - "description": "submitButtonText" - }, - "style": { - "type": "object", - "properties": { - "fontFamily": { - "title": "Font family", - "type": "string", - "description": "fontFamily" - }, - "backgroundWidth": { - "title": "Background width", - "type": "string", - "description": "backgroundWidth" - }, - "labelTextColor": { - "title": "Label text color", - "type": "string", - "description": "labelTextColor" - }, - "labelTextSize": { - "title": "Label text size", - "type": "string", - "description": "labelTextSize" - }, - "helpTextColor": { - "title": "Help text color", - "type": "string", - "description": "helpTextColor" - }, - "helpTextSize": { - "title": "Help text size", - "type": "string", - "description": "helpTextSize" - }, - "legalConsentTextColor": { - "title": "Legal consent text color", - "type": "string", - "description": "legalConsentTextColor" - }, - "legalConsentTextSize": { - "title": "Legal consent text size", - "type": "string", - "description": "legalConsentTextSize" - }, - "submitColor": { - "title": "Submit color", - "type": "string", - "description": "submitColor" - }, - "submitAlignment": { - "title": "Submit alignment", - "type": "string", - "description": "submitAlignment" - }, - "submitFontColor": { - "title": "Submit font color", - "type": "string", - "description": "submitFontColor" - }, - "submitSize": { - "title": "Submit size", - "type": "string", - "description": "submitSize" - } - }, - "description": "style" - }, - "cssClass": { - "title": "CSS class", - "type": "string", - "description": "cssClass" - } - }, - "description": "displayOptions" - } - }, - "required": [ - "id", - "formType", - "createdAt", - "updatedAt", - "archived" - ] - } - } - ] - } - }, - "/marketing/v3/marketing-events-beta/events/{externalEventId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "MarketingEventRead", - "summary": "Get a marketing event (Preview)", - "description": "Returns the details of the Marketing Event with the specified id, if one exists.", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to return", - "x-ms-summary": "The id of the marketing event to return" - }, - { - "name": "externalAccountId", - "in": "query", - "required": true, - "type": "string", - "x-ms-summary": "The account id associated with the marketing event", - "description": "The account id associated with the marketing event" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "MarketingEventsArchive", - "summary": "Delete a marketing event (Preview)", - "description": "Archives an existing Marketing Event with the specified id, if one exists.", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to delete", - "x-ms-summary": "The id of the marketing event to delete" - }, - { - "name": "externalAccountId", - "in": "query", - "required": true, - "type": "string", - "description": "The account id associated with the marketing event", - "x-ms-summary": "The account id associated with the marketing event" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create or update a marketing event (Preview)", - "description": "Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created.", - "operationId": "MarketingEventsUpdateCreateOrUpdate", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to upsert", - "x-ms-summary": "The id of the marketing event to upsert" - }, - { - "name": "content-type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "data", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "eventName": { - "title": "Event name", - "type": "string", - "description": "eventName" - }, - "eventType": { - "type": "string", - "description": "eventType", - "title": "", - "enum": [ - "WEBINAR", - "CONFERENCE", - "WORKSHOP" - ] - }, - "startDateTime": { - "title": "Start date time", - "type": "string", - "description": "startDateTime" - }, - "endDateTime": { - "title": "End date time", - "type": "string", - "description": "endDateTime" - }, - "eventOrganizer": { - "title": "Event organizer", - "type": "string", - "description": "eventOrganizer" - }, - "eventDescription": { - "title": "Event description", - "type": "string", - "description": "eventDescription" - }, - "eventUrl": { - "title": "Event URL", - "type": "string", - "description": "eventUrl" - }, - "eventCancelled": { - "title": "Event cancelled", - "type": "boolean", - "description": "eventCancelled" - }, - "customProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "timestamp": { - "title": "Timestamp", - "type": "integer", - "format": "int32", - "description": "timestamp" - }, - "sourceId": { - "title": "Source ID", - "type": "string", - "description": "sourceId" - }, - "sourceLabel": { - "title": "Source label", - "type": "string", - "description": "sourceLabel" - }, - "source": { - "title": "Source", - "type": "string", - "description": "source" - }, - "selectedByUser": { - "title": "Selected by user", - "type": "boolean", - "description": "selectedByUser" - }, - "selectedByUserTimestamp": { - "title": "Selected by user timestamp", - "type": "integer", - "format": "int32", - "description": "selectedByUserTimestamp" - }, - "sourceVid": { - "type": "array", - "items": { - "title": "Items", - "type": "integer", - "format": "int32" - }, - "description": "sourceVid" - }, - "sourceMetadata": { - "title": "Source metadata", - "type": "string", - "description": "sourceMetadata" - }, - "requestId": { - "title": "Request ID", - "type": "string", - "description": "requestId" - } - } - }, - "description": "customProperties" - }, - "externalAccountId": { - "title": "External account ID", - "type": "string", - "description": "externalAccountId" - }, - "externalEventId": { - "title": "External event ID", - "type": "string", - "description": "externalEventId" - } - }, - "required": [ - "eventName", - "eventOrganizer", - "externalEventId", - "externalAccountId" - ] - } - } - ] - } - }, - "/marketing-emails/v1/emails": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get all marketing emails (V1)", - "description": "Get all marketing emails for a HubSpot account.", - "operationId": "MarketingEmailsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10 - }, - { - "name": "orderBy", - "in": "query", - "required": false, - "type": "string", - "default": "created" - } - ] - } - }, - "/marketing-emails/v1/emails/{id}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a marketing email (V1)", - "description": "Get the details for a specific marketing email.", - "operationId": "MarketingEmailsRead", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a marketing email (V1)", - "description": "Archive a marketing email.", - "operationId": "MarketingEmailsArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a marketing email (V1)", - "description": "Update a marketing email.", - "operationId": "MarketingEmailsUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "fromName": { - "title": "From name", - "type": "string", - "description": "fromName" - }, - "replyTo": { - "title": "Reply to", - "type": "string", - "description": "replyTo" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - ] - } - }, - "/email/public/v1/campaigns/{campaign_id}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get campaign data for a particular campaign (V1)", - "description": "For a given campaign, return data associated with the campaign.", - "operationId": "MarketingEmailsCampaignRead", - "parameters": [ - { - "name": "campaign_id", - "in": "path", - "required": true, - "type": "string" - } - ] - } - }, - "/marketing-emails/v1/emails/": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a marketing email (V1)", - "description": "Create a new marketing email.", - "operationId": "MarketingEmailsCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name", - "x-ms-visibility": "important" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - }, - "required": [ - "name" - ] - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - ] - } - ], - "tags": [] -} diff --git a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json deleted file mode 100644 index 079ab11263..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions" -} diff --git a/independent-publisher-connectors/HubSpot Marketing/settings.json b/independent-publisher-connectors/HubSpot Marketing/settings.json deleted file mode 100644 index 745d928579..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_hubspot-20marketing-5f1a2efd764356a300-5fb3182c161023f139", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file From 1ce889c3a2b2c581a94f2941ea383e50e7e42c07 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Wed, 2 Jun 2021 17:01:47 -0400 Subject: [PATCH 05/25] certify-connector --- .../Getting Started with Xero App Webhooks.md | 10 + .../Xero Accounting/README.md | 84 ++ .../apiDefinition.swagger.json | 1264 +++++++++++++++++ .../Xero Accounting/apiProperties.json | 36 + .../Xero Accounting/icon.png | Bin 0 -> 2096 bytes .../Xero Accounting/jNtIA08Isl.png | Bin 0 -> 9962 bytes .../Xero Accounting/pCXxjPBIMe.png | Bin 0 -> 25036 bytes .../Xero Accounting/settings.json | 9 + .../Xero Payroll - UK/README.md | 70 + .../apiDefinition.swagger.json | 751 ++++++++++ .../Xero Payroll - UK/apiProperties.json | 36 + .../Xero Payroll - UK/icon.png | Bin 0 -> 9630 bytes .../Xero Payroll - UK/settings.json | 9 + .../Xero Projects/README.md | 60 + .../Xero Projects/apiDefinition.swagger.json | 582 ++++++++ .../Xero Projects/apiProperties.json | 36 + .../Xero Projects/icon.png | Bin 0 -> 9630 bytes .../Xero Projects/settings.json | 9 + 18 files changed, 2956 insertions(+) create mode 100644 independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md create mode 100644 independent-publisher-connectors/Xero Accounting/README.md create mode 100644 independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Accounting/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Accounting/icon.png create mode 100644 independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png create mode 100644 independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png create mode 100644 independent-publisher-connectors/Xero Accounting/settings.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/README.md create mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Payroll - UK/icon.png create mode 100644 independent-publisher-connectors/Xero Payroll - UK/settings.json create mode 100644 independent-publisher-connectors/Xero Projects/README.md create mode 100644 independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Xero Projects/apiProperties.json create mode 100644 independent-publisher-connectors/Xero Projects/icon.png create mode 100644 independent-publisher-connectors/Xero Projects/settings.json diff --git a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md new file mode 100644 index 0000000000..22359e9929 --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md @@ -0,0 +1,10 @@ +# Getting Started with Xero App webhooks +Currently, there is no API available that allows this custom connector to create triggers for flows. Start by creating a new Power Automate cloud flow using the 'When a HTTP request is received' trigger. + +![When a HTTP request is received trigger](jNtIA08Isl.png) + +After you save the flow, an Azure HTTP POST URL will be created and you will use this with your Xero app webhook. You will then have to use the Xero My Apps UI to [create the webhook(s)](https://developer.xero.com/documentation/webhooks/creating-webhooks). + +![Xero app webhook](pCXxjPBIMe.png) + +As there is only one notification URL allowed per app, to receive notifications about the second object you will need to create a second app. diff --git a/independent-publisher-connectors/Xero Accounting/README.md b/independent-publisher-connectors/Xero Accounting/README.md new file mode 100644 index 0000000000..d7db5b4adc --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/README.md @@ -0,0 +1,84 @@ +# Xero Accounting +The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. + +## Publisher: Hitachi Solutions + +## Prerequisites +To use this connector, you need the following + +- A Microsoft Power Apps or Power Automate plan with custom connector feature +- A Xero account with either the demo company or a paid subscription tenant +- A Xero developer account with a configured OAuth 2.0 application + +## Obtaining Credentials +After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. If you are going to build triggers for your Xero tenant, that configuration is on the Webhooks tab in this app. Since Xero allows for triggers based on contacts and invoices but only allows one URL per app, best practice is to create a second app to trigger the second object changes. + +## Getting Started +Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). In order to use Xero webhooks as triggers in Power Automate, follow this [guide](Getting Started with Xero App Webhooks.md). + +## API Documentation +[Xero Accounting API](https://developer.xero.com/documentation/api/api-overview) + +- [Bank Transfers](https://developer.xero.com/documentation/api/bank-transfers) +- [Contacts](https://developer.xero.com/documentation/api/contacts) +- [Invoices](https://developer.xero.com/documentation/api/invoices) +- [Payments](https://developer.xero.com/documentation/api/payments) +- [Purchase Orders](https://developer.xero.com/documentation/api/purchase-orders) + +## Supported Operations +This connector supports the following operations: + +### Action: Create a contact +Add a contact in a Xero organisation. + +### Action: Get a contact +Retrieve a contact in a Xero organisation. + +### Action: Get contacts +Retrieve a list of contacts in a Xero organisation. + +### Action: Update a contact +Update a contact in a Xero organisation. + +### Action: Get sales invoices +Retrieve sales invoices in a Xero organisation. + +### Action: Get a sales invoice +Retrieve a sales invoice in a Xero organisation. + +### Action: Create a payment +Apply a payment to approved AR and AP invoices. + +### Action: Get payments +Retrieve either a list of payments for invoices and credit notes. + +### Action: Get a payment +Retrieve either a payment for invoices and credit notes. + +### Action: Create a purchase order +Add a purchase order in a Xero organisation. + +### Action: Get a purchase order +Allows you to retrieve a purchase order. + +### Action: Get purchase orders +Allows you to retrieve purchase orders. + +### Action: Create a bank transfer +Create a bank transfer in a Xero organisation. + +### Action: Get a bank transfer +Retrieve a bank transfer in a Xero organisation. + +### Action: Get bank transfers +Retrieve a list of bank transfers in a Xero organisation. + + +## Known Issues and Limitations +There are no known issues at time of publishing. + +## Frequently Asked Questions + + +## Deployment Instructions +Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json new file mode 100644 index 0000000000..9c045cb303 --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json @@ -0,0 +1,1264 @@ +{ + "swagger": "2.0", + "info": { + "title": "Xero Accounting", + "description": "Xero accounting software community connector.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.xero.com", + "basePath": "/api.xro/2.0/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/Contacts": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get contacts", + "description": "Get a list of contacts", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal", + "description": "Content-Type", + "x-ms-summary": "Content-Type", + "x-ms-url-encoding": "single" + } + ], + "operationId": "ContactsGet" + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a contact", + "description": "Use this method to create a contact record.", + "operationId": "ContactsCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal", + "description": "Content-Type", + "x-ms-summary": "Content-Type", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Full name of contact or organization" + }, + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Xero identifier" + }, + "ContactNumber": { + "title": "Contact number", + "type": "string", + "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" + }, + "AccountNumber": { + "title": "Account number", + "type": "string", + "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" + }, + "ContactStatus": { + "title": "Contact status", + "type": "string", + "description": "Current status of a contact", + "enum": [ + "ACTIVE", + "ARCHIVED", + "GDPRREQUEST" + ] + }, + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "SkypeUserName": { + "title": "Skype user name", + "type": "string", + "description": "Skype user name of contact" + }, + "ContactPersons": { + "title": "Contact persons", + "type": "object", + "properties": { + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "IncludeInEmails": { + "title": "Include in emails", + "type": "boolean", + "description": "Whether contact should be included on emails with invoices etc.", + "enum": [ + true, + false + ] + } + } + }, + "BankAccountDetails": { + "title": "Bank account details", + "type": "string", + "description": "Bank account number of contact" + }, + "TaxNumber": { + "title": "Tax number", + "type": "string", + "description": "Tax number of contact (max length = 50)" + }, + "AccountsReceivableTaxType": { + "title": "Accounts receivable tax type", + "type": "string", + "description": "Default tax type used for contact on AR invoices" + }, + "AccountsPayableTaxType": { + "title": "Accounts payable tax type", + "type": "string", + "description": "Default tax type used for contact on AP invoices" + }, + "Addresses": { + "title": "Addresses", + "type": "string", + "description": "Either PO Box or Street or Delivery", + "default": "POBOX", + "enum": [ + "POBOX", + "STREET", + "DELIVERY" + ] + }, + "Phones": { + "title": "Phones", + "type": "string", + "description": "Store certain phone types for a contact", + "default": "DEFAULT", + "enum": [ + "DEFAULT", + "DDI", + "MOBILE", + "FAX" + ] + }, + "DefaultCurrency": { + "title": "Default currency", + "type": "string", + "description": "Default currency for raising invoices against contact" + }, + "XeroNetworkKey": { + "title": "XeroNetworkKey", + "type": "string", + "description": "Store XeroNetworkKey for contacts." + }, + "SalesDefaultAccountCode": { + "title": "Sales default account code", + "type": "string", + "description": "The default sales account code for contacts" + }, + "PurchasesDefaultAccountCode": { + "title": "Purchases default account code", + "type": "string", + "description": "The default purchases account code for contacts" + }, + "SalesTrackingCategories": { + "title": "Sales tracking categories", + "type": "string", + "description": "The default sales tracking categories for contacts" + }, + "PurchasesTrackingCategories": { + "title": "Purchases tracking categories", + "type": "string", + "description": "The default purchases tracking categories for contacts" + }, + "TrackingCategoryName": { + "title": "Tracking category name", + "type": "string", + "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "TrackingOptionName": { + "title": "Tracking option name", + "type": "string", + "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "PaymentTerms": { + "title": "Payment terms", + "type": "string", + "description": "The default payment terms for the contact", + "default": "DAYSAFTERBILLDATE", + "enum": [ + "DAYSAFTERBILLDATE", + "DAYSAFTERBILLMONTH", + "OFCURRENTMONTH", + "OFFOLLOWINGMONTH" + ] + } + }, + "required": [ + "Name" + ] + } + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a contact", + "description": "Use this method to update a contact record. When you are updating a contact you don\u2019t need to specify every element. If you exclude an element then the existing value will be preserved.", + "operationId": "ContactsUpdate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal", + "description": "Content-Type", + "x-ms-summary": "Content-Type", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Full name of contact or organization" + }, + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Xero identifier" + }, + "ContactNumber": { + "title": "Contact number", + "type": "string", + "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" + }, + "AccountNumber": { + "title": "Account number", + "type": "string", + "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" + }, + "ContactStatus": { + "title": "Contact status", + "type": "string", + "description": "Current status of a contact", + "enum": [ + "ACTIVE", + "ARCHIVED", + "GDPRREQUEST" + ] + }, + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "SkypeUserName": { + "title": "Skype user name", + "type": "string", + "description": "Skype user name of contact" + }, + "ContactPersons": { + "title": "Contact persons", + "type": "object", + "properties": { + "FirstName": { + "title": "First name", + "type": "string", + "description": "First name of contact person" + }, + "LastName": { + "title": "Last name", + "type": "string", + "description": "Last name of contact person" + }, + "EmailAddress": { + "title": "Email address", + "type": "string", + "description": "Email addressof the contact person (umlauts not supported)" + }, + "IncludeInEmails": { + "title": "Include in emails", + "type": "boolean", + "description": "Whether contact should be included on emails with invoices etc.", + "enum": [ + true, + false + ] + } + } + }, + "BankAccountDetails": { + "title": "Bank account details", + "type": "string", + "description": "Bank account number of contact" + }, + "TaxNumber": { + "title": "Tax number", + "type": "string", + "description": "Tax number of contact (max length = 50)" + }, + "AccountsReceivableTaxType": { + "title": "Accounts receivable tax type", + "type": "string", + "description": "Default tax type used for contact on AR invoices" + }, + "AccountsPayableTaxType": { + "title": "Accounts payable tax type", + "type": "string", + "description": "Default tax type used for contact on AP invoices" + }, + "Addresses": { + "title": "Addresses", + "type": "string", + "description": "Either PO Box or Street or Delivery", + "default": "POBOX", + "enum": [ + "POBOX", + "STREET", + "DELIVERY" + ] + }, + "Phones": { + "title": "Phones", + "type": "string", + "description": "Store certain phone types for a contact", + "default": "DEFAULT", + "enum": [ + "DEFAULT", + "DDI", + "MOBILE", + "FAX" + ] + }, + "DefaultCurrency": { + "title": "Default currency", + "type": "string", + "description": "Default currency for raising invoices against contact" + }, + "XeroNetworkKey": { + "title": "XeroNetworkKey", + "type": "string", + "description": "Store XeroNetworkKey for contacts." + }, + "SalesDefaultAccountCode": { + "title": "Sales default account code", + "type": "string", + "description": "The default sales account code for contacts" + }, + "PurchasesDefaultAccountCode": { + "title": "Purchases default account code", + "type": "string", + "description": "The default purchases account code for contacts" + }, + "SalesTrackingCategories": { + "title": "Sales tracking categories", + "type": "string", + "description": "The default sales tracking categories for contacts" + }, + "PurchasesTrackingCategories": { + "title": "Purchases tracking categories", + "type": "string", + "description": "The default purchases tracking categories for contacts" + }, + "TrackingCategoryName": { + "title": "Tracking category name", + "type": "string", + "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "TrackingOptionName": { + "title": "Tracking option name", + "type": "string", + "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" + }, + "PaymentTerms": { + "title": "Payment terms", + "type": "string", + "description": "The default payment terms for the contact", + "default": "DAYSAFTERBILLDATE", + "enum": [ + "DAYSAFTERBILLDATE", + "DAYSAFTERBILLMONTH", + "OFCURRENTMONTH", + "OFFOLLOWINGMONTH" + ] + } + }, + "required": [ + "Name" + ] + } + } + ] + } + }, + "/Contacts/{ContactID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a contact", + "description": "Get a single contact", + "operationId": "ContactsGetA", + "parameters": [ + { + "name": "ContactID", + "in": "path", + "required": true, + "type": "string", + "description": "Xero identifier", + "x-ms-summary": "ContactID", + "x-ms-url-encoding": "single" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal", + "description": "Content-Type", + "x-ms-summary": "Content-Type", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/Invoices": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get invoices", + "description": "Get a list of invoices", + "operationId": "InvoicesGet", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal", + "description": "Content-Type", + "x-ms-summary": "Content-Type", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create an invoice", + "description": "Use this method to create an invoice", + "operationId": "InvoicesCreate", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Type": { + "title": "Type", + "type": "string", + "description": "Invoice Type", + "default": "ACCPAY", + "enum": [ + "ACCPAY", + "ACCREC" + ] + }, + "Contact": { + "title": "Contact", + "type": "object", + "properties": { + "ContactID": { + "title": "ContactID", + "type": "string", + "description": "The identifier of the contact" + } + } + }, + "LineItems": { + "title": "Line items", + "type": "object", + "description": "The LineItems collection can contain any number of individual LineItem sub-elements. At least one is required to create a complete Invoice.", + "properties": { + "Description": { + "title": "Description", + "type": "string", + "description": "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a Description element that contains at least 1 character (max length = 4000)" + }, + "Quantity": { + "title": "Quantity", + "type": "string", + "description": "LineItem Quantity (max length = 13)" + }, + "UnitAmount": { + "title": "UnitAmount", + "type": "string", + "description": "Lineitem unit amount. By default unit amount will be rounded to two decimal places." + }, + "ItemCode": { + "title": "ItemCode", + "type": "string", + "description": "User defined item code." + }, + "AccountCode": { + "title": "AccountCode", + "type": "string", + "description": "Customer defined alpha numeric account code e.g 200 or SALES" + }, + "TaxType": { + "title": "TaxType", + "type": "string", + "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct." + }, + "TaxAmount": { + "title": "TaxAmount", + "type": "string", + "description": "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated TaxAmount is not correct." + }, + "LineAmount": { + "title": "LineAmount", + "type": "string", + "description": "The line amount reflects the discounted price if a DiscountRate has been used" + }, + "DiscountRate or DiscountAmount": { + "title": "DiscountRate or DiscountAmount", + "type": "string", + "description": "Percentage discount or discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts" + }, + "Tracking": { + "title": "Tracking", + "type": "object", + "description": "Section for optional Tracking Category. Any LineItem can have a maximum of 2 TrackingCategory elements.", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Name of the tracking category" + }, + "Object": { + "title": "Object", + "type": "string", + "description": "Name of the option" + } + }, + "required": [ + "Name", + "Object" + ] + } + } + }, + "BrandingThemeID": { + "title": "Branding theme ID", + "type": "string", + "description": "Xero identifier" + }, + "CurrencyCode": { + "title": "Currency code", + "type": "string", + "description": "The currency that invoice has been raised in (see Currencies)" + }, + "CurrencyRate": { + "title": "Currency rate", + "type": "string", + "description": "The currency rate for a multicurrency invoice. (max length = 18)" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date invoice was issued - YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation" + }, + "DueDate": { + "title": "Due date", + "type": "string", + "description": "Date invoice is due - YYYY-MM-DD" + }, + "ExpectedPaymentDate": { + "title": "Expected payment date", + "type": "string", + "description": "Shown on sales invoices (Accounts Receivable) when this has been set" + }, + "InvoiceNumber": { + "title": "Invoice number", + "type": "string", + "description": "Code identifying invoice (max length = 255)" + }, + "LineAmountTypes": { + "title": "Line amount types", + "type": "string", + "description": "Line amounts are exclusive of tax by default if you don't specify this element.", + "default": "Exclusive", + "enum": [ + "Exclusive", + "Inclusive", + "No Tax" + ] + }, + "PlannedPaymentDate": { + "title": "Planned payment date", + "type": "string", + "description": "Shown on bills (Accounts Payable) when this has been set" + }, + "Reference": { + "title": "Reference", + "type": "string", + "description": "ACCREC only - additional reference number (max length = 255)" + }, + "SentToContact": { + "title": "Sent to contact", + "type": "string", + "description": "Boolean to set whether the invoice in the Xero app should be marked as \"sent\". This can be set only on invoices that have been approved" + }, + "Status": { + "title": "Status", + "type": "string", + "description": "Invoice status code.", + "default": "DRAFT", + "enum": [ + "DRAFT", + "SUBMITTED", + "AUTHORISED" + ] + }, + "Url": { + "title": "Url", + "type": "string", + "description": "URL link to a source document" + } + }, + "required": [ + "Type", + "Contact", + "LineItems" + ] + } + } + ] + } + }, + "/Invoices/{InvoiceID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve an invoice", + "description": "Use this method to retrieve one or many invoices.", + "operationId": "InvoicesGetA", + "parameters": [ + { + "name": "InvoiceID", + "in": "path", + "required": true, + "type": "string", + "description": "InvoiceID", + "x-ms-summary": "InvoiceID", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/Payments/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get payments", + "description": "Use this method to retrieve all payments for invoices and credit notes.", + "operationId": "PaymentsGet", + "parameters": [] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a payment", + "description": "Use this method to apply payments to approved AR and AP invoices.", + "operationId": "PaymentsCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "Invoice": { + "type": "object", + "properties": { + "InvoiceID": { + "title": "Invoice ID", + "type": "string", + "description": "Invoice identifier" + } + }, + "description": "Invoice" + }, + "Account": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "Account code" + } + }, + "description": "Account" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date" + }, + "Amount": { + "title": "Amount", + "type": "number", + "format": "float", + "description": "Amount" + } + } + } + } + ] + } + }, + "/Payments/{InvoiceID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "PaymentsGetA", + "summary": "Get a payment", + "description": "Use this method to retrieve one payment for invoices and credit notes", + "parameters": [ + { + "name": "InvoiceID", + "in": "path", + "required": true, + "type": "string", + "description": "InvoiceID", + "x-ms-summary": "InvoiceID", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/PurchaseOrders": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get purchase orders", + "description": "Use this method to retrieve purchase orders.", + "operationId": "PurchaseOrdersGet", + "parameters": [] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a purchase order", + "description": "Use this method to create a purchase order", + "operationId": "PurchaseOrdersCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "PurchaseOrderNumber": { + "title": "Purchase order number", + "type": "string", + "description": "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "Date purchase order was issued - YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation" + }, + "DeliveryDate": { + "title": "Delivery date", + "type": "string", + "description": "Date the goods are to be delivered - YYYY-MM-DD" + }, + "Reference": { + "title": "Reference", + "type": "string", + "description": "Additional reference number" + }, + "Contact": { + "type": "object", + "properties": { + "ContactID": { + "title": "Contact ID", + "type": "string", + "description": "Contact identifier" + } + }, + "description": "Contact" + }, + "BrandingThemeID": { + "title": "Branding theme ID", + "type": "string", + "description": "Branding theme identifier" + }, + "Status": { + "title": "Status", + "type": "string", + "description": "Purchase order status code", + "default": "DRAFT", + "enum": [ + "DRAFT", + "SUBMITTED", + "AUTHORISED", + "BILLED", + "DELETED" + ] + }, + "LineAmountTypes": { + "title": "Line amount types", + "type": "string", + "description": "Line amount types", + "default": "Exclusive", + "enum": [ + "Exclusive", + "Inclusive", + "No Tax" + ] + }, + "LineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ItemCode": { + "title": "Item code", + "type": "string", + "description": "Item code" + }, + "Description": { + "title": "Description", + "type": "string", + "description": "The description of the line item. A line item can be created with only a description (i.e no unit amount or quantity)" + }, + "UnitAmount": { + "title": "Unit amount", + "type": "number", + "format": "float", + "description": "Lineitem unit amount. Will be rounded to four decimal places" + }, + "TaxType": { + "title": "Tax type", + "type": "string", + "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct.", + "enum": [ + "CAPEXINPUT", + "CAPEXINPUT2", + "CAPEXOUTPUT", + "CAPEXOUTPUT2", + "CAPEXSRINPUT", + "CAPEXSROUTPUT", + "ECACQUISITIONS", + "ECZRINPUT", + "ECZROUTPUT", + "ECZROUTPUTSERVICES", + "EXEMPTINPUT", + "EXEMPTOUTPUT", + "GSTONIMPORTS", + "INPUT2", + "NONE", + "OUTPUT2", + "REVERSECHARGES", + "RRINPUT", + "RROUTPUT", + "SRINPUT", + "SROUTPUT", + "ZERORATEDINPUT", + "ZERORATEDOUTPUT" + ] + }, + "AccountCode": { + "title": "Ammount code", + "type": "string", + "description": "Account code" + }, + "Tracking": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Name": { + "title": "Name", + "type": "string", + "description": "Name" + }, + "Option": { + "title": "Option", + "type": "string", + "description": "Option" + } + } + }, + "description": "Tracking category" + }, + "Quantity": { + "title": "Quantity", + "type": "integer", + "format": "int32", + "description": "LineItem Quantity. If Quantity is specified then a UnitAmount must be specified" + }, + "DiscountRate": { + "title": "Discount rate", + "type": "string", + "description": "Percentage discount being applied to a line item" + } + } + }, + "description": "The Xero generated identifier for a LineItem." + }, + "CurrencyRate": { + "title": "Currency rate", + "type": "number", + "format": "float", + "description": "Currency rate" + }, + "CurrencyCode": { + "title": "Currency code", + "type": "string", + "description": "The currency that purchase order has been raised in. A 3 letter alpha code for the currency." + }, + "DeliveryAddress": { + "title": "Delivery address", + "type": "string", + "description": "The address the goods are to be delivered to." + }, + "AttentionTo": { + "title": "Attention to", + "type": "string", + "description": "The person that the delivery is going to." + }, + "Telephone": { + "title": "Telephone", + "type": "string", + "description": "The phone number for the person accepting the delivery." + }, + "DeliveryInstructions": { + "title": "Delivery instructions", + "type": "string", + "description": "A free text field for instructions (500 characters max)." + }, + "ExpectedArrivalDate": { + "title": "Expected arrival date", + "type": "string", + "description": "The date the goods are expected to arrive." + } + }, + "required": [ + "Contact", + "LineItems" + ] + } + } + ] + } + }, + "/PurchaseOrders/{PurchaseOrderID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a purchase order", + "description": "Use this method to retrieve one purchase order.", + "operationId": "PurchaseOrdersGetA", + "parameters": [ + { + "name": "PurchaseOrderID", + "in": "path", + "required": true, + "type": "string", + "description": "PurchaseOrderID", + "x-ms-summary": "Purchase order ID", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/BankTransfers": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get bank transfers", + "description": "Allows you to retrieve any bank transfers", + "operationId": "BankTransfersGet", + "parameters": [] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a bank transfer", + "description": "Use this method to create a bank transfer", + "operationId": "BankTransferCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "BankTransfers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "FromBankAccount": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." + }, + "AccountID": { + "title": "Account ID", + "type": "string", + "description": "The ID of the Bank Account. If AccountID is not included then Code is required." + } + }, + "description": "From bank account code and account ID." + }, + "ToBankAccount": { + "type": "object", + "properties": { + "Code": { + "title": "Code", + "type": "string", + "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." + }, + "AccountID": { + "title": "Account ID", + "type": "string", + "description": "The ID of the Bank Account. If AccountID is not included then Code is required." + } + }, + "description": "To bank account code and account ID." + }, + "Amount": { + "title": "Amount", + "type": "integer", + "format": "int32", + "description": "Transfer amount" + } + }, + "required": [ + "Amount" + ] + }, + "description": "BankTransfers" + }, + "Date": { + "title": "Date", + "type": "string", + "description": "transfer date" + } + }, + "required": [ + "BankTransfers" + ] + } + } + ] + } + }, + "/BankTransfers/{BankTransferID}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a bank transfer", + "parameters": [ + { + "name": "BankTransferID", + "in": "path", + "required": true, + "type": "string", + "description": "BankTransferID", + "x-ms-summary": "BankTransferID", + "x-ms-url-encoding": "single" + } + ], + "description": "Allows you to retrieve a bank transfer", + "operationId": "BankTransferGetA" + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://login.xero.com/identity/connect/authorize", + "tokenUrl": "https://identity.xero.com/connect/token", + "scopes": { + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.xero.com/us/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://www.xero.com/us/about/legal/privacy/" + }, + { + "propertyName": "Categories", + "propertyValue": "Finance;Data" + } + ] +} diff --git a/independent-publisher-connectors/Xero Accounting/apiProperties.json b/independent-publisher-connectors/Xero Accounting/apiProperties.json new file mode 100644 index 0000000000..13b20cd4fb --- /dev/null +++ b/independent-publisher-connectors/Xero Accounting/apiProperties.json @@ -0,0 +1,36 @@ +{ + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "C30BD41964B949D99FDAA6E4EC3BDDDC", + "scopes": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://login.xero.com/identity/connect/authorize" + }, + "tokenUrl": { + "value": "https://identity.xero.com/connect/token" + }, + "refreshUrl": { + "value": "https://identity.xero.com/connect/token" + } + } + } + } + }, + "iconBrandColor": "#ffffff", + "capabilities": [], + "publisher": "Hitachi Solutions", + "stackOwner": "Xero" + } +} diff --git a/independent-publisher-connectors/Xero Accounting/icon.png b/independent-publisher-connectors/Xero Accounting/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a348710611f3c8ca18f93f9a37d9f997b8f953 GIT binary patch literal 2096 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 AP5=M^ literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png b/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4c4cc221374a61101b5e26d9f93ea579a4b377 GIT binary patch literal 25036 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 UIOz+x{|%ZNS>36={UqwY0ik!4ivR!s literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/Xero Payroll - UK/settings.json b/independent-publisher-connectors/Xero Payroll - UK/settings.json new file mode 100644 index 0000000000..6cf24636ac --- /dev/null +++ b/independent-publisher-connectors/Xero Payroll - UK/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_xero-20payroll-20-2d-20uk-5f1a2efd764356a300-5fb3182c161023f139", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file diff --git a/independent-publisher-connectors/Xero Projects/README.md b/independent-publisher-connectors/Xero Projects/README.md new file mode 100644 index 0000000000..f0f6cb2be3 --- /dev/null +++ b/independent-publisher-connectors/Xero Projects/README.md @@ -0,0 +1,60 @@ +# Xero Projects +The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. Xero Projects allows businesses to track time and costs on projects/jobs and report on profitability. + +## Publisher: Hitachi Solutions + +## Prerequisites +To use this connector, you need the following + +- A Microsoft Power Apps or Power Automate plan with custom connector feature + +- A Xero account with either the demo company or a paid subscription tenant + +- A Xero developer account with a configured OAuth 2.0 application + + +## Obtaining Credentials +After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. + +## Getting Started +Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). + +## API Documentation +[Xero Projects API](https://developer.xero.com/documentation/projects/overview-projects) + +- [Projects](https://developer.xero.com/documentation/projects/projects) + +- [Tasks](https://developer.xero.com/documentation/projects/tasks) + +## Supported Operations +This connector supports the following operations: + +### Action: Retrieve a project +Allows you to retrieve a project. +### Action: Retrieve projects +Allows you to retrieve a list of projects. +### Action: Create a project +Allows you to create a new project. +### Action: Update a project +Allows you to update a project. +### Action: Update a project status +Allows you to update a project status. +### Action: Retrieve a task +Allows you to retrieve a task. +### Action: Retrieve tasks +Allows you to retrieve a list of tasks. +### Action: Create a task +Allows you to create a task. +### Action: Update a task +Allows you to update a task. +### Action: Delete a task +Allows you to delete a task. + +## Known Issues and Limitations +There are no known issues at time of publishing. + +## Frequently Asked Questions + + +## Deployment Instructions +Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json new file mode 100644 index 0000000000..e74074ce8d --- /dev/null +++ b/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json @@ -0,0 +1,582 @@ +{ + "swagger": "2.0", + "info": { + "title": "Default title", + "description": "Xero projects community connector.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.xero.com", + "basePath": "/projects.xro/2.0/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/Projects/{projectId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve a project", + "description": "Allows you to retrieve a project.", + "operationId": "ProjectGet", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "An individual project identifier", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "states", + "in": "query", + "required": false, + "type": "string", + "default": "INPROGRESS", + "enum": [ + "INPROGRESS", + "CLOSED" + ], + "description": "Filter for projects in a particular state.", + "x-ms-summary": "states", + "x-ms-url-encoding": "single" + }, + { + "name": "page", + "in": "query", + "required": false, + "type": "integer", + "default": 1, + "description": "Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.", + "x-ms-summary": "page", + "x-ms-url-encoding": "single" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "default": 50, + "description": "It is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.", + "x-ms-summary": "pageSize", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a project", + "operationId": "ProjectsUpdate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier.", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the project.", + "title": "Name" + }, + "deadlineUtc": { + "type": "string", + "description": "Deadline for the project. UTC Date Time in ISO-8601 format.", + "title": "Deadline UTC" + }, + "estimateAmount": { + "type": "number", + "format": "float", + "description": "Estimate for the project.", + "title": "Estimate amount" + } + }, + "required": [ + "name" + ] + } + } + ], + "description": "Update the project" + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a project status", + "description": "This method updates the status of a project.", + "operationId": "ProjectsUpdateStatus", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier.", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The project status.", + "title": "Status", + "default": "INPROGRESS", + "enum": [ + "INPROGRESS", + "CLOSED" + ] + } + }, + "required": [ + "status" + ] + } + } + ] + } + }, + "/Projects": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve projects", + "description": "Allows you to retrieve multiple projects", + "operationId": "ProjectsGetMultiple", + "parameters": [ + { + "name": "projectIds", + "in": "query", + "required": true, + "type": "string", + "description": "Search for all projects that match a comma separated list of projectIDs.", + "x-ms-summary": "projectIDs", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a project", + "description": "This method creates a project for the specified contact.", + "operationId": "ProjectsCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "contactId": { + "type": "string", + "description": "Identifier of the contact this project was created for.", + "title": "Contact ID" + }, + "name": { + "type": "string", + "description": "Name of the project.", + "title": "Name" + }, + "deadlineUtc": { + "type": "string", + "description": "Deadline for the project. UTC Date Time in ISO-8601 format.", + "title": "Deadline UTC" + }, + "estimateAmount": { + "type": "number", + "format": "float", + "description": "Estimate for the project.", + "title": "Estimate amount" + } + }, + "required": [ + "contactId", + "name" + ] + } + } + ] + } + }, + "/projects/{projectId}/tasks/{taskId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve a task", + "description": "Allows you to retrieve a task.", + "operationId": "TasksGet", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The task identifier", + "x-ms-summary": "taskID", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a task", + "description": "This method updates the details of a task.", + "operationId": "TasksUpdate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier.", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The task identifier.", + "x-ms-summary": "taskID", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the task. Max length 100 characters.", + "title": "Name" + }, + "rate": { + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "The currency abreviation", + "title": "Currency" + }, + "value": { + "type": "number", + "format": "float", + "description": "The rate amount", + "title": "Value" + } + }, + "description": "rate", + "required": [ + "currency", + "value" + ] + }, + "chargeType": { + "type": "string", + "description": "Defines how the task will be charged. Use `TIME` when you want to charge per hour and `FIXED` to charge as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.", + "title": "Charge type", + "default": "TIME", + "enum": [ + "TIME", + "FIXED", + "NON_CHARGEABLE" + ] + }, + "estimateMinutes": { + "type": "integer", + "format": "int32", + "description": "Estimated time to perform the task. Estimate minutes has to be greater than 0 if provided.", + "title": "Estimate minutes" + } + }, + "required": [ + "rate", + "chargeType" + ] + } + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a task", + "operationId": "TasksDelete", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier.", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The task identifier.", + "x-ms-summary": "taskID", + "x-ms-url-encoding": "single" + } + ], + "description": "This method will delete a task. Note that if the task has a service associated or has a status `INVOICED`, it will not be removed." + } + }, + "/projects/{projectId}/tasks": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Retrieve multiple tasks", + "operationId": "TasksGetMultiple", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier.", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "Task IDs", + "in": "query", + "required": true, + "type": "string", + "description": "Search for all tasks that match a comma separated list of taskIDs.", + "x-ms-summary": "taskID", + "x-ms-url-encoding": "single" + }, + { + "name": "Charge type", + "in": "query", + "required": false, + "type": "string", + "description": "Filters based on charge type", + "x-ms-summary": "chargeType", + "x-ms-url-encoding": "single", + "enum": [ + "TIME", + "FIXED", + "NON_CHARGEABLE" + ] + }, + { + "name": "Page", + "in": "query", + "required": false, + "type": "integer", + "default": 1, + "description": "The requested number of the page in paged response - Must be a number greater than 0.", + "x-ms-summary": "pageID", + "x-ms-url-encoding": "single" + }, + { + "name": "Page size", + "in": "query", + "required": false, + "type": "integer", + "default": 50, + "description": "The number of items to return per page in a paged response - Must be a number between 1 and 500.", + "x-ms-summary": "pageSize", + "x-ms-url-encoding": "single" + } + ], + "description": "Allows you to retrieve multiple tasks" + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a task", + "description": "This method creates a new task for a given project.", + "operationId": "TasksCreate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "type": "string", + "description": "The project identifier", + "x-ms-summary": "projectID", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the task. Max length 100 characters.", + "title": "Name" + }, + "rate": { + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "The currency abreviation", + "title": "Currency" + }, + "value": { + "type": "number", + "format": "float", + "description": "The rate amount", + "title": "Value" + } + }, + "description": "rate", + "required": [ + "currency", + "value" + ] + }, + "chargeType": { + "type": "string", + "description": "Defines how the task will be charged. Use `TIME` when you want to charge per hour and `FIXED` to charge as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.", + "title": "Charge type", + "default": "TIME", + "enum": [ + "TIME", + "FIXED", + "NON_CHARGEABLE" + ] + }, + "estimateMinutes": { + "type": "integer", + "format": "int32", + "description": "Estimated time to perform the task. Estimate minutes has to be greater than 0 if provided.", + "title": "Estimate minutes" + } + }, + "required": [ + "rate", + "chargeType" + ] + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://login.xero.com/identity/connect/authorize", + "tokenUrl": "https://identity.xero.com/connect/token", + "scopes": { + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.xero.com/us/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://www.xero.com/us/about/legal/privacy/" + }, + { + "propertyName": "Categories", + "propertyValue": "Finance;Data" + } + ] +} diff --git a/independent-publisher-connectors/Xero Projects/apiProperties.json b/independent-publisher-connectors/Xero Projects/apiProperties.json new file mode 100644 index 0000000000..d28e4d0e16 --- /dev/null +++ b/independent-publisher-connectors/Xero Projects/apiProperties.json @@ -0,0 +1,36 @@ +{ + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7B399A289E5E48AFB3426F38B5AA4C33", + "scopes": [ + "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://login.xero.com/identity/connect/authorize" + }, + "tokenUrl": { + "value": "https://identity.xero.com/connect/token" + }, + "refreshUrl": { + "value": "https://identity.xero.com/connect/token" + } + } + } + } + }, + "iconBrandColor": "#ffffff", + "capabilities": [], + "publisher": "Hitachi Solutions", + "stackOwner": "Xero" + } +} diff --git a/independent-publisher-connectors/Xero Projects/icon.png b/independent-publisher-connectors/Xero Projects/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ed10624430ac787fce71174da8a7527d7e3678ba GIT binary patch literal 9630 zcmd6NXH-*7)ULiDs5B9!7m;G6O9>qj=}koh1XPqD9RfrGfmcvadPg8YXd)s-st`g{ znzRr?F9}FX0)z+&EfBcz`@XwwS@*7Wf8Mjs+54H9J$vR%JG16F?`^D%xy}loJ#pd$ zm#N8}dnZn?5dS`>S(q^psPs5fx!G7eFkHlQW768s}0N9 z@A%02%Y5f`AC6T-|2$?${H^@|cUQ`IbF7|4`_>^Ll4>4xw7>c1k9JO*Rr!b)RAPig zd!ZZ(d9}Bpe)?4MY;t<<3~f>PM-W{zN03x>i6=QdTVwy|`eu4>2M@}P7#OD;nt#;h z{znNKs#X>|(5`2J$Jb0*x)w^b?~@H<-qT0=Y13teBfTX*#ITlQg)Vb7FH%BGlm!ARQy&W%RN=()SSsfN z1+|f6=vL9L7{b%-(I>qY;8*SDA+{_+^!$=g?l5h7L@byiSojrxPP_bQzLJqo%|9cq zW`UzOJ6`(Qr@8ID&;a~Z0Q;D=NK-3p%c7|Tn|`)vAGzdeySZi`IgXOhIx9~|OY%{L zERV@0!pt=nXCG28#B&A56oO_5YNM$j>3lr(!RJzy@af+%=4+gR@}ysYv?Q3+|4Er^ z1}2qC5lsG51;J>Pjl+Qb-ybDptgDi45(@OPgO)^1%Xi!R_unDUd^gdU2%UxfBgf3Z zq7+=7oZqaP`0s9|B&lO}L7o7Cro4GNa<0ctWqn?!wQFC6)HK3wQNkHHtf4ZWs0tvU zZlNdjft=puJfnGGB6;3wTrY(Ey|_=yRxakPTKcUp;Aq>z!YUMI}UyCY!= zpy*u7BP30}eWyyA@bcaOmk+1b>)!G{J{!(oIA+)_6EDd2k8Wna}$t zZA^Sq)5roJYi%wnOOg8U&Fg&!Geyh-Z#kYVe$Oi3kY6}F)6?Yj72jhh@};g9KK!#?)um2?)0K&ale=${WLMKC&gEv-LUnfSnk$O8n?!^q*<8w z#7SdRTK>r5Ur#FddTJoQ=6s`E4ir4})I_3PU{}=nkB9j~abS^%xKHoul$f#ltwE2h zr>wLe?lfXViBzupt$szep)H_a;_vzncfUlX+P{+b&v=%F_B*Tc_1fjljfW-X1yB1I zVzs!Izx}4p3X6qh+%D6|ShR^V1aLbCTHJ1Qrk`3 zKt3;q&1)s8MazBT0|Jz%QmP1+c>O+%0|Zt9D}wDo>>#iz6R7_MD&TGt6e350u);t+z#bpb>YJbbSnkD~; zQS+$u{@m!`8zcIkmh4)S<~!{1K?vfLR9^wHn^t&8@Y6z^IInvT2;T zXAmm9+P!|tdpmSv%boFfFcSLC2gVbiy{=Zdysl0i^K8~Ch^5JeOjaH5H8QBTClDPK zZ+Jf8bmFcK6}yHUBMh7J6WI{Qxaz#`JOPJ~6@V94D#?;|)5$%H70>2zKF2%DDy|g6 zBkx$U=R==Hogm%Tu&3snN(Dx!L;g4;^~LWLiD&pDLzpfF$B1+$%0`^tS<{Q$q3?A? zYI~#hb{s?VQDalg$vMEU?5$98|j)Q&PR ze#m!x?U}IrPd+)l1JxWrD8aLJmkadh4su{$ z*9&{9@n6STa?6XX(m8Z!K3rlEe=HZr*hMKyu`=4?B62EWR4~PHy`A4)_52GHh!L8? z&Zx_msnyQprwxV1t<5fTw0b_?ZTwa3oW7=eqfoz&;qIX-38>eUC1v-#hpEg`|^O5jHJ*v+DSNk2@p zWe7oP`uTNKyyu6jJtod8VlqfgLVaK4-mSv2#zA2k2;pk04iZ2HOm&62ZoM2g#ZqQF zGe`OuH(SPJTrps0X#Vo_o$XT34<^Q~6vVfS8%yCMwKEOWAM%%om52S*5bMzfwbZdo zUyr!Oq;;eTc@F%8)d(oYPcCCORKDK51bQwO!M-0s_QA3Q7Bq2A&|7CBKIdH-2w!O( zP`l#l5k+<$My8j>F10;{dVY2EIo1#hZg#F(A*JE36XOSU@eMD&(npHFmvVUZaMj|Z zb*#|>YYONv9kCFu1^j%g2rIM&Po{|V&Po&dw>SQTdEqv{&D=CMYpo00HQGHi9ZI3@ zLtJgmE1?n3qt~kU`Royn*1yKk`&&CoHQ986v8*-I^rX@5tSL`L#~7pyfwp~@&CvA4 zuCYR$cVD&U27g<|mB~CecXwLu#K%(&CeRS zxanKx$@a9h@m-+^$RnI30eW1l}qLcM}*aO=qeH|10$O8ll0$M z2D1OLEN82s`?UF%JFWDuOQeziuYO5N{+Om7`zfR?8oW79KW-iHNvJT_vfgt1wc!|3 z%D#N4GVFg;7&xXK^u?)bKVPgw@9Oc4HA>}%*=~&5ffr5>n|6a_0ML`s)&Je*y?yCr zK3qN2V+l=vE(Xa5ugH_KNIMg89FWg{eYIM&t2FpTa^8J`5wO(l)cmvd@vgz;pWM-m z#t2Haj3wj|8Z5N)cE=!n*Dk@Y$nfXOgUE6URldN1ajkawl#UU$BhW=P!1eCTaaF?i z>KB+iPGa^=_TYjnXAAtPrczwvb5oxF(6LUa&?frJY=vGk2PB=e6Oy&8dE;1c?M`zB zVZw|PvR=x*a;RdBu1s(D6rizLYL`2FT>Eke5*?YfRl~+l-?dJseTUf(cx0ynbL~v^ zn$AGda}KUg>^dw{FBF|WQ z+83GApm;*x^^fwVE+`KvWSQSYgtU$ZfiTOJH}lYtK4DPUBZwK%z83LItCRy0Izv=S z7l%=2SRi%AijJx+RsU!W?o3IjPA!XJjhbfRu~&4o34}u)JACyPC65itrwcDfpzX#b zouAKyw(ndb{RW@_sRdWUb>_czxzMkBd(RGSxe~|<4Hw>mjjbGM4p$~x(2ocg zXy-*1pGoW7Mf=G+^PwgVFt4_S`Due+($}S@+sl=z;ARb+m=ciBk;KLVjKqcjrG z*VVfpj5m;}hA2a=cxm0#*rmwny*x;bvXeWzw+&Wm`7mYsWToT5ZsD1zh=O2netZ)U zs9L64&2HeAOEUqWRKIM19&de|vJp5>8*%_ov<%saoul1z!p&UKd5HEKm>sEkTp2S3 ziiS_jiXy)Ds}5~tJ3r4wa6nqbYUR?!hA1909LmmFgurt+kexV zg-6k$@_QJMc)%rMtV8xhXm6wMx#;^ zY4erbEfOy%f>e9Kp7*=kI$Xi6p{O9FQV;cErP8@RZeQ~LTYV36-(cn|yaS+u*d&}H$Y3d1R9^@Alp+`~zMY!E@CLm^wq6rq$?2L1V2+hNT zXtW6J!i(un+5_{*s0am8p%O@(z6AW-a-bcE0l!w+6;ZHyJXXCdwgvN+BI=x_BTIV* z_8S*-4hC6a3vAGfA^GJ-e{#}73sNr9bWiDAB3XhW`oin(ky%9-*`T~Z`4`Ju#;xdy zHNpl8-)Ym$rG5(uTXsNpnegt_M&wyYf2le;bh$E3>!Lcb zCq;&yzW^L`|Lv9z?Ht!GpRR{Dn?b0sIbDLsBZIlvo5RguUC%+exSMj{qVUb|W)ny} z%pM8yH!+wywO%Yii5Q3QMH?m6A>h06#Kd&GEMa0wBdYz()zGuuOQe4v{Mz zf1R+*rsF#X9gDc7Grm{b7(>g4b3k5UXO<5idt-)#qFlV7Z55kOy{fQ!pde=7OGM)@ zk;s8AUf)(bFZ%*#+Zg)VHPiqFa^ysmJhSWZ%1n3iV!ed+XU&c(NQ(eNI#O>4v>Kh5$71>kS=3a?$gRujgu? z$7RDMs+smu9CRFvT?Y9JPN_L{3W}?NqfC7CqFtm2lBNoZL@Gno9%DTmVVJjLkR0|Q zSrx)eyFoZ9uUS)+&K}6ff_eDk_R@;||QOq^5$yDJgk-B}f5!e`CKC$}6 z*OLKvP8ZiVkgVub!QAf6w1LFv2mGzt^ac##s+hs$q{UK%aTS|ulEA*Rz-v?@z zsh=Jn`Swyt>1yIfga!*e(V^=urbmp{4e-mRy@&~R`)W`Vnje3arL{xyl#UhJNd}r( z^uFX@ID39$xaYQs&tPGl08NPzKLK*@=gWW@l~wjpdycLm-&5E@?^ zx$;OOM1m$lU1?QF#NB!I%0Jx=Y>5fGNE-+E70}#jJ_mett$TFvyxV8b@Mru@6bV@2 z^SkjEtmc_4BW-aq{U7F7YeO@_`I~+LVh69SZl!gp$;zyRgMhu0illg5IqVEORKk&} z3*GipSUaxPtG|Fdh14@ZY3QQONBxra5)_>6#yv;a2bL$sSLBLiqQ6^ii_y);Y{izO^> zWE;Y8iIZHlQFt_{0+5_TGfH0FIB9SUW3E2&7IWourA=>RpMk`cNO>`YrtMoqLO0=I zR}gI3q1g3p6OVyk3iXw#-t*iCA)+)VH_w8#wy*vlTu(vY82DvSJxozc!rq$P^rntA z?bwi+(~x_5X6Vp{(wYO6(pXkThMad}w(;hKG3EA**)SkElLn29p{2m*!l!AYQ~!!b zu53KoU5LhCCZwiC3SQ#Ormpuu`f=~ZKEYMXY) zawp^6=x_>4a*_v0Wl`@2(TH8=62Ug@XsWk#=ayfa&1nw$AoVffn%2RPx;68x4RXz; zZzwdObk5@YLYf?bIR*J?Gd;$oUwW$Cg?6_aS_KXtm_I?gNi$Y#O-Zs8*S2j&h9;5V zaMXJ+ICU?Lo%IxQ7S2x4zK!*}a>=3ppw;pjOSDVCj??Es+RT+-vN=YFDO2~to=7b* zP1FPCj;qGmx#o}dc4N|lE>+{m{<1cE`*pb&E zn>ADw%0wLZ7_f8d4u?30e(&FlD z*IB*Ynd5W|_vyeJVBL^k?)tG4Zj27~!1A=5KWD@J?i|f)%#WdRAAMi-@)^kMs(|6Y zImd4Hq}8p~H3Om|U@uzGea)ZCSFJD#_g#7{qG0T@$YOB;g_D`t&|kc?xZO{TRnWNpzb z=`Q>9ZlgEiEzq&jqPuUen_()iQ0hbX+USo$bIw>}`6rv&cW)A&nxY=y;newicFUzL zR(_5!_}sqekD2#~shief^M$nj3r(p7icB-T2Xn=1Z~)<@&|!viDcqIP78wz02F`g8 ziQDdHg;1Q(9cdB3FC01J5f6ueUX~tirx@Xc`hg~&kykA$uq$C^%sq902{A2cS3QMK*kk1fPM=r5GN3>I*BFi zuDIjWwG04w{f@zbmqVa<25pfs6WsJt@wMLAy9c;`>^kADUY&tWlVeCsKj9faMU!0p zVz(q4z+*;l?-tW?B75QLvl(^WJeAJyI3b#OzV*)9uYF+w$fF6m!+X$?WOdnk&5Qm} zdg;Ww?=M^_M>VeRl7wijrpLiWc8l~-RKdgnz|=ak3GonfSqe z4-(b0q}Y)!v4%IXsQjr7$9LuU740zW%m;N%X{8VhRR)@K_%^e^`G#9$RW$Q6$xs|h zqq;9XX71+{)_yDNUHTX(D?!>CV8;v^-0EIBqVwR5q5C*) zrR_4Q@m^rkv|XKMw^;CE6_h*vLwy!QwbIy>+zcr>3zEcM&#sjTjd$(W5&dmgiR^NxKpCjd~HG`9X< zjJm}Sk+`4rafe}NlOgO%6DOQZRDDN6(I_iOeTHcC_-f_pn#=SB{hhswHT}BJck1@m zFRge6ynV3P{>@-_it<(=4c{RDa8Z9kr1^LUwjzx6wiZ{Hs{w)9LJVCWGs}vcgCB7F z#y}IAstl>zd;2RXtHNoGB4av#HktwbM}g$H*x?SSwSV-6R*T3&=~A7aGG0zCU{0LA z%f39~`_$P};y|M^?6J2pec{=j5Q9x8C`j*+!B{fzGp+*fEQT|Lj#HERUHfDAWf|1V z+tr{(Ef++YLUoGgtiTtXG_33MX2;b{xH!I1y4&0Gq=no1`<&2PEFOR~S zrb6e~!&RX%6WLAQ9Gq|D>R!R#w&Vg1R=()l?7~nu%{*yD9%vWT7=pAnLT1K}y}^jZ z&3k?2_v7P#|2}KPhrR9Seo2z79MFcyyqXh|^Nbl3ORnzPBt9&DKK){0Z{=a}6Ut@J zRP-MJ7I#_9Jm@C&>z$szAU>$}PO}O7U-0gZwj5SSH*rJB5@(ZPS`uc#r+(oDT{54S z;csXwUE}+1t=uW@JhIRIL5=S7GI~~W zxzu8Y5FZu}{GDut^Sm}gqY@Wh1h+JvQbjn=1rgWMug@If5~f;HxC;m-Jaty1{T_^m<3 ze+r!X+dEc-)at0SxgUk@&KqoSk~j<8g)CJBF{VG=NK0i7-6`nP#0b?=H~pTJq?7sM z;&&+Gr5wmAQm zDC0lM`4aHxBd1le)HU}0zvM-Fe|=smb3^CCS>q!qqyW4YtNt}LuDL3+vtCYmVY@nJQ#)VV_|YqdcTduxX;M(z$%`p<|3kh8R$TuoPUx2Y3@*Bt z?6#-f`0%6OYQU$?ik{bIvzIgugfcZ40XBIB-_ih4Q6{v`i)5Ub8E1i&Tpq#h{g07~ zvao>k^JxCo!JwESe#m~CNsdhu#u6`dvgV0$C~yz|=GT(gUrtFWpyz)B@AWG!P{h!3 zE}aeN;t7BwW)ZI?{-{ier+g=Q#NDHB9}T4~b(c+{r@<8@DPtq-JA3IFH@Cfp&MCJJ zwD8WP;EA60oe%0??xpXl(jYm$$y^*X-an!u{6x2ToZKV$j3qlq5Q3Bt1-#GxHLv=T zaT%C{W`LntWft-iSvFVQSJYySxnh7LExjs4y1SrmzH;>SUoAzp@9w7HqZ~#jeKX)+%E0d<&t17-M&T?lzMqM=^*1KvpZv2^c5-AJ9jVa? z#V`$`xxsnflaER$ZDFZv!PieWjRgZH4>TFK1TVrylxn4GcQIlSpqUMAh> zDEvZN3}B2+1<~)u&k6!;@BW>|HUBpn^gp;!`TwLrN7xm7{g2FAfm3Y#RL{f2(*D2f zsR}1LRivOWdBf|dcd9nJzXfzDH3$GK6>qD0sow^E@6?uUi54=#HljH@D`EEy(r5Jp zHy(b}B&m)16soZOm2P=lGoF*~hAm=U;Co@|pw;Z9kLO3M3v|nQyLMgVhcahu)9%Ma zM=FeFE@k`{?6~c0T5TWH@w7-cJd5z?6AwOi86e5A%_FoLU9k*!$`P!!s-qZCa^CZ@ zaT(>a&NuTj<=e;%KVS|EuQ-I~~xB!pICmXEMh zbN5kVKzjsuwXM90pHnd(pHWMKZo|*vREkyUuaz!;E3o**<*f_9*DH#y zs_$KfWvgIXBvvTye^JcyjQkoP=5SIMjVCQsJtFw*l?nYMM- zYJdO%-*6}A=9ubFrKHcWH`4$hr(KKvHM?lTlj2IoC&kM`?l=z^jCP6smzp-hxjW&^ z5FbW>J7Yedl#)K7JQAvWL!jqDG4nH>i}KA9&co|{{@MW6qqVcJE2B2qB6RGb(W#`9 z^5Z&Po-dPx4nMW!)T=z#bKzQ>;6bc#;+wzntofmne$@IZ#-8L_D_M_@RQ;f$HrF$L zms&l5*3d}+p7rZPf6__%{idZ*0bdxiOs}m!8u=;8RuFtGwg|{D?E4+RO;7OzNsKT1 z_a|o?Gz?l6j!hO}cL~ky3jO44!z$BoSN0uJ{TZ!WLX(9qVdH?^qv9R5Xzqi9_Xq|d>C(608G6A*9?8D)R^8YTl@qnTM_SCu4)L7lma!sA z$fjqL8iKogHS?{QaXca2MG7T{HKWI=2d=v97TdJs=f|l&CF=j*{Ri~7LZw^BvK*(* UIOz+x{|%ZNS>36={UqwY0ik!4ivR!s literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/Xero Projects/settings.json b/independent-publisher-connectors/Xero Projects/settings.json new file mode 100644 index 0000000000..b20740652c --- /dev/null +++ b/independent-publisher-connectors/Xero Projects/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_msft-5fxero-20projects-5f1a2efd764356a300", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file From f1a1cc303010a9c09323b3bb701cd995de39abbf Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Thu, 3 Jun 2021 17:06:45 -0400 Subject: [PATCH 06/25] certify-connector --- .../Getting Started with HubSpot Workflows | 25 + .../HubSpot CRM/README.md | 169 + .../HubSpot CRM/apiDefinition.swagger.json | 6272 +++++++++++++++++ .../HubSpot CRM/apiProperties.json | 75 + .../HubSpot CRM/icon.png | Bin 0 -> 2862 bytes .../HubSpot CRM/msedge_KE1O1FSJEg.png | Bin 0 -> 13077 bytes .../HubSpot CRM/msedge_Kl4ymVJGp0.png | Bin 0 -> 24590 bytes .../HubSpot CRM/settings.json | 9 + 8 files changed, 6550 insertions(+) create mode 100644 independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows create mode 100644 independent-publisher-connectors/HubSpot CRM/README.md create mode 100644 independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot CRM/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot CRM/icon.png create mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png create mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png create mode 100644 independent-publisher-connectors/HubSpot CRM/settings.json diff --git a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows new file mode 100644 index 0000000000..64e8bbccdd --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows @@ -0,0 +1,25 @@ +# Getting Started with HubSpot Workflows and Power Automate + +In order to use HubSpot Workflows as a trigger with Power Automate, you will need to first configure a instant cloud flow using the 'When a HTTP request is received' [trigger](https://docs.microsoft.com/en-us/learn/modules/http-connectors/4-http-request). After saving the flow, the trigger will populate with a HTTP Post URL you will use later with your HubSpot Workflow. + +![Example of HTTP request trigger](msedge_Kl4ymVJGp0.png) + +It is highly recommended that a separate flow be created for each HubSpot object workflow in order to minimize JSON parse errors, e.g. workflows for new contacts and contact updates, with best practice being separate flows for each object action. An example using the default HubSpot fields for contacts can be [found here](Contact%20JSON.json). Keep in mind that if your HubSpot object have any custom fields or you later add custom fields, you will need to generate the schema again using the new JSON payload. + +[HubSpot Workflows](https://knowledge.hubspot.com/workflows/create-workflows) can be found on the menu bar in your HubSpot account. You can create workflows for any object that your account has access to: + + - Contacts + - Companies + - Deals + - Conversations + - Quotes (with Sales Hub Enterprise) + - Tickets (with Service Hub Professional or Enterprise) + - Custom objects (Enterprise only) + +Similar to Power Automate, Workflows are built using a trigger and subsequent actions. + +![Example of a contact workflow with trigger filters needing to be set](msedge_KE1O1FSJEg.png) + +A trigger can only select one HubSpot object to monitor, but within that object, multiple filters can selected using any of the object fields with And and Or rules. Once your trigger is configured, you will need to add a 'Trigger Webhook' action. In the Webhook URL textbox, add the URL the flow trigger generated and click Save. You will now need to review the workflow configuration and turn the workflow on to start triggers to Power Automate. + +The HTTP call from HubSpot is queued, so expect a delay of 10 seconds or more before the Power Automate trigger starts. diff --git a/independent-publisher-connectors/HubSpot CRM/README.md b/independent-publisher-connectors/HubSpot CRM/README.md new file mode 100644 index 0000000000..ddf65875e6 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/README.md @@ -0,0 +1,169 @@ +# HubSpot CRM +HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. Powerful sales CRM software to help teams close more deals, deepen relationships, and manage their pipeline more effectively — all on one easy-to-use platform. + +## Publisher: Hitachi Solutions + +## Prerequisites +A paid or trial HubSpot account. + +## Supported Operations + +### Companies + +#### List companies +Return a list of companies. +#### Create a company +Create a company with the given properties and return a copy of the object, including the ID. +#### Get a company +Read a company identified by {companyId}. +#### Update a company +Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a company +Move a company identified by {companyId} to the recycling bin. + +### Contacts + +#### List contacts +Read a list of contacts. +#### Create a contact +Create a contact with the given properties and return a copy of the object, including the ID. +#### Get a contact +Read a contact identified by {contactId}. +#### Update a contact +Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a contact +Move a contact identified by {contactId} to the recycling bin. + +### Deals + +#### List deals +Return a list of deals. +#### Create a deal +Create a deal with the given properties and return a copy of the object, including the ID. +#### Get a deal +Read a deal identified by {dealId}. +#### Update a deal +Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a deal +Move a deal identified by {dealId} to the recycling bin. + +### Products + +#### List products +Return a list of products. +#### Create a product +Create a product with the given properties and return a copy of the object, including the ID. +#### Get a product +Read a product identified by {productId}. +#### Update a product +Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a product +Move a product identified by {productId} to the recycling bin. + +### Owners + +#### List owners +Return a list of owners. +#### Get an owner +Read an owner by given id or userId. + +### Pipelines + +#### List pipelines +Return all pipelines for the object type specified by {objectType}. +#### Create a pipeline +Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response. +#### Get a pipeline +Return a single pipeline object identified by its unique {pipelineId}. +#### Update a pipeline +Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response. +#### Replace a pipeline +Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response. +#### Delete a pipeline +Move a pipeline identified by {pipelineId} to the recycling bin. + +### Pipeline Stages + +#### Create a pipeline stage +Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response. +#### Get a pipeline stage +Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}. +#### Update a pipeline stage +Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response. +#### Replace a pipeline stage +Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response. +#### Delete a pipeline stage +Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. + +### Properties + +#### List properties +Read all existing properties for the specified object type and HubSpot account. +#### Create a property +Create and return a copy of a new property for the specified object type. +#### Get a property +Read a property identified by {propertyName}. +#### Update a property +Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten. +#### Delete a property +Move a property identified by {propertyName} to the recycling bin. + +### Line Items + +#### List line items +Return a list of line items. Control what is returned via the properties query param. +#### Create a line item +Create a line item with the given properties and return a copy of the object, including the ID. +#### Get a line item +Read a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. +#### Update a line item +Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Delete a line item +Move an Object identified by {lineItemId} to the recycling bin. + +### Tickets + +#### List tickets +Read a list of tickets. Control what is returned via the properties query param. +#### Create a ticket +Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided. +#### Get a ticket +Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. +#### Update a ticket +Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. +#### Archive a ticket +Move a ticket identified by {ticketId} to the recycling bin. + +### Search + +#### Search Companies +Perform a search across companies. +#### Search Contacts +Perform a search across contacts. +#### Search Deals +Perform a search across deals. +#### Search Products +Perform a search across products. +#### Search Tickets +Perform a search across tickets. +#### Search Line Items +Perform a search across line items. +#### Search Quotes +The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across quotes. +#### Search Custom Objects +Perform a search across custom objects. + +## Obtaining Credentials +A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json new file mode 100644 index 0000000000..8f4a5637f7 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json @@ -0,0 +1,6272 @@ +{ + "swagger": "2.0", + "info": { + "title": "Default title", + "description": "HubSpot\u2019s CRM is a system for managing customer relationships and storing data. The CRM custom connector provides access to CRM objects or groups of objects, which are represented as a map of property names to values.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/crm/v3/objects/companies": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List companies", + "description": "Return a list of companies.", + "operationId": "CompaniesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "x-ms-visibility": "important", + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single", + "x-ms-visibility": "advanced" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single", + "x-ms-visibility": "advanced" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a company", + "description": "Create a company with the given properties and return a copy of the object, including the ID.", + "operationId": "CompaniesCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "about_us": { + "title": "About usAbout Us", + "type": "string", + "description": "about_us" + }, + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "address2": { + "title": "Address 2", + "type": "string", + "description": "address2" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "domain": { + "title": "Domain", + "type": "string", + "description": "domain" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "facebook_company_page": { + "title": "Facebook company page", + "type": "string", + "description": "facebook_company_page" + }, + "facebookfans": { + "title": "Facebook fans", + "type": "string", + "description": "facebookfans" + }, + "first_contact_createdate": { + "title": "first contact create date", + "type": "string", + "description": "first_contact_createdate" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "founded_year": { + "title": "Founded year", + "type": "string", + "description": "founded_year" + }, + "googleplus_page": { + "title": "GooglePlus page", + "type": "string", + "description": "googleplus_page" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_ideal_customer_profile": { + "title": "HubSpot ideal customer profile", + "type": "string", + "description": "hs_ideal_customer_profile" + }, + "hs_is_target_account": { + "title": "HubSpot is target account", + "type": "string", + "description": "hs_is_target_account" + }, + "hs_last_booked_meeting_date": { + "title": "HubSpot last booked meeting date", + "type": "string", + "description": "hs_last_booked_meeting_date" + }, + "hs_last_logged_call_date": { + "title": "HubSpot last logged call date", + "type": "string", + "description": "hs_last_logged_call_date" + }, + "hs_last_open_task_date": { + "title": "HubSpot last open task date", + "type": "string", + "description": "hs_last_open_task_date" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_num_blockers": { + "title": "HubSpot number of blockers", + "type": "string", + "description": "hs_num_blockers" + }, + "hs_num_child_companies": { + "title": "HubSpot number of child companies", + "type": "string", + "description": "hs_num_child_companies" + }, + "hs_num_contacts_with_buying_roles": { + "title": "HubSpot number of contacts with buying roles", + "type": "string", + "description": "hs_num_contacts_with_buying_roles" + }, + "hs_num_decision_makers": { + "title": "HubSpot number of decision makers", + "type": "string", + "description": "hs_num_decision_makers" + }, + "hs_num_open_deals": { + "title": "HubSpot number of open deals", + "type": "string", + "description": "hs_num_open_deals" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_parent_company_id": { + "title": "HubSpot parent company ID", + "type": "string", + "description": "hs_parent_company_id" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_total_deal_value": { + "title": "HubSpot total deal value", + "type": "string", + "description": "hs_total_deal_value" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "is_public": { + "title": "Is public", + "type": "string", + "description": "is_public" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "linkedin_company_page": { + "title": "LinkedIn company page", + "type": "string", + "description": "linkedin_company_page" + }, + "linkedinbio": { + "title": "LinkedIn bio", + "type": "string", + "description": "linkedinbio" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "numberofemployees": { + "title": "Number of employees", + "type": "string", + "description": "numberofemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "timezone": { + "title": "Timezone", + "type": "string", + "description": "timezone" + }, + "total_money_raised": { + "title": "Total money raised", + "type": "string", + "description": "total_money_raised" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterbio": { + "title": "Twitter bio", + "type": "string", + "description": "twitterbio" + }, + "twitterfollowers": { + "title": "Twitter followers", + "type": "string", + "description": "twitterfollowers" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "web_technologies": { + "title": "Web technologies", + "type": "string", + "description": "web_technologies" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + }, + "required": [ + "name" + ] + } + } + } + } + ] + } + }, + "/crm/v3/objects/companies/{companyId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a company", + "description": "Read a company identified by {companyId}.", + "operationId": "CompaniesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company", + "x-ms-summary": "companyID", + "x-ms-url-encoding": "single", + "x-ms-visibility": "important" + }, + { + "name": "properies", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to return only companies that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a company", + "description": "Move a company identified by {companyId} to the recycling bin.", + "operationId": "CompaniesArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company", + "x-ms-visibility": "important", + "x-ms-summary": "companyID", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a company", + "description": "Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "CompaniesUpdate", + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "The companyId of the company.", + "x-ms-visibility": "important", + "x-ms-summary": "companyId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "about_us": { + "title": "About us", + "type": "string", + "description": "about_us" + }, + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "address2": { + "title": "Address 2", + "type": "string", + "description": "address2" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "domain": { + "title": "Domain", + "type": "string", + "description": "domain" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "facebook_company_page": { + "title": "Facebook company page", + "type": "string", + "description": "facebook_company_page" + }, + "facebookfans": { + "title": "Facebook fans", + "type": "string", + "description": "facebookfans" + }, + "first_contact_createdate": { + "title": "first contact create date", + "type": "string", + "description": "first_contact_createdate" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "founded_year": { + "title": "Founded year", + "type": "string", + "description": "founded_year" + }, + "googleplus_page": { + "title": "GooglePlus page", + "type": "string", + "description": "googleplus_page" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_ideal_customer_profile": { + "title": "HubSpot ideal customer profile", + "type": "string", + "description": "hs_ideal_customer_profile" + }, + "hs_is_target_account": { + "title": "HubSpot is target account", + "type": "string", + "description": "hs_is_target_account" + }, + "hs_last_booked_meeting_date": { + "title": "HubSpot last booked meeting date", + "type": "string", + "description": "hs_last_booked_meeting_date" + }, + "hs_last_logged_call_date": { + "title": "HubSpot last logged call date", + "type": "string", + "description": "hs_last_logged_call_date" + }, + "hs_last_open_task_date": { + "title": "HubSpot last open task date", + "type": "string", + "description": "hs_last_open_task_date" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_num_blockers": { + "title": "HubSpot number of blockers", + "type": "string", + "description": "hs_num_blockers" + }, + "hs_num_child_companies": { + "title": "HubSpot number of child companies", + "type": "string", + "description": "hs_num_child_companies" + }, + "hs_num_contacts_with_buying_roles": { + "title": "HubSpot number of contacts with buying roles", + "type": "string", + "description": "hs_num_contacts_with_buying_roles" + }, + "hs_num_decision_makers": { + "title": "HubSpot number of decision makers", + "type": "string", + "description": "hs_num_decision_makers" + }, + "hs_num_open_deals": { + "title": "HubSpot number of open deals", + "type": "string", + "description": "hs_num_open_deals" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_parent_company_id": { + "title": "HubSpot parent company ID", + "type": "string", + "description": "hs_parent_company_id" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_total_deal_value": { + "title": "HubSpot total deal value", + "type": "string", + "description": "hs_total_deal_value" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "is_public": { + "title": "Is public", + "type": "string", + "description": "is_public" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "linkedin_company_page": { + "title": "LinkedIn company page", + "type": "string", + "description": "linkedin_company_page" + }, + "linkedinbio": { + "title": "LinkedIn bio", + "type": "string", + "description": "linkedinbio" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "numberofemployees": { + "title": "Number of employees", + "type": "string", + "description": "numberofemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "timezone": { + "title": "Timezone", + "type": "string", + "description": "timezone" + }, + "total_money_raised": { + "title": "Total money raised", + "type": "string", + "description": "total_money_raised" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterbio": { + "title": "Twitter bio", + "type": "string", + "description": "twitterbio" + }, + "twitterfollowers": { + "title": "Twitter followers", + "type": "string", + "description": "twitterfollowers" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "web_technologies": { + "title": "Web technologies", + "type": "string", + "description": "web_technologies" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + }, + "required": [ + "name" + ] + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List contacts", + "description": "Read a list of contacts.", + "operationId": "ContactsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": true, + "type": "integer", + "default": 10, + "x-ms-visibility": "important", + "description": "The maximum number of results to return", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "properties[]", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a contact", + "description": "Create a contact with the given properties and return a copy of the object, including the ID.", + "operationId": "ContactsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "company": { + "title": "Company", + "type": "string", + "description": "company" + }, + "company_size": { + "title": "Company size", + "type": "string", + "description": "company_size" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "currentlyinworkflow": { + "title": "Currenly in workflow", + "type": "string", + "description": "currentlyinworkflow" + }, + "date_of_birth": { + "title": "Date of birth", + "type": "string", + "description": "date_of_birth" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "degree": { + "title": "Degree", + "type": "string", + "description": "degree" + }, + "email": { + "title": "Email", + "type": "string", + "description": "email" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "fax": { + "title": "Fax", + "type": "string", + "description": "fax" + }, + "field_of_study": { + "title": "Field of study", + "type": "string", + "description": "field_of_study" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "firstname": { + "title": "First name", + "type": "string", + "description": "firstname" + }, + "gender": { + "title": "Gender", + "type": "string", + "description": "gender" + }, + "graduation_date": { + "title": "Graduation date", + "type": "string", + "description": "graduation_date" + }, + "hs_analytics_average_page_views": { + "title": "HubSpot analytics average page views", + "type": "string", + "description": "hs_analytics_average_page_views" + }, + "hs_analytics_first_referrer": { + "title": "HubSpot analytics first referrer", + "type": "string", + "description": "hs_analytics_first_referrer" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_url": { + "title": "HubSpot analytics first URL", + "type": "string", + "description": "hs_analytics_first_url" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_referrer": { + "title": "HubSpot analytics last referrer", + "type": "string", + "description": "hs_analytics_last_referrer" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_url": { + "title": "HubSpot analytics last URL", + "type": "string", + "description": "hs_analytics_last_url" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_event_completions": { + "title": "HubSpot analytics number of event completions", + "type": "string", + "description": "hs_analytics_num_event_completions" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_revenue": { + "title": "HubSpot analytics revenue", + "type": "string", + "description": "hs_analytics_revenue" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_buying_role": { + "title": "HubSpot buying role", + "type": "string", + "description": "hs_buying_role" + }, + "hs_content_membership_email_confirmed": { + "title": "HubSpot content membership email confirmed", + "type": "string", + "description": "hs_content_membership_email_confirmed" + }, + "hs_content_membership_notes": { + "title": "HubSpot content membership notes", + "type": "string", + "description": "hs_content_membership_notes" + }, + "hs_content_membership_registered_at": { + "title": "HubSpot content membership registered at", + "type": "string", + "description": "hs_content_membership_registered_at" + }, + "hs_content_membership_registration_domain_sent_to": { + "title": "HubSpot content membership registration domain sent to", + "type": "string", + "description": "hs_content_membership_registration_domain_sent_to" + }, + "hs_content_membership_registration_email_sent_at": { + "title": "HubSpot content membership registration email sent at", + "type": "string", + "description": "hs_content_membership_registration_email_sent_at" + }, + "hs_content_membership_status": { + "title": "HubSpot content membership status", + "type": "string", + "description": "hs_content_membership_status" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_email_bad_address": { + "title": "HubSpot email bad address", + "type": "string", + "description": "hs_email_bad_address" + }, + "hs_email_bounce": { + "title": "HubSpot email bounce", + "type": "string", + "description": "hs_email_bounce" + }, + "hs_email_click": { + "title": "HubSpot email click", + "type": "string", + "description": "hs_email_click" + }, + "hs_email_customer_quarantined_reason": { + "title": "HubSpot email customer quarnatined reason", + "type": "string", + "description": "hs_email_customer_quarantined_reason" + }, + "hs_email_delivered": { + "title": "HubSpot email delivered", + "type": "string", + "description": "hs_email_delivered" + }, + "hs_email_domain": { + "title": "Domain", + "type": "string", + "description": "hs_email_domain" + }, + "hs_email_first_click_date": { + "title": "HubSpot email first click date", + "type": "string", + "description": "hs_email_first_click_date" + }, + "hs_email_first_open_date": { + "title": "HubSpot email first open date", + "type": "string", + "description": "hs_email_first_open_date" + }, + "hs_email_first_reply_date": { + "title": "HubSpot email first reply date", + "type": "string", + "description": "hs_email_first_reply_date" + }, + "hs_email_first_send_date": { + "title": "HubSpot email first send date", + "type": "string", + "description": "hs_email_first_send_date" + }, + "hs_email_hard_bounce_reason_enum": { + "title": "HubSpot email hard bounce reason enumerated", + "type": "string", + "description": "hs_email_hard_bounce_reason_enum" + }, + "hs_email_last_click_date": { + "title": "HubSpot email last click date", + "type": "string", + "description": "hs_email_last_click_date" + }, + "hs_email_last_email_name": { + "title": "HubSpot email last email name", + "type": "string", + "description": "hs_email_last_email_name" + }, + "hs_email_last_open_date": { + "title": "HubSpot email last open date", + "type": "string", + "description": "hs_email_last_open_date" + }, + "hs_email_last_reply_date": { + "title": "HubSpot email last reply date", + "type": "string", + "description": "hs_email_last_reply_date" + }, + "hs_email_last_send_date": { + "title": "HubSpot email last send date", + "type": "string", + "description": "hs_email_last_send_date" + }, + "hs_email_open": { + "title": "HubSpot email open", + "type": "string", + "description": "hs_email_open" + }, + "hs_email_optout": { + "title": "HubSpot email optout", + "type": "string", + "description": "hs_email_optout" + }, + "hs_email_optout_12592317": { + "title": "HubSpot email optout 12592317", + "type": "string", + "description": "hs_email_optout_12592317" + }, + "hs_email_quarantined": { + "title": "HubSpot email quarantied", + "type": "string", + "description": "hs_email_quarantined" + }, + "hs_email_quarantined_reason": { + "title": "HubSpot email quarantied reason", + "type": "string", + "description": "hs_email_quarantined_reason" + }, + "hs_email_replied": { + "title": "HubSpot email replied", + "type": "string", + "description": "hs_email_replied" + }, + "hs_email_sends_since_last_engagement": { + "title": "HubSpot email sends since last engagement", + "type": "string", + "description": "hs_email_sends_since_last_engagement" + }, + "hs_emailconfirmationstatus": { + "title": "HubSpot email confirmation status", + "type": "string", + "description": "hs_emailconfirmationstatus" + }, + "hs_facebook_click_id": { + "title": "HubSpot Facebook click ID", + "type": "string", + "description": "hs_facebook_click_id" + }, + "hs_feedback_last_nps_follow_up": { + "title": "HubSpot feecback last NPS follow up", + "type": "string", + "description": "hs_feedback_last_nps_follow_up" + }, + "hs_feedback_last_nps_rating": { + "title": "HubSpot feedback last NPS rating", + "type": "string", + "description": "hs_feedback_last_nps_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_google_click_id": { + "title": "HubSpot Google click ID", + "type": "string", + "description": "hs_google_click_id" + }, + "hs_ip_timezone": { + "title": "HubSpot IP timezone", + "type": "string", + "description": "hs_ip_timezone" + }, + "hs_is_unworked": { + "title": "HubSpot is unworked", + "type": "string", + "description": "hs_is_unworked" + }, + "hs_language": { + "title": "HubSpot language", + "type": "string", + "description": "hs_language" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_legal_basis": { + "title": "HubSpot legal basis", + "type": "string", + "description": "hs_legal_basis" + }, + "hs_lifecyclestage_customer_date": { + "title": "HubSpot lifecycle stage customer date", + "type": "string", + "description": "hs_lifecyclestage_customer_date" + }, + "hs_lifecyclestage_evangelist_date": { + "title": "HubSpot lifecycle stage evangelist date", + "type": "string", + "description": "hs_lifecyclestage_evangelist_date" + }, + "hs_lifecyclestage_lead_date": { + "title": "HubSpot lifecycle stage lead date", + "type": "string", + "description": "hs_lifecyclestage_lead_date" + }, + "hs_lifecyclestage_marketingqualifiedlead_date": { + "title": "HubSpot lifecycle stage marketing qualitifed lead date", + "type": "string", + "description": "hs_lifecyclestage_marketingqualifiedlead_date" + }, + "hs_lifecyclestage_opportunity_date": { + "title": "HubSpot lifecycle stage opportunity date", + "type": "string", + "description": "hs_lifecyclestage_opportunity_date" + }, + "hs_lifecyclestage_other_date": { + "title": "HubSpot lifecycle stage other date", + "type": "string", + "description": "hs_lifecyclestage_other_date" + }, + "hs_lifecyclestage_salesqualifiedlead_date": { + "title": "HubSpot lifecycle stage sales qualified lead date", + "type": "string", + "description": "hs_lifecyclestage_salesqualifiedlead_date" + }, + "hs_lifecyclestage_subscriber_date": { + "title": "HubSpot lifecycle stage subscriber date", + "type": "string", + "description": "hs_lifecyclestage_subscriber_date" + }, + "hs_marketable_reason_id": { + "title": "HubSpot marketable reason ID", + "type": "string", + "description": "hs_marketable_reason_id" + }, + "hs_marketable_reason_type": { + "title": "HubSpot marketable reason type", + "type": "string", + "description": "hs_marketable_reason_type" + }, + "hs_marketable_status": { + "title": "HubSpot marketable status", + "type": "string", + "description": "hs_marketable_status" + }, + "hs_marketable_until_renewal": { + "title": "HubSpot marketable until renewal", + "type": "string", + "description": "hs_marketable_until_renewal" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_persona": { + "title": "HubSpot persona", + "type": "string", + "description": "hs_persona" + }, + "hs_predictivecontactscore": { + "title": "HubSpot predictive contact score", + "type": "string", + "description": "hs_predictivecontactscore" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_predictivecontactscorebucket": { + "title": "HubSpot predictive contact score bucket", + "type": "string", + "description": "hs_predictivecontactscorebucket" + }, + "hs_predictivescoringtier": { + "title": "HubSpot predictive scoring tier", + "type": "string", + "description": "hs_predictivescoringtier" + }, + "hs_sales_email_last_clicked": { + "title": "HubSpot sales email last clicked", + "type": "string", + "description": "hs_sales_email_last_clicked" + }, + "hs_sales_email_last_opened": { + "title": "HubSpot sales email last opened", + "type": "string", + "description": "hs_sales_email_last_opened" + }, + "hs_sales_email_last_replied": { + "title": "HubSpot sales email last replied", + "type": "string", + "description": "hs_sales_email_last_replied" + }, + "hs_sequences_is_enrolled": { + "title": "HubSpot sequences is enrolled", + "type": "string", + "description": "hs_sequences_is_enrolled" + }, + "hs_time_between_contact_creation_and_deal_close": { + "title": "HubSpot time between contact creation and deal close", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_close" + }, + "hs_time_between_contact_creation_and_deal_creation": { + "title": "HubSpot time between contact creation and deal creation", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_creation" + }, + "hs_time_to_move_from_lead_to_customer": { + "title": "HubSpot time to move from lead to customer", + "type": "string", + "description": "hs_time_to_move_from_lead_to_customer" + }, + "hs_time_to_move_from_marketingqualifiedlead_to_customer": { + "title": "HubSpot time to move from marketing qualitfied lead to customer", + "type": "string", + "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" + }, + "hs_time_to_move_from_opportunity_to_customer": { + "title": "HubSpot time to move from opportunity to customer", + "type": "string", + "description": "hs_time_to_move_from_opportunity_to_customer" + }, + "hs_time_to_move_from_salesqualifiedlead_to_customer": { + "title": "HubSpot time to move from sales qualified lead to customer", + "type": "string", + "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" + }, + "hs_time_to_move_from_subscriber_to_customer": { + "title": "HubSpot time to move from subscriber to customer", + "type": "string", + "description": "hs_time_to_move_from_subscriber_to_customer" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "hubspotscore": { + "title": "HubSpot score", + "type": "string", + "description": "hubspotscore" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "ip_city": { + "title": "IP city", + "type": "string", + "description": "ip_city" + }, + "ip_country": { + "title": "IP country", + "type": "string", + "description": "ip_country" + }, + "ip_country_code": { + "title": "IP country code", + "type": "string", + "description": "ip_country_code" + }, + "ip_state": { + "title": "IP state", + "type": "string", + "description": "ip_state" + }, + "ip_state_code": { + "title": "IP state code", + "type": "string", + "description": "ip_state_code" + }, + "job_function": { + "title": "Job function", + "type": "string", + "description": "job_function" + }, + "jobtitle": { + "title": "Job title", + "type": "string", + "description": "jobtitle" + }, + "lastmodifieddate": { + "title": "Last modified date", + "type": "string", + "description": "lastmodifieddate" + }, + "lastname": { + "title": "Last name", + "type": "string", + "description": "lastname" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "marital_status": { + "title": "Marital status", + "type": "string", + "description": "marital_status" + }, + "message": { + "title": "Message", + "type": "string", + "description": "message" + }, + "military_status": { + "title": "Military statusMilitary status", + "type": "string", + "description": "military_status" + }, + "mobilephone": { + "title": "Mobile phone", + "type": "string", + "description": "mobilephone" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "num_unique_conversion_events": { + "title": "Number of unique conversion events", + "type": "string", + "description": "num_unique_conversion_events" + }, + "numemployees": { + "title": "Number of employees", + "type": "string", + "description": "numemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "relationship_status": { + "title": "Relations status", + "type": "string", + "description": "relationship_status" + }, + "salutation": { + "title": "Salutation", + "type": "string", + "description": "salutation" + }, + "school": { + "title": "School", + "type": "string", + "description": "school" + }, + "seniority": { + "title": "Seniority", + "type": "string", + "description": "seniority" + }, + "start_date": { + "title": "Start date", + "type": "string", + "description": "start_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "work_email": { + "title": "Work email", + "type": "string", + "description": "work_email" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts/{contactId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a contact", + "description": "Read a contact identified by {contactId}.", + "operationId": "ContactsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The contactId for the contact", + "x-ms-summary": "contactId", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a contact", + "description": "Move a contact identified by {contactId} to the recycling bin.", + "operationId": "ContactsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "description": "The contactId of the contact", + "x-ms-visibility": "important", + "x-ms-summary": "contactId", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a contact", + "description": "Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "ContactsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "contactId", + "in": "path", + "required": true, + "type": "string", + "description": "The contactId of the contact", + "x-ms-visibility": "important", + "x-ms-summary": "contactId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "address": { + "title": "Address", + "type": "string", + "description": "address" + }, + "annualrevenue": { + "title": "Annual revenue", + "type": "string", + "description": "annualrevenue" + }, + "city": { + "title": "City", + "type": "string", + "description": "city" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "company": { + "title": "Company", + "type": "string", + "description": "company" + }, + "company_size": { + "title": "Company size", + "type": "string", + "description": "company_size" + }, + "country": { + "title": "Country", + "type": "string", + "description": "country" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "currentlyinworkflow": { + "title": "Currenly in workflow", + "type": "string", + "description": "currentlyinworkflow" + }, + "date_of_birth": { + "title": "Date of birth", + "type": "string", + "description": "date_of_birth" + }, + "days_to_close": { + "title": "Days to close", + "type": "string", + "description": "days_to_close" + }, + "degree": { + "title": "Degree", + "type": "string", + "description": "degree" + }, + "email": { + "title": "Email", + "type": "string", + "description": "email" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "fax": { + "title": "Fax", + "type": "string", + "description": "fax" + }, + "field_of_study": { + "title": "Field of study", + "type": "string", + "description": "field_of_study" + }, + "first_conversion_date": { + "title": "First conversion date", + "type": "string", + "description": "first_conversion_date" + }, + "first_conversion_event_name": { + "title": "First conversion event name", + "type": "string", + "description": "first_conversion_event_name" + }, + "first_deal_created_date": { + "title": "First deal created date", + "type": "string", + "description": "first_deal_created_date" + }, + "firstname": { + "title": "First name", + "type": "string", + "description": "firstname" + }, + "gender": { + "title": "Gender", + "type": "string", + "description": "gender" + }, + "graduation_date": { + "title": "Graduation date", + "type": "string", + "description": "graduation_date" + }, + "hs_analytics_average_page_views": { + "title": "HubSpot analytics average page views", + "type": "string", + "description": "hs_analytics_average_page_views" + }, + "hs_analytics_first_referrer": { + "title": "HubSpot analytics first referrer", + "type": "string", + "description": "hs_analytics_first_referrer" + }, + "hs_analytics_first_timestamp": { + "title": "HubSpot analytics first timestamp", + "type": "string", + "description": "hs_analytics_first_timestamp" + }, + "hs_analytics_first_touch_converting_campaign": { + "title": "HubSpot analytics first touch converting campaign", + "type": "string", + "description": "hs_analytics_first_touch_converting_campaign" + }, + "hs_analytics_first_url": { + "title": "HubSpot analytics first URL", + "type": "string", + "description": "hs_analytics_first_url" + }, + "hs_analytics_first_visit_timestamp": { + "title": "HubSpot Analytics first visit timestamp", + "type": "string", + "description": "hs_analytics_first_visit_timestamp" + }, + "hs_analytics_last_referrer": { + "title": "HubSpot analytics last referrer", + "type": "string", + "description": "hs_analytics_last_referrer" + }, + "hs_analytics_last_timestamp": { + "title": "HubSpot analytics last timestamp", + "type": "string", + "description": "hs_analytics_last_timestamp" + }, + "hs_analytics_last_touch_converting_campaign": { + "title": "HubSpot analytics last touch converting campaign", + "type": "string", + "description": "hs_analytics_last_touch_converting_campaign" + }, + "hs_analytics_last_url": { + "title": "HubSpot analytics last URL", + "type": "string", + "description": "hs_analytics_last_url" + }, + "hs_analytics_last_visit_timestamp": { + "title": "HubSpot analytics last visit timestamp", + "type": "string", + "description": "hs_analytics_last_visit_timestamp" + }, + "hs_analytics_num_event_completions": { + "title": "HubSpot analytics number of event completions", + "type": "string", + "description": "hs_analytics_num_event_completions" + }, + "hs_analytics_num_page_views": { + "title": "HubSpot analytics number of page views", + "type": "string", + "description": "hs_analytics_num_page_views" + }, + "hs_analytics_num_visits": { + "title": "HubSpot analytics number of visits", + "type": "string", + "description": "hs_analytics_num_visits" + }, + "hs_analytics_revenue": { + "title": "HubSpot analytics revenue", + "type": "string", + "description": "hs_analytics_revenue" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_buying_role": { + "title": "HubSpot buying role", + "type": "string", + "description": "hs_buying_role" + }, + "hs_content_membership_email_confirmed": { + "title": "HubSpot content membership email confirmed", + "type": "string", + "description": "hs_content_membership_email_confirmed" + }, + "hs_content_membership_notes": { + "title": "HubSpot content membership notes", + "type": "string", + "description": "hs_content_membership_notes" + }, + "hs_content_membership_registered_at": { + "title": "HubSpot content membership registered at", + "type": "string", + "description": "hs_content_membership_registered_at" + }, + "hs_content_membership_registration_domain_sent_to": { + "title": "HubSpot content membership registration domain sent to", + "type": "string", + "description": "hs_content_membership_registration_domain_sent_to" + }, + "hs_content_membership_registration_email_sent_at": { + "title": "HubSpot content membership registration email sent at", + "type": "string", + "description": "hs_content_membership_registration_email_sent_at" + }, + "hs_content_membership_status": { + "title": "HubSpot content membership status", + "type": "string", + "description": "hs_content_membership_status" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_email_bad_address": { + "title": "HubSpot email bad address", + "type": "string", + "description": "hs_email_bad_address" + }, + "hs_email_bounce": { + "title": "HubSpot email bounce", + "type": "string", + "description": "hs_email_bounce" + }, + "hs_email_click": { + "title": "HubSpot email click", + "type": "string", + "description": "hs_email_click" + }, + "hs_email_customer_quarantined_reason": { + "title": "HubSpot email customer quarnatined reason", + "type": "string", + "description": "hs_email_customer_quarantined_reason" + }, + "hs_email_delivered": { + "title": "HubSpot email delivered", + "type": "string", + "description": "hs_email_delivered" + }, + "hs_email_domain": { + "title": "Domain", + "type": "string", + "description": "hs_email_domain" + }, + "hs_email_first_click_date": { + "title": "HubSpot email first click date", + "type": "string", + "description": "hs_email_first_click_date" + }, + "hs_email_first_open_date": { + "title": "HubSpot email first open date", + "type": "string", + "description": "hs_email_first_open_date" + }, + "hs_email_first_reply_date": { + "title": "HubSpot email first reply date", + "type": "string", + "description": "hs_email_first_reply_date" + }, + "hs_email_first_send_date": { + "title": "HubSpot email first send date", + "type": "string", + "description": "hs_email_first_send_date" + }, + "hs_email_hard_bounce_reason_enum": { + "title": "HubSpot email hard bounce reason enumerated", + "type": "string", + "description": "hs_email_hard_bounce_reason_enum" + }, + "hs_email_last_click_date": { + "title": "HubSpot email last click date", + "type": "string", + "description": "hs_email_last_click_date" + }, + "hs_email_last_email_name": { + "title": "HubSpot email last email name", + "type": "string", + "description": "hs_email_last_email_name" + }, + "hs_email_last_open_date": { + "title": "HubSpot email last open date", + "type": "string", + "description": "hs_email_last_open_date" + }, + "hs_email_last_reply_date": { + "title": "HubSpot email last reply date", + "type": "string", + "description": "hs_email_last_reply_date" + }, + "hs_email_last_send_date": { + "title": "HubSpot email last send date", + "type": "string", + "description": "hs_email_last_send_date" + }, + "hs_email_open": { + "title": "HubSpot email open", + "type": "string", + "description": "hs_email_open" + }, + "hs_email_optout": { + "title": "HubSpot email optout", + "type": "string", + "description": "hs_email_optout" + }, + "hs_email_optout_12592317": { + "title": "HubSpot email optout 12592317", + "type": "string", + "description": "hs_email_optout_12592317" + }, + "hs_email_quarantined": { + "title": "HubSpot email quarantied", + "type": "string", + "description": "hs_email_quarantined" + }, + "hs_email_quarantined_reason": { + "title": "HubSpot email quarantied reason", + "type": "string", + "description": "hs_email_quarantined_reason" + }, + "hs_email_replied": { + "title": "HubSpot email replied", + "type": "string", + "description": "hs_email_replied" + }, + "hs_email_sends_since_last_engagement": { + "title": "HubSpot email sends since last engagement", + "type": "string", + "description": "hs_email_sends_since_last_engagement" + }, + "hs_emailconfirmationstatus": { + "title": "HubSpot email confirmation status", + "type": "string", + "description": "hs_emailconfirmationstatus" + }, + "hs_facebook_click_id": { + "title": "HubSpot Facebook click ID", + "type": "string", + "description": "hs_facebook_click_id" + }, + "hs_feedback_last_nps_follow_up": { + "title": "HubSpot feecback last NPS follow up", + "type": "string", + "description": "hs_feedback_last_nps_follow_up" + }, + "hs_feedback_last_nps_rating": { + "title": "HubSpot feedback last NPS rating", + "type": "string", + "description": "hs_feedback_last_nps_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_google_click_id": { + "title": "HubSpot Google click ID", + "type": "string", + "description": "hs_google_click_id" + }, + "hs_ip_timezone": { + "title": "HubSpot IP timezoneHubSpot IP timezone", + "type": "string", + "description": "hs_ip_timezone" + }, + "hs_is_unworked": { + "title": "HubSpot is unworked", + "type": "string", + "description": "hs_is_unworked" + }, + "hs_language": { + "title": "HubSpot language", + "type": "string", + "description": "hs_language" + }, + "hs_last_sales_activity_timestamp": { + "title": "HubSpot last sales activity timestamp", + "type": "string", + "description": "hs_last_sales_activity_timestamp" + }, + "hs_lead_status": { + "title": "HubSpot lead status", + "type": "string", + "description": "hs_lead_status" + }, + "hs_legal_basis": { + "title": "HubSpot legal basis", + "type": "string", + "description": "hs_legal_basis" + }, + "hs_lifecyclestage_customer_date": { + "title": "HubSpot lifecycle stage customer date", + "type": "string", + "description": "hs_lifecyclestage_customer_date" + }, + "hs_lifecyclestage_evangelist_date": { + "title": "HubSpot lifecycle stage evangelist date", + "type": "string", + "description": "hs_lifecyclestage_evangelist_date" + }, + "hs_lifecyclestage_lead_date": { + "title": "HubSpot lifecycle stage lead date", + "type": "string", + "description": "hs_lifecyclestage_lead_date" + }, + "hs_lifecyclestage_marketingqualifiedlead_date": { + "title": "HubSpot lifecycle stage marketing qualitifed lead date", + "type": "string", + "description": "hs_lifecyclestage_marketingqualifiedlead_date" + }, + "hs_lifecyclestage_opportunity_date": { + "title": "HubSpot lifecycle stage opportunity date", + "type": "string", + "description": "hs_lifecyclestage_opportunity_date" + }, + "hs_lifecyclestage_other_date": { + "title": "HubSpot lifecycle stage other date", + "type": "string", + "description": "hs_lifecyclestage_other_date" + }, + "hs_lifecyclestage_salesqualifiedlead_date": { + "title": "HubSpot lifecycle stage sales qualified lead date", + "type": "string", + "description": "hs_lifecyclestage_salesqualifiedlead_date" + }, + "hs_lifecyclestage_subscriber_date": { + "title": "HubSpot lifecycle stage subscriber date", + "type": "string", + "description": "hs_lifecyclestage_subscriber_date" + }, + "hs_marketable_reason_id": { + "title": "HubSpot marketable reason ID", + "type": "string", + "description": "hs_marketable_reason_id" + }, + "hs_marketable_reason_type": { + "title": "HubSpot marketable reason type", + "type": "string", + "description": "hs_marketable_reason_type" + }, + "hs_marketable_status": { + "title": "HubSpot marketable status", + "type": "string", + "description": "hs_marketable_status" + }, + "hs_marketable_until_renewal": { + "title": "HubSpot marketable until renewal", + "type": "string", + "description": "hs_marketable_until_renewal" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_persona": { + "title": "HubSpot persona", + "type": "string", + "description": "hs_persona" + }, + "hs_predictivecontactscore": { + "title": "HubSpot predictive contact score", + "type": "string", + "description": "hs_predictivecontactscore" + }, + "hs_predictivecontactscore_v2": { + "title": "HubSpot predictive contact score v2", + "type": "string", + "description": "hs_predictivecontactscore_v2" + }, + "hs_predictivecontactscorebucket": { + "title": "HubSpot predictive contact score bucket", + "type": "string", + "description": "hs_predictivecontactscorebucket" + }, + "hs_predictivescoringtier": { + "title": "HubSpot predictive scoring tier", + "type": "string", + "description": "hs_predictivescoringtier" + }, + "hs_sales_email_last_clicked": { + "title": "HubSpot sales email last clicked", + "type": "string", + "description": "hs_sales_email_last_clicked" + }, + "hs_sales_email_last_opened": { + "title": "HubSpot sales email last opened", + "type": "string", + "description": "hs_sales_email_last_opened" + }, + "hs_sales_email_last_replied": { + "title": "HubSpot sales email last replied", + "type": "string", + "description": "hs_sales_email_last_replied" + }, + "hs_sequences_is_enrolled": { + "title": "HubSpot sequences is enrolled", + "type": "string", + "description": "hs_sequences_is_enrolled" + }, + "hs_time_between_contact_creation_and_deal_close": { + "title": "HubSpot time between contact creation and deal close", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_close" + }, + "hs_time_between_contact_creation_and_deal_creation": { + "title": "HubSpot time between contact creation and deal creation", + "type": "string", + "description": "hs_time_between_contact_creation_and_deal_creation" + }, + "hs_time_to_move_from_lead_to_customer": { + "title": "HubSpot time to move from lead to customer", + "type": "string", + "description": "hs_time_to_move_from_lead_to_customer" + }, + "hs_time_to_move_from_marketingqualifiedlead_to_customer": { + "title": "HubSpot time to move from marketing qualitfied lead to customer", + "type": "string", + "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" + }, + "hs_time_to_move_from_opportunity_to_customer": { + "title": "HubSpot time to move from opportunity to customer", + "type": "string", + "description": "hs_time_to_move_from_opportunity_to_customer" + }, + "hs_time_to_move_from_salesqualifiedlead_to_customer": { + "title": "HubSpot time to move from sales qualified lead to customer", + "type": "string", + "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" + }, + "hs_time_to_move_from_subscriber_to_customer": { + "title": "HubSpot time to move from subscriber to customer", + "type": "string", + "description": "hs_time_to_move_from_subscriber_to_customer" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "hubspotscore": { + "title": "HubSpot score", + "type": "string", + "description": "hubspotscore" + }, + "industry": { + "title": "Industry", + "type": "string", + "description": "industry" + }, + "ip_city": { + "title": "IP city", + "type": "string", + "description": "ip_city" + }, + "ip_country": { + "title": "IP country", + "type": "string", + "description": "ip_country" + }, + "ip_country_code": { + "title": "IP country code", + "type": "string", + "description": "ip_country_code" + }, + "ip_state": { + "title": "IP state", + "type": "string", + "description": "ip_state" + }, + "ip_state_code": { + "title": "IP state code", + "type": "string", + "description": "ip_state_code" + }, + "job_function": { + "title": "Job function", + "type": "string", + "description": "job_function" + }, + "jobtitle": { + "title": "Job title", + "type": "string", + "description": "jobtitle" + }, + "lastmodifieddate": { + "title": "Last modified date", + "type": "string", + "description": "lastmodifieddate" + }, + "lastname": { + "title": "Last name", + "type": "string", + "description": "lastname" + }, + "lifecyclestage": { + "title": "Lifecycle stage", + "type": "string", + "description": "lifecyclestage" + }, + "marital_status": { + "title": "Marital status", + "type": "string", + "description": "marital_status" + }, + "message": { + "title": "Message", + "type": "string", + "description": "message" + }, + "military_status": { + "title": "Military status", + "type": "string", + "description": "military_status" + }, + "mobilephone": { + "title": "Mobile phone", + "type": "string", + "description": "mobilephone" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_deals": { + "title": "Number of associated deals", + "type": "string", + "description": "num_associated_deals" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_conversion_events": { + "title": "Number of conversion events", + "type": "string", + "description": "num_conversion_events" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "num_unique_conversion_events": { + "title": "Number of unique conversion events", + "type": "string", + "description": "num_unique_conversion_events" + }, + "numemployees": { + "title": "Number of employees", + "type": "string", + "description": "numemployees" + }, + "phone": { + "title": "Phone", + "type": "string", + "description": "phone" + }, + "recent_conversion_date": { + "title": "Recent conversion date", + "type": "string", + "description": "recent_conversion_date" + }, + "recent_conversion_event_name": { + "title": "Recent conversion event name", + "type": "string", + "description": "recent_conversion_event_name" + }, + "recent_deal_amount": { + "title": "Recent deal amount", + "type": "string", + "description": "recent_deal_amount" + }, + "recent_deal_close_date": { + "title": "Recent deal close date", + "type": "string", + "description": "recent_deal_close_date" + }, + "relationship_status": { + "title": "Relations status", + "type": "string", + "description": "relationship_status" + }, + "salutation": { + "title": "Salutation", + "type": "string", + "description": "salutation" + }, + "school": { + "title": "School", + "type": "string", + "description": "school" + }, + "seniority": { + "title": "Seniority", + "type": "string", + "description": "seniority" + }, + "start_date": { + "title": "Start date", + "type": "string", + "description": "start_date" + }, + "state": { + "title": "State", + "type": "string", + "description": "state" + }, + "total_revenue": { + "title": "Total revenue", + "type": "string", + "description": "total_revenue" + }, + "twitterhandle": { + "title": "Twitter handle", + "type": "string", + "description": "twitterhandle" + }, + "website": { + "title": "Website", + "type": "string", + "description": "website" + }, + "work_email": { + "title": "Work email", + "type": "string", + "description": "work_email" + }, + "zip": { + "title": "Zip code", + "type": "string", + "description": "zip" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List deals", + "description": "Return a list of deals", + "operationId": "DealsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + }, + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "x-ms-visibility": "advanced", + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a deal", + "description": "Create a deal with the given properties and return a copy of the object, including the ID.", + "operationId": "DealsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "type": "string", + "description": "amount" + }, + "amount_in_home_currency": { + "title": "Amount in home currency", + "type": "string", + "description": "amount_in_home_currency" + }, + "closed_lost_reason": { + "title": "Closed lost reason", + "type": "string", + "description": "closed_lost_reason" + }, + "closed_won_reason": { + "title": "Closed won reason", + "type": "string", + "description": "closed_won_reason" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "dealname": { + "title": "Deal name", + "type": "string", + "description": "dealname" + }, + "dealstage": { + "title": "Deal stage", + "type": "string", + "description": "dealstage" + }, + "dealtype": { + "title": "Deal type", + "type": "string", + "description": "dealtype" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "hs_acv": { + "title": "ACV", + "type": "string", + "description": "hs_acv" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_arr": { + "title": "HubSpot annual recurring revenue", + "type": "string", + "description": "hs_arr" + }, + "hs_forecast_amount": { + "title": "HubSpot forecast amount", + "type": "string", + "description": "hs_forecast_amount" + }, + "hs_forecast_probability": { + "title": "HubSpot forecast probability", + "type": "string", + "description": "hs_forecast_probability" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_manual_forecast_category": { + "title": "HubSpot manual forecast category", + "type": "string", + "description": "hs_manual_forecast_category" + }, + "hs_mrr": { + "title": "HubSpot monthly reoccuring revenue", + "type": "string", + "description": "hs_mrr" + }, + "hs_next_step": { + "title": "HubSpot next step", + "type": "string", + "description": "hs_next_step" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_priority": { + "title": "HubSpot priority", + "type": "string", + "description": "hs_priority" + }, + "hs_tcv": { + "title": "HubSpot total contract value", + "type": "string", + "description": "hs_tcv" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "pipeline": { + "title": "Pipeline", + "type": "string", + "description": "pipeline" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals/{dealId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a deal", + "description": "Read a deal identified by {dealId}.", + "operationId": "DealsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string", + "description": "The dealId of the deal", + "x-ms-visibility": "important", + "x-ms-summary": "dealId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a deal", + "description": "Move a deal identified by {dealId} to the recycling bin.", + "operationId": "DealsArchive", + "x-ms-visibility": "advanced", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string", + "description": "The dealId of the deal", + "x-ms-visibility": "important", + "x-ms-summary": "dealId", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a deal", + "description": "Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "DealsUpdate", + "parameters": [ + { + "name": "dealId", + "in": "path", + "required": true, + "type": "string", + "description": "Deal ID", + "x-ms-summary": "dealId", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "amount": { + "title": "Amount", + "type": "string", + "description": "amount" + }, + "amount_in_home_currency": { + "title": "Amount in home currency", + "type": "string", + "description": "amount_in_home_currency" + }, + "closed_lost_reason": { + "title": "Closed lost reason", + "type": "string", + "description": "closed_lost_reason" + }, + "closed_won_reason": { + "title": "Closed won reason", + "type": "string", + "description": "closed_won_reason" + }, + "closedate": { + "title": "Close date", + "type": "string", + "description": "closedate" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "dealname": { + "title": "Deal name", + "type": "string", + "description": "dealname" + }, + "dealstage": { + "title": "Deal stage", + "type": "string", + "description": "dealstage" + }, + "dealtype": { + "title": "Deal type", + "type": "string", + "description": "dealtype" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "engagements_last_meeting_booked": { + "title": "Engagements last meeting booked", + "type": "string", + "description": "engagements_last_meeting_booked" + }, + "engagements_last_meeting_booked_campaign": { + "title": "Engagements last meeting booked campaign", + "type": "string", + "description": "engagements_last_meeting_booked_campaign" + }, + "engagements_last_meeting_booked_medium": { + "title": "Engagements last meeting booked medium", + "type": "string", + "description": "engagements_last_meeting_booked_medium" + }, + "engagements_last_meeting_booked_source": { + "title": "Engagements last meeting booked source", + "type": "string", + "description": "engagements_last_meeting_booked_source" + }, + "hs_acv": { + "title": "ACV", + "type": "string", + "description": "hs_acv" + }, + "hs_analytics_source": { + "title": "HubSpot analytics source", + "type": "string", + "description": "hs_analytics_source" + }, + "hs_analytics_source_data_1": { + "title": "HubSpot analytics source data 1", + "type": "string", + "description": "hs_analytics_source_data_1" + }, + "hs_analytics_source_data_2": { + "title": "HubSpot analytics source data 2", + "type": "string", + "description": "hs_analytics_source_data_2" + }, + "hs_arr": { + "title": "HubSpot annual recurring revenue", + "type": "string", + "description": "hs_arr" + }, + "hs_forecast_amount": { + "title": "HubSpot forecast amount", + "type": "string", + "description": "hs_forecast_amount" + }, + "hs_forecast_probability": { + "title": "HubSpot forecast probability", + "type": "string", + "description": "hs_forecast_probability" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_manual_forecast_category": { + "title": "HubSpot manual forecast category", + "type": "string", + "description": "hs_manual_forecast_category" + }, + "hs_mrr": { + "title": "HubSpot monthly reoccuring revenue", + "type": "string", + "description": "hs_mrr" + }, + "hs_next_step": { + "title": "HubSpot next step", + "type": "string", + "description": "hs_next_step" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_priority": { + "title": "HubSpot priority", + "type": "string", + "description": "hs_priority" + }, + "hs_tcv": { + "title": "HubSpot total contract value", + "type": "string", + "description": "hs_tcv" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "notes_last_contacted": { + "title": "Notes last contacted", + "type": "string", + "description": "notes_last_contacted" + }, + "notes_last_updated": { + "title": "Notes last updated", + "type": "string", + "description": "notes_last_updated" + }, + "notes_next_activity_date": { + "title": "Notes next activity date", + "type": "string", + "description": "notes_next_activity_date" + }, + "num_associated_contacts": { + "title": "Number of associated contacts", + "type": "string", + "description": "num_associated_contacts" + }, + "num_contacted_notes": { + "title": "Number of contacted notes", + "type": "string", + "description": "num_contacted_notes" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "pipeline": { + "title": "Pipeline", + "type": "string", + "description": "pipeline" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/products": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List products", + "description": "Return a list of products", + "operationId": "ProductsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "x-ms-visibility": "advanced", + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ], + "x-ms-visibility": "important" + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a product", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "hs_cost_of_goods_sold": { + "title": "HubSpot cost of goods sold", + "type": "string", + "description": "hs_cost_of_goods_sold" + }, + "hs_created_by_user_id": { + "title": "HubSpot created by user ID", + "type": "string", + "description": "hs_created_by_user_id" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_images": { + "title": "HubSpot images", + "type": "string", + "description": "hs_images" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "hs_sku": { + "title": "HubSpot SKU", + "type": "string", + "description": "hs_sku" + }, + "hs_updated_by_user_id": { + "title": "HubSpot updated by user ID", + "type": "string", + "description": "hs_updated_by_user_id" + }, + "hs_url": { + "title": "HubSpot URL", + "type": "string", + "description": "hs_url" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "tax": { + "title": "Tax", + "type": "string", + "description": "tax" + } + } + } + } + } + } + ], + "description": "Create a product with the given properties and return a copy of the object, including the ID.", + "operationId": "ProductsCreate", + "x-ms-visibility": "important" + } + }, + "/crm/v3/objects/products/{productId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a product", + "description": "Read a product identified by {productId}.", + "operationId": "ProductsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productId of the product", + "x-ms-visibility": "important", + "x-ms-summary": "productId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-summary": "properties", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a product", + "description": "Move a product identified by {productId} to the recycling bin.", + "operationId": "ProductsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productID of the product", + "x-ms-visibility": "important", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a product", + "description": "Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "ProductsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "The productId of the product", + "x-ms-visibility": "important", + "x-ms-summary": "productId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "hs_cost_of_goods_sold": { + "title": "HubSpot cost of goods sold", + "type": "string", + "description": "hs_cost_of_goods_sold" + }, + "hs_created_by_user_id": { + "title": "HubSpot created by user ID", + "type": "string", + "description": "hs_created_by_user_id" + }, + "hs_createdate": { + "title": "Create date", + "type": "string", + "description": "hs_createdate" + }, + "hs_images": { + "title": "HubSpot images", + "type": "string", + "description": "hs_images" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_object_id": { + "title": "HubSpot object ID", + "type": "string", + "description": "hs_object_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "hs_sku": { + "title": "HubSpot SKU", + "type": "string", + "description": "hs_sku" + }, + "hs_updated_by_user_id": { + "title": "HubSpot updated by user ID", + "type": "string", + "description": "hs_updated_by_user_id" + }, + "hs_url": { + "title": "HubSpot URL", + "type": "string", + "description": "hs_url" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "tax": { + "title": "Tax", + "type": "string", + "description": "tax" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/owners/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List owners", + "operationId": "OwnersList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 100, + "x-ms-visibility": "important", + "description": "The maximum number of results to return.", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string", + "description": "Filter by email address", + "x-ms-visibility": "advanced", + "x-ms-summary": "email", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Filter by email address", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ], + "description": "Get a page of owners" + } + }, + "/crm/v3/owners/{ownerId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get an owner", + "description": "Read an owner by given id or userId", + "operationId": "OwnersRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ownerId", + "in": "path", + "required": true, + "type": "string", + "description": "The ownerId of the owner", + "x-ms-visibility": "important", + "x-ms-summary": "ownerId", + "x-ms-url-encoding": "single" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "default": "id", + "x-ms-visibility": "advanced", + "description": "The property ID", + "enum": [ + "id", + "userId" + ], + "x-ms-summary": "idProperty", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List pipelines", + "description": "Return all pipelines for the object type specified by {objectType}.", + "operationId": "PipelinesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the pipelines", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a pipeline", + "description": "Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response.", + "operationId": "PipelinesCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The object type", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "stages", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "stages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A unique label used to organize pipelines in HubSpot's UI", + "default": "New Pipeline", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "default": 0, + "x-ms-visibility": "important" + }, + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + } + }, + "required": [ + "displayOrder", + "label", + "metadata" + ] + }, + "description": "stages" + } + }, + "required": [ + "stages" + ] + } + } + } + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a pipeline", + "description": "Return a single pipeline object identified by its unique {pipelineId}.", + "operationId": "PipelinesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a pipeline", + "description": "Archive the pipeline identified by {pipelineId}.", + "operationId": "PipelinesArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Replace a pipeline", + "description": "Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response.", + "operationId": "PipelinesReplace", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "stages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced" + }, + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "type": "string", + "description": "ticketState", + "title": "ticketState", + "x-ms-visibility": "important", + "default": "OPEN", + "enum": [ + "OPEN", + "CLOSED" + ] + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + } + }, + "required": [ + "label", + "displayOrder", + "metadata" + ] + }, + "description": "stages" + } + }, + "x-ms-visibility": "important", + "required": [ + "stages" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a pipeline", + "description": "Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response.", + "operationId": "PipelinesUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline. If two pipelines have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A unique label used to organize pipelines in HubSpot's UI", + "x-ms-visibility": "advanced", + "default": "Updated Pipeline" + }, + "archived": { + "title": "Archived", + "type": "boolean", + "description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a 400 Bad Request will be returned.", + "default": false, + "x-ms-visibility": "advanced" + } + } + } + }, + "x-ms-visibility": "important" + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}/stages": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a pipeline stage", + "description": "Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response.", + "operationId": "PipelinesCreateStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "important" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + } + }, + "x-ms-visibility": "important", + "required": [ + "displayOrder", + "label", + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a pipeline stage", + "description": "Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important", + "x-ms-summary": "stageId", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ], + "operationId": "PipelinesReadStage" + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a pipeline stage", + "description": "Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", + "operationId": "PipelinesArchiveStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important", + "x-ms-summary": "stageId", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Replace a pipeline stage", + "description": "Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response.", + "operationId": "PipelinesReplaceStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important", + "x-ms-summary": "stageId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important", + "default": "OPEN" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "important", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "important" + } + }, + "x-ms-visibility": "important", + "required": [ + "displayOrder", + "label", + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a pipeline stage", + "description": "Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.", + "operationId": "PipelinesUpdateStage", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "pipelineId", + "in": "path", + "required": true, + "type": "string", + "description": "The pipelineId of the pipeline", + "x-ms-visibility": "important", + "x-ms-summary": "pipelineId", + "x-ms-url-encoding": "single" + }, + { + "name": "stageId", + "in": "path", + "required": true, + "type": "string", + "description": "The stageId of the stage", + "x-ms-visibility": "important", + "x-ms-summary": "stageIf", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "ticketState": { + "title": "Ticket State", + "type": "string", + "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", + "x-ms-visibility": "important", + "default": "OPEN" + } + }, + "description": "metadata", + "required": [ + "ticketState" + ] + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "label": { + "title": "Label", + "type": "string", + "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", + "x-ms-visibility": "advanced" + } + }, + "x-ms-visibility": "important", + "required": [ + "metadata" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/properties/{objectType}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List properties", + "description": "Read all existing properties for the specified object type and HubSpot account.", + "operationId": "PropertiesList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectId of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a property", + "description": "Create and return a copy of a new property for the specified object type.", + "operationId": "PropertiesCreate", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "groupName": { + "title": "Group Name", + "type": "string", + "description": "The name of the property group the property belongs to.", + "x-ms-visibility": "important" + }, + "hidden": { + "type": "boolean", + "description": "If true, the property won't be visible and can't be used in HubSpot.", + "title": "hidden", + "enum": [ + false, + true + ], + "default": false, + "x-ms-visibility": "advanced" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", + "default": 0, + "x-ms-visibility": "advanced" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "description": { + "title": "Description", + "type": "string", + "description": "A description of the property that will be shown as help text in HubSpot.", + "x-ms-visibility": "advanced" + }, + "value": { + "title": "Value", + "type": "string", + "description": "The internal value of the option, which must be used when setting the property value through the API.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", + "x-ms-visibility": "advanced" + }, + "hidden": { + "type": "boolean", + "description": "Hidden options won't be shown in HubSpot.", + "title": "option hidden", + "enum": [ + false, + true + ], + "default": false, + "x-ms-visibility": "important" + } + }, + "required": [ + "hidden", + "value" + ] + }, + "description": "options" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable property label that will be shown in HubSpot.", + "x-ms-visibility": "important" + }, + "hasUniqueValue": { + "type": "boolean", + "description": "Whether or not the property's value must be unique. Once set, this can't be changed.", + "title": "hasUniqueValue", + "enum": [ + false, + true + ], + "x-ms-visibility": "advanced", + "default": false + }, + "type": { + "type": "string", + "description": "The data type of the property.", + "title": "type", + "default": "string", + "x-ms-visibility": "important", + "enum": [ + "string", + "number", + "date", + "datetime", + "enumeration" + ] + }, + "fieldType": { + "type": "string", + "description": "Controls how the property appears in HubSpot.", + "title": "fieldType", + "default": "textarea", + "x-ms-visibility": "important", + "enum": [ + "textarea", + "text", + "date", + "file", + "number", + "select", + "radio", + "checkbox", + "booleancheckbox" + ] + }, + "formField": { + "type": "boolean", + "description": "Whether or not the property can be used in a HubSpot form.", + "title": "formField", + "enum": [ + true, + false + ], + "x-ms-visibility": "advanced", + "default": true + } + }, + "required": [ + "fieldType", + "groupName", + "label", + "options", + "type" + ] + } + } + } + } + ], + "x-ms-visibility": "important" + } + }, + "/crm/v3/properties/{objectType}/{propertyName}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a property", + "description": "Read a property identified by {propertyName}.", + "operationId": "PropertiesRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important", + "x-ms-summary": "propertyName", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a property", + "description": "Move a property identified by {propertyName} to the recycling bin.", + "operationId": "PropertiesArchive", + "x-ms-visibility": "advanced", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important", + "x-ms-summary": "propertyName", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a property", + "description": "Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.", + "operationId": "PropertiesUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "objectType", + "in": "path", + "required": true, + "type": "string", + "description": "The objectType of the object", + "x-ms-visibility": "important", + "x-ms-summary": "objectType", + "x-ms-url-encoding": "single" + }, + { + "name": "propertyName", + "in": "path", + "required": true, + "type": "string", + "description": "The propertyName of the property", + "x-ms-visibility": "important", + "x-ms-summary": "propertyName", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "groupName": { + "title": "Group Name", + "type": "string", + "description": "The name of the property group the property belongs to.", + "x-ms-visibility": "advanced" + }, + "hidden": { + "type": "boolean", + "description": "If true, the property won't be visible and can't be used in HubSpot.", + "title": "hidden", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "default": false + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values.", + "default": 0, + "x-ms-visibility": "advanced" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable property label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "description": { + "title": "Description", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "advanced" + }, + "value": { + "title": "Value", + "type": "string", + "description": "The internal value of the option, which must be used when setting the property value through the API.", + "x-ms-visibility": "important" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values.", + "x-ms-visibility": "advanced", + "default": 0 + }, + "hidden": { + "type": "boolean", + "description": "Hidden options won't be shown in HubSpot.", + "title": "option hidden", + "x-ms-visibility": "important", + "enum": [ + false, + true + ], + "default": false + } + }, + "required": [ + "hidden", + "value" + ] + }, + "description": "options" + }, + "label": { + "title": "Label", + "type": "string", + "description": "A human-readable option label that will be shown in HubSpot.", + "x-ms-visibility": "important" + }, + "type": { + "title": "Type", + "type": "string", + "description": "The data type of the property.", + "x-ms-visibility": "advanced" + }, + "fieldType": { + "type": "string", + "description": "Controls how the property appears in HubSpot.", + "title": "fieldType", + "x-ms-visibility": "advanced", + "default": "textarea", + "enum": [ + "textarea", + "text", + "date", + "file", + "number", + "select", + "radio", + "checkbox", + "booleancheckbox" + ] + }, + "formField": { + "type": "boolean", + "description": "Whether or not the property can be used in a HubSpot form.", + "title": "formfield", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "default": false + } + }, + "x-ms-visibility": "important", + "required": [ + "label", + "options" + ] + } + } + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/objects/line_items": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List line items", + "description": "Return a list of line items. Control what is returned via the properties query param.", + "operationId": "LineItemsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": true, + "type": "integer", + "default": 10, + "description": "The maximum number of results to display per page.", + "x-ms-summary": "The maximum number of results to display per page.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a line item", + "description": "Create a line item with the given properties and return a copy of the object, including the ID.", + "operationId": "LineItemsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "hs_product_id": { + "title": "HubSpot product ID", + "type": "string", + "description": "hs_product_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "quantity": { + "title": "Quantity", + "type": "string", + "description": "quantity" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + } + }, + "description": "properties" + } + }, + "x-ms-visibility": "important" + }, + "x-ms-visibility": "important" + } + ] + } + }, + "/crm/v3/objects/line_items/{lineItemId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a line item", + "description": "Read a lite item identified by {lineItemId}. ", + "operationId": "LineItemsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "description": "The line item ID", + "x-ms-visibility": "important", + "x-ms-summary": "lineItemId", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a line item", + "description": "Move an Object identified by {lineItemId} to the recycling bin.", + "operationId": "LineItemsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The line item ID", + "x-ms-summary": "lineItemId", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a line item", + "description": "Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "operationId": "LineItemsUpdate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "lineItemId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The line item ID", + "x-ms-summary": "lineItemId", + "x-ms-url-encoding": "single" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "hs_product_id": { + "title": "HubSpot product ID", + "type": "string", + "description": "hs_product_id" + }, + "hs_recurring_billing_period": { + "title": "HubSpot recurring billing period", + "type": "string", + "description": "hs_recurring_billing_period" + }, + "recurringbillingfrequency": { + "title": "Recurring billing frequency", + "type": "string", + "description": "recurringbillingfrequency" + }, + "quantity": { + "title": "Quantity", + "type": "string", + "description": "quantity" + }, + "price": { + "title": "Price", + "type": "string", + "description": "price" + } + }, + "description": "properties" + } + }, + "x-ms-visibility": "important" + } + } + ] + } + }, + "/crm/v3/objects/tickets": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List tickets", + "description": "Read a page of tickets. Control what is returned via the properties query param.", + "operationId": "TicketsList", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "description": "The maximum number of results to display per page.", + "x-ms-summary": "The maximum number of results to display per page.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "associations", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a ticket", + "description": "Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided.", + "operationId": "TicketsCreate", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "closed_date": { + "title": "Closed date", + "type": "string", + "description": "closed_date" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "first_agent_reply_date": { + "title": "First agent reply date", + "type": "string", + "description": "first_agent_reply_date" + }, + "hs_feedback_last_ces_follow_up": { + "title": "HubSpot feedback last CES follow up", + "type": "string", + "description": "hs_feedback_last_ces_follow_up" + }, + "hs_feedback_last_ces_rating": { + "title": "HubSpot feedback last CES rating", + "type": "string", + "description": "hs_feedback_last_ces_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_lastactivitydate": { + "title": "HubSpot last activity date", + "type": "string", + "description": "hs_lastactivitydate" + }, + "hs_lastcontacted": { + "title": "HubSpot last contacted", + "type": "string", + "description": "hs_lastcontacted" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_nextactivitydate": { + "title": "HubSpot next activity date", + "type": "string", + "description": "hs_nextactivitydate" + }, + "hs_num_times_contacted": { + "title": "HubSpot number of times contacted", + "type": "string", + "description": "hs_num_times_contacted" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "last_reply_date": { + "title": "Last reply date", + "type": "string", + "description": "last_reply_date" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "time_to_close": { + "title": "Time to close", + "type": "string", + "description": "time_to_close" + }, + "time_to_first_agent_reply": { + "title": "Time to first agent reply", + "type": "string", + "description": "time_to_first_agent_reply" + }, + "content": { + "title": "Content", + "type": "string", + "description": "content" + }, + "hs_file_upload": { + "title": "HubSpot file upload", + "type": "string", + "description": "hs_file_upload" + }, + "hs_num_associated_companies": { + "title": "HubSpot number of associated companies", + "type": "string", + "description": "hs_num_associated_companies" + }, + "hs_pipeline": { + "title": "HubSpot pipeline", + "type": "string", + "description": "hs_pipeline" + }, + "hs_pipeline_stage": { + "title": "HubSpot pipeline stage", + "type": "string", + "description": "hs_pipeline_stage" + }, + "hs_resolution": { + "title": "HubSpot resolution", + "type": "string", + "description": "hs_resolution" + }, + "hs_ticket_category": { + "title": "HubSpot ticket category", + "type": "string", + "description": "hs_ticket_category" + }, + "hs_ticket_id": { + "title": "HubSpot ticket ID", + "type": "string", + "description": "hs_ticket_id" + }, + "hs_ticket_priority": { + "title": "HubSpot ticket priority", + "type": "string", + "description": "hs_ticket_priority" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "source_type": { + "title": "Source type", + "type": "string", + "description": "source_type" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/tickets/{ticketId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a ticket", + "description": "Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", + "operationId": "TicketsRead", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The ticket ID", + "x-ms-summary": "ticketID", + "x-ms-url-encoding": "single" + }, + { + "name": "properties", + "in": "query", + "required": false, + "type": "string", + "description": "A comma separated list of the properties to be returned in the response.", + "x-ms-summary": "A comma separated list of the properties to be returned in the response.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "x-ms-url-encoding": "single" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type.", + "x-ms-summary": "The name of a property whose values are unique for this object type.", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a ticket", + "description": "Move a ticket identified by {ticketId} to the recycling bin.", + "operationId": "TicketsArchive", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "The ticket ID", + "x-ms-summary": "ticketID", + "x-ms-url-encoding": "single" + } + ] + }, + "patch": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "TicketsUpdate", + "summary": "Update a ticket", + "description": "Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "ticketId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the ticket.", + "x-ms-summary": "ticketID", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "idProperty", + "in": "query", + "required": false, + "type": "string", + "description": "The name of a property whose values are unique for this object type", + "x-ms-summary": "The name of a property whose values are unique for this object type", + "x-ms-visibility": "important", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "closed_date": { + "title": "Closed date", + "type": "string", + "description": "closed_date" + }, + "createdate": { + "title": "Create date", + "type": "string", + "description": "createdate" + }, + "first_agent_reply_date": { + "title": "First agent reply date", + "type": "string", + "description": "first_agent_reply_date" + }, + "hs_feedback_last_ces_follow_up": { + "title": "HubSpot feedback last CES follow up", + "type": "string", + "description": "hs_feedback_last_ces_follow_up" + }, + "hs_feedback_last_ces_rating": { + "title": "HubSpot feedback last CES rating", + "type": "string", + "description": "hs_feedback_last_ces_rating" + }, + "hs_feedback_last_survey_date": { + "title": "HubSpot feedback last survey date", + "type": "string", + "description": "hs_feedback_last_survey_date" + }, + "hs_lastactivitydate": { + "title": "HubSpot last activity date", + "type": "string", + "description": "hs_lastactivitydate" + }, + "hs_lastcontacted": { + "title": "HubSpot last contacted", + "type": "string", + "description": "hs_lastcontacted" + }, + "hs_lastmodifieddate": { + "title": "HubSpot last modified date", + "type": "string", + "description": "hs_lastmodifieddate" + }, + "hs_nextactivitydate": { + "title": "HubSpot next activity date", + "type": "string", + "description": "hs_nextactivitydate" + }, + "hs_num_times_contacted": { + "title": "HubSpot number of times contacted", + "type": "string", + "description": "hs_num_times_contacted" + }, + "hubspot_owner_assigneddate": { + "title": "HubSpot owner assigned date", + "type": "string", + "description": "hubspot_owner_assigneddate" + }, + "last_reply_date": { + "title": "Last reply date", + "type": "string", + "description": "last_reply_date" + }, + "num_notes": { + "title": "Number of notes", + "type": "string", + "description": "num_notes" + }, + "time_to_close": { + "title": "Time to close", + "type": "string", + "description": "time_to_close" + }, + "time_to_first_agent_reply": { + "title": "Time to first agent reply", + "type": "string", + "description": "time_to_first_agent_reply" + }, + "content": { + "title": "Content", + "type": "string", + "description": "content" + }, + "hs_file_upload": { + "title": "HubSpot file upload", + "type": "string", + "description": "hs_file_upload" + }, + "hs_num_associated_companies": { + "title": "HubSpot number of associated companies", + "type": "string", + "description": "hs_num_associated_companies" + }, + "hs_pipeline": { + "title": "HubSpot pipeline", + "type": "string", + "description": "hs_pipeline" + }, + "hs_pipeline_stage": { + "title": "HubSpot pipeline stage", + "type": "string", + "description": "hs_pipeline_stage" + }, + "hs_resolution": { + "title": "HubSpot resolution", + "type": "string", + "description": "hs_resolution" + }, + "hs_ticket_category": { + "title": "HubSpot ticket category", + "type": "string", + "description": "hs_ticket_category" + }, + "hs_ticket_id": { + "title": "HubSpot ticket ID", + "type": "string", + "description": "hs_ticket_id" + }, + "hs_ticket_priority": { + "title": "HubSpot ticket priority", + "type": "string", + "description": "hs_ticket_priority" + }, + "hubspot_owner_id": { + "title": "HubSpot owner ID", + "type": "string", + "description": "hubspot_owner_id" + }, + "hubspot_team_id": { + "title": "HubSpot team ID", + "type": "string", + "description": "hubspot_team_id" + }, + "source_type": { + "title": "Source type", + "type": "string", + "description": "source_type" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + } + } + ] + } + }, + "/crm/v3/objects/companies/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search companies", + "operationId": "SearchCompanies", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/contacts/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search contacts", + "operationId": "SearchContacts", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/deals/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search deals", + "operationId": "SearchDeals", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/products/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search products", + "operationId": "SearchProducts", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/tickets/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search tickets", + "operationId": "SearchTickets", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/line_items/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search line items", + "operationId": "SearchLineItems", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/quotes/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search quotes", + "operationId": "SearchQuotes", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + }, + "/crm/v3/objects/custom_objects/search": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Search custom objects", + "operationId": "SearchCustomObjects", + "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "title": "Property name", + "type": "string", + "description": "propertyName" + }, + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + } + }, + "description": "filters" + } + } + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write": "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.hubspot.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://legal.hubspot.com/privacy-policy" + }, + { + "propertyName": "Categories", + "propertyValue": "Marketing" + } + ] +} diff --git a/independent-publisher-connectors/HubSpot CRM/apiProperties.json b/independent-publisher-connectors/HubSpot CRM/apiProperties.json new file mode 100644 index 0000000000..cc9cf1cd64 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CRM/apiProperties.json @@ -0,0 +1,75 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions", + "stackOwner": "HubSpot" +} diff --git a/independent-publisher-connectors/HubSpot CRM/icon.png b/independent-publisher-connectors/HubSpot CRM/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c GIT binary patch literal 2862 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 G^8YVDI5%+s literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png b/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png new file mode 100644 index 0000000000000000000000000000000000000000..63bc8da6e689ecd35d913ef11c3b07a169795025 GIT binary patch literal 13077 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 literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png b/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png new file mode 100644 index 0000000000000000000000000000000000000000..23b2875c6d13d3403b30d5fe7ea29737a89292f8 GIT binary patch literal 24590 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 Date: Fri, 4 Jun 2021 10:53:08 -0400 Subject: [PATCH 07/25] certify-connector --- .../HubSpot CMS/README.md | 46 + .../HubSpot CMS/apiDefinition.swagger.json | 569 +++++++ .../HubSpot CMS/apiProperties.json | 75 + .../HubSpot CMS/icon.png | Bin 0 -> 2862 bytes .../HubSpot CMS/settings.json | 9 + .../HubSpot Marketing/README.md | 58 + .../apiDefinition.swagger.json | 1455 +++++++++++++++++ .../HubSpot Marketing/apiProperties.json | 75 + .../HubSpot Marketing/icon.png | Bin 0 -> 2862 bytes .../HubSpot Marketing/settings.json | 9 + 10 files changed, 2296 insertions(+) create mode 100644 independent-publisher-connectors/HubSpot CMS/README.md create mode 100644 independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot CMS/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot CMS/icon.png create mode 100644 independent-publisher-connectors/HubSpot CMS/settings.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/README.md create mode 100644 independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/apiProperties.json create mode 100644 independent-publisher-connectors/HubSpot Marketing/icon.png create mode 100644 independent-publisher-connectors/HubSpot Marketing/settings.json diff --git a/independent-publisher-connectors/HubSpot CMS/README.md b/independent-publisher-connectors/HubSpot CMS/README.md new file mode 100644 index 0000000000..29e475a009 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/README.md @@ -0,0 +1,46 @@ +# HubSpot CRM +HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. CMS Hub powers your website with a CMS that makes it easy to grow better. Developers build using flexible themes and content structures. Marketers easily edit and create pages on their own. Customers get a personalized, secure experience. + +## Publisher: Hitachi Solutions + +## Prerequisites +A paid or trial HubSpot account. + +## Supported Operations + +### Pages +#### List pages (V2) +Get all of your pages. +#### Create a new page (V2) +Create a new page. +#### Update a page (V2) +Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields. +#### Delete a page (V2) +Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint. +#### Publish or unpublish a page (V2) +Either publishes or cancels publishing based on the POSTed JSON. + +### Templates +#### List templates (V2) +Get all templates. +#### Create a new template (V2) +Create a new coded template object in Design Manager. +#### Update the template (V2) +Updates a template. If not all the fields are included in the body, we will only update the included fields. +#### Delete the template (V2) +Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint. + +## Obtaining Credentials +A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json new file mode 100644 index 0000000000..9d62e8b3b7 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -0,0 +1,569 @@ +{ + "swagger": "2.0", + "info": { + "title": "HubSpot CMS", + "description": "HubSpot CMS community connector.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/content/api/v2/pages": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List pages (V2)", + "description": "Get all of your pages. Supports paging and filtering.", + "operationId": "PagesList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20, + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "enum": [ + false, + true + ], + "description": "Archived", + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + }, + { + "name": "id", + "in": "query", + "required": false, + "type": "string", + "description": "ID", + "x-ms-summary": "id", + "x-ms-url-encoding": "single" + }, + { + "name": "name", + "in": "query", + "required": false, + "type": "string", + "description": "Name", + "x-ms-summary": "name", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a new page (V2)", + "description": "Create a new page.", + "operationId": "PagesCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "campaign": { + "title": "Campaign", + "type": "string", + "description": "campaign" + }, + "campaign_name": { + "title": "Campaign name", + "type": "string", + "description": "campaign_name" + }, + "footer_html": { + "title": "Footer HTML", + "type": "string", + "description": "footer_html" + }, + "head_html": { + "title": "Head HTML", + "type": "string", + "description": "head_html" + }, + "is_draft": { + "title": "Is draft", + "type": "string", + "description": "is_draft" + }, + "meta_description": { + "title": "Meta description", + "type": "string", + "description": "meta_description" + }, + "meta_keywords": { + "title": "Meta keywords", + "type": "string", + "description": "meta_keywords" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "password": { + "title": "Password", + "type": "string", + "description": "password" + }, + "publish_date": { + "title": "Publish date", + "type": "string", + "description": "publish_date" + }, + "publish_immediately": { + "title": "Publish immediately", + "type": "string", + "description": "publish_immediately" + }, + "slug": { + "title": "Slug", + "type": "string", + "description": "slug" + }, + "subcategory": { + "title": "Subcategory", + "type": "string", + "description": "subcategory" + }, + "widget_containers": { + "title": "Widget containers", + "type": "string", + "description": "widget_containers" + }, + "widgets": { + "title": "Widgets", + "type": "string", + "description": "widgets" + } + } + } + } + ] + } + }, + "/content/api/v2/pages/{page_id}": { + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a page (V2)", + "description": "Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint.", + "operationId": "PagesArchive", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string", + "description": "Page ID.", + "x-ms-summary": "page_id", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a page (V2)", + "description": "Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields.", + "operationId": "PagesUpdate", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string", + "description": "Page ID", + "x-ms-summary": "page_id", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "campaign": { + "title": "Campaign", + "type": "string", + "description": "campaign" + }, + "campaign_name": { + "title": "Campaign name", + "type": "string", + "description": "campaign_name" + }, + "footer_html": { + "title": "Footer HTML", + "type": "string", + "description": "footer_html" + }, + "head_html": { + "title": "Head HTML", + "type": "string", + "description": "head_html" + }, + "is_draft": { + "title": "Is draft", + "type": "string", + "description": "is_draft" + }, + "meta_description": { + "title": "Meta description", + "type": "string", + "description": "meta_description" + }, + "meta_keywords": { + "title": "Meta keywords", + "type": "string", + "description": "meta_keywords" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "password": { + "title": "Password", + "type": "string", + "description": "password" + }, + "publish_date": { + "title": "Publish date", + "type": "string", + "description": "publish_date" + }, + "publish_immediately": { + "title": "Publish immediately", + "type": "string", + "description": "publish_immediately" + }, + "slug": { + "title": "Slug", + "type": "string", + "description": "slug" + }, + "subcategory": { + "title": "Subcategory", + "type": "string", + "description": "subcategory" + }, + "widget_containers": { + "title": "Widget containers", + "type": "string", + "description": "widget_containers" + }, + "widgets": { + "title": "Widgets", + "type": "string", + "description": "widgets" + } + } + } + } + ] + } + }, + "/content/api/v2/pages/{page_id}/publish-action": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Publish or unpublish a page (V2)", + "description": "Either publishes or cancels publishing based on the POSTed JSON.", + "operationId": "PagesPublish", + "parameters": [ + { + "name": "page_id", + "in": "path", + "required": true, + "type": "string", + "description": "Page ID", + "x-ms-summary": "page_id", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "action", + "title": "", + "enum": [ + "push-buffer-live", + "schedule-publish", + "cancel-publish" + ] + } + }, + "required": [ + "action" + ] + } + } + ] + } + }, + "/content/api/v2/templates": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List templates (V2)", + "description": "Get all templates.", + "operationId": "TemplatesList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20, + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "id", + "in": "query", + "required": false, + "type": "string", + "description": "ID", + "x-ms-summary": "id", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a new template (V2)", + "description": "Create a new coded template object in Design Manager.", + "operationId": "TemplatesCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "category_id": { + "type": "integer", + "format": "int32", + "description": "category_id", + "title": "", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "folder": { + "title": "Folder", + "type": "string", + "description": "folder" + }, + "is_available_for_new_content": { + "type": "boolean", + "description": "is_available_for_new_content", + "title": "", + "default": false, + "enum": [ + false, + true + ] + }, + "template_type": { + "type": "integer", + "format": "int32", + "description": "template_type", + "title": "", + "enum": [ + 2, + 4, + 6, + 11, + 12, + 13, + 14, + 19 + ] + }, + "path": { + "title": "Path", + "type": "string", + "description": "path" + }, + "source": { + "title": "Source", + "type": "string", + "description": "source" + } + } + } + } + ] + } + }, + "/content/api/v2/templates/{template_id}": { + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a template (V2)", + "description": "Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint.", + "operationId": "TemplatesArchive", + "parameters": [ + { + "name": "template_id", + "in": "path", + "required": true, + "type": "string", + "description": "Template ID.", + "x-ms-summary": "template_id", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a template (V2)", + "description": "Updates a template. If not all the fields are included in the body, we will only update the included fields.", + "operationId": "TemplatesUpdate", + "parameters": [ + { + "name": "template_id", + "in": "path", + "required": true, + "type": "string", + "description": "Template ID.", + "x-ms-summary": "template_id", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "source": { + "title": "Source", + "type": "string", + "description": "source" + } + }, + "required": [ + "source" + ] + }, + "description": "Body", + "x-ms-summary": "body", + "x-ms-url-encoding": "single" + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.hubspot.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://legal.hubspot.com/privacy-policy" + }, + { + "propertyName": "Categories", + "propertyValue": "Marketing" + } + ] +} diff --git a/independent-publisher-connectors/HubSpot CMS/apiProperties.json b/independent-publisher-connectors/HubSpot CMS/apiProperties.json new file mode 100644 index 0000000000..cc9cf1cd64 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/apiProperties.json @@ -0,0 +1,75 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions", + "stackOwner": "HubSpot" +} diff --git a/independent-publisher-connectors/HubSpot CMS/icon.png b/independent-publisher-connectors/HubSpot CMS/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c GIT binary patch literal 2862 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 G^8YVDI5%+s literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/HubSpot CMS/settings.json b/independent-publisher-connectors/HubSpot CMS/settings.json new file mode 100644 index 0000000000..cad2b3bbf6 --- /dev/null +++ b/independent-publisher-connectors/HubSpot CMS/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_hubspot-20cms-5f1a2efd764356a300-5fb3182c161023f139", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file diff --git a/independent-publisher-connectors/HubSpot Marketing/README.md b/independent-publisher-connectors/HubSpot Marketing/README.md new file mode 100644 index 0000000000..1a78e4432d --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/README.md @@ -0,0 +1,58 @@ +# HubSpot CRM +HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. With Marketing Hub, all your marketing tools and data are on one easy-to-use, powerful platform. You’ll save valuable time and get all the context you need to provide a personalized experience that attracts and converts the right customers at scale. + +## Publisher: Hitachi Solutions + +## Prerequisites +A paid or trial HubSpot account. + +## Supported Operations + +### Marketing Event +#### Get a marketing event (Preview) +Returns the details of the Marketing Event with the specified id, if one exists. +#### Create or update a marketing event (Preview) +Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created. +#### Delete a marketing event (Preview) +Archives an existing Marketing Event with the specified id, if one exists. + +### Marketing Email +#### Get all marketing emails (V1) +Get all marketing emails for a HubSpot account. +#### Get a marketing email (V1) +Get the details for a specific marketing email. +#### Get campaign data for a particular campaign (V1) +For a given campaign, return data associated with the campaign. +#### Create a marketing email (V1) +Create a new marketing email. +#### Update a marketing email (V1) +Update a marketing email. +#### Delete a marketing email (V1) +Archive a marketing email. + +### Forms +#### Get a list of forms (Preview) +Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms. +#### Get a form (Preview) +Returns a form based on the form ID provided. +#### Create a form (Preview) +Add a new HubSpot form. +#### Update a form (Preview) +Update all fields of a HubSpot form definition. +#### Delete a form (Preview) +Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months. + +## Obtaining Credentials +A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). + +A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). + +## Getting Started +No specific instruction required for getting started. + +## Known Issues and Limitations +No issues and limitations are known at this time. + +## Frequently Asked Questions +### How do I obtain API key? +If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json new file mode 100644 index 0000000000..59fdf72367 --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json @@ -0,0 +1,1455 @@ +{ + "swagger": "2.0", + "info": { + "title": "HubSpot Marketing", + "description": "HubSpot Marketing community connector.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.hubapi.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/marketing/v3/forms/": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "List Forms (Preview)", + "description": "Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms.", + "operationId": "FormsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 20, + "description": "The maximum number of results to return.", + "x-ms-visibility": "advanced", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "x-ms-summary": "Whether to return only results that have been archived.", + "x-ms-url-encoding": "single" + } + ] + }, + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a form (Preview)", + "description": "Add a new HubSpot form.", + "operationId": "FormsCreate", + "parameters": [ + { + "name": "data", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "formType": { + "title": "Form Type", + "type": "string", + "description": "formType", + "default": "hubspot" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "createdAt": { + "title": "Created at", + "type": "string", + "description": "createdAt" + }, + "updatedAt": { + "title": "Updated at", + "type": "string", + "description": "updatedAt" + }, + "archived": { + "title": "Archived", + "type": "boolean", + "description": "archived", + "enum": [ + false, + true + ], + "default": false + }, + "archivedAt": { + "title": "Archived at", + "type": "string", + "description": "archivedAt" + }, + "fieldGroups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupType": { + "title": "Group type", + "type": "string", + "description": "groupType" + }, + "richTextType": { + "title": "Rich text type", + "type": "string", + "description": "richTextType" + }, + "richText": { + "title": "Rich text", + "type": "string", + "description": "richText" + }, + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fieldType": { + "title": "Field type", + "type": "string", + "description": "fieldType" + }, + "objectTypeId": { + "title": "Object type ID", + "type": "string", + "description": "objectTypeId" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "required": { + "title": "Required", + "type": "boolean", + "description": "required" + }, + "hidden": { + "title": "Hidden", + "type": "boolean", + "description": "hidden" + }, + "dependentFields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dependentCondition": { + "type": "object", + "properties": { + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "values": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "values" + }, + "rangeStart": { + "title": "Range start", + "type": "string", + "description": "rangeStart" + }, + "rangeEnd": { + "title": "Range end", + "type": "string", + "description": "rangeEnd" + } + }, + "description": "dependentCondition" + } + } + }, + "description": "dependentFields" + }, + "placeholder": { + "title": "Placeholder", + "type": "string", + "description": "placeholder" + }, + "defaultValue": { + "title": "Default value", + "type": "string", + "description": "defaultValue" + }, + "validation": { + "type": "object", + "properties": { + "blockedEmailDomains": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "blockedEmailDomains" + }, + "useDefaultBlockList": { + "title": "Use default block list", + "type": "boolean", + "description": "useDefaultBlockList" + }, + "minAllowedDigits": { + "title": "Minimum allowed digits", + "type": "integer", + "format": "int32", + "description": "minAllowedDigits" + }, + "maxAllowedDigits": { + "title": "Max allowed digits", + "type": "integer", + "format": "int32", + "description": "maxAllowedDigits" + } + }, + "description": "validation" + }, + "useCountryCodeSelect": { + "title": "Use country code select", + "type": "boolean", + "description": "useCountryCodeSelect" + }, + "defaultValues": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "defaultValues" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "displayOrder" + } + } + }, + "description": "options" + }, + "allowMultipleFiles": { + "title": "Allow multiple files", + "type": "boolean", + "description": "allowMultipleFiles" + } + } + }, + "description": "fields" + } + } + }, + "description": "fieldGroups" + }, + "configuration": { + "type": "object", + "properties": { + "language": { + "title": "Language", + "type": "string", + "description": "language" + }, + "cloneable": { + "title": "Cloneable", + "type": "boolean", + "description": "cloneable" + }, + "postSubmitAction": { + "type": "object", + "properties": { + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + }, + "description": "postSubmitAction" + }, + "editable": { + "title": "Editable", + "type": "boolean", + "description": "editable" + }, + "archivable": { + "title": "Archivable", + "type": "boolean", + "description": "archivable" + }, + "recaptchaEnabled": { + "title": "Recaptcha enabled", + "type": "boolean", + "description": "recaptchaEnabled" + }, + "notifyContactOwner": { + "title": "Notify contact owner", + "type": "boolean", + "description": "notifyContactOwner" + }, + "notifyRecipients": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "notifyRecipients" + }, + "createNewContactForNewEmail": { + "title": "Create new contact for new email", + "type": "boolean", + "description": "createNewContactForNewEmail" + }, + "prePopulateKnownValues": { + "title": "Pre-populate known values", + "type": "boolean", + "description": "prePopulateKnownValues" + }, + "allowLinkToResetKnownValues": { + "title": "Allow link to reset known values", + "type": "boolean", + "description": "allowLinkToResetKnownValues" + } + }, + "description": "configuration" + }, + "displayOptions": { + "type": "object", + "properties": { + "renderRawHtml": { + "title": "Render raw HTML", + "type": "boolean", + "description": "renderRawHtml" + }, + "theme": { + "title": "Theme", + "type": "string", + "description": "theme" + }, + "submitButtonText": { + "title": "Submit button text", + "type": "string", + "description": "submitButtonText" + }, + "style": { + "type": "object", + "properties": { + "fontFamily": { + "title": "Font family", + "type": "string", + "description": "fontFamily" + }, + "backgroundWidth": { + "title": "Background width", + "type": "string", + "description": "backgroundWidth" + }, + "labelTextColor": { + "title": "Label text color", + "type": "string", + "description": "labelTextColor" + }, + "labelTextSize": { + "title": "Label text size", + "type": "string", + "description": "labelTextSize" + }, + "helpTextColor": { + "title": "Help text color", + "type": "string", + "description": "helpTextColor" + }, + "helpTextSize": { + "title": "Help text size", + "type": "string", + "description": "helpTextSize" + }, + "legalConsentTextColor": { + "title": "Legal consent text color", + "type": "string", + "description": "legalConsentTextColor" + }, + "legalConsentTextSize": { + "title": "Legal consent text size", + "type": "string", + "description": "legalConsentTextSize" + }, + "submitColor": { + "title": "Submit color", + "type": "string", + "description": "submitColor" + }, + "submitAlignment": { + "title": "Submit alignment", + "type": "string", + "description": "submitAlignment" + }, + "submitFontColor": { + "title": "Submit font color", + "type": "string", + "description": "submitFontColor" + }, + "submitSize": { + "title": "Submit size", + "type": "string", + "description": "submitSize" + } + }, + "description": "style" + }, + "cssClass": { + "title": "CSS class", + "type": "string", + "description": "cssClass" + } + }, + "description": "displayOptions" + } + } + } + } + ] + } + }, + "/marketing/v3/forms/{formId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a form (Preview)", + "description": "Returns a form based on the form ID provided.", + "operationId": "FormsRead", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string", + "description": "The formId of the form", + "x-ms-visibility": "important", + "x-ms-summary": "formId", + "x-ms-url-encoding": "single" + }, + { + "name": "archived", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "Whether to return only results that have been archived.", + "x-ms-visibility": "advanced", + "enum": [ + false, + true + ], + "x-ms-summary": "archived", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "FormsArchive", + "summary": "Delete a form (Preview)", + "description": "Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months.", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string", + "description": "Form ID", + "x-ms-summary": "formId", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "FormsUpdate", + "summary": "Update a form (Preview)", + "description": "Update all fields of a HubSpot form definition.", + "parameters": [ + { + "name": "formId", + "in": "path", + "required": true, + "type": "string", + "description": "Form ID", + "x-ms-summary": "formId", + "x-ms-url-encoding": "single" + }, + { + "name": "data", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "formType": { + "title": "Form Type", + "type": "string", + "description": "formType", + "default": "hubspot" + }, + "id": { + "title": "ID", + "type": "string", + "description": "id" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "createdAt": { + "title": "Created at", + "type": "string", + "description": "createdAt", + "format": "date-time" + }, + "updatedAt": { + "title": "Updated at", + "type": "string", + "description": "updatedAt", + "format": "date-time" + }, + "archived": { + "type": "boolean", + "description": "archived", + "title": "", + "enum": [ + false, + true + ], + "default": false + }, + "archivedAt": { + "title": "Archived at", + "type": "string", + "description": "archivedAt" + }, + "fieldGroups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupType": { + "title": "Group type", + "type": "string", + "description": "groupType" + }, + "richTextType": { + "title": "Rich text type", + "type": "string", + "description": "richTextType" + }, + "richText": { + "title": "Rich text", + "type": "string", + "description": "richText" + }, + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fieldType": { + "title": "Field type", + "type": "string", + "description": "fieldType" + }, + "objectTypeId": { + "title": "Object type ID", + "type": "string", + "description": "objectTypeId" + }, + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "required": { + "title": "Required", + "type": "boolean", + "description": "required" + }, + "hidden": { + "title": "Hidden", + "type": "boolean", + "description": "hidden" + }, + "dependentFields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dependentCondition": { + "type": "object", + "properties": { + "operator": { + "title": "Operator", + "type": "string", + "description": "operator" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "values": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "values" + }, + "rangeStart": { + "title": "Range start", + "type": "string", + "description": "rangeStart" + }, + "rangeEnd": { + "title": "Range end", + "type": "string", + "description": "rangeEnd" + } + }, + "description": "dependentCondition" + } + } + }, + "description": "dependentFields" + }, + "placeholder": { + "title": "Placeholder", + "type": "string", + "description": "placeholder" + }, + "defaultValue": { + "title": "Default value", + "type": "string", + "description": "defaultValue" + }, + "validation": { + "type": "object", + "properties": { + "blockedEmailDomains": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "blockedEmailDomains" + }, + "useDefaultBlockList": { + "title": "Use default block list", + "type": "boolean", + "description": "useDefaultBlockList" + }, + "minAllowedDigits": { + "title": "Minimum allowed digits", + "type": "integer", + "format": "int32", + "description": "minAllowedDigits" + }, + "maxAllowedDigits": { + "title": "Max allowed digits", + "type": "integer", + "format": "int32", + "description": "maxAllowedDigits" + } + }, + "description": "validation" + }, + "useCountryCodeSelect": { + "title": "Use country code select", + "type": "boolean", + "description": "useCountryCodeSelect" + }, + "defaultValues": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "defaultValues" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "title": "Label", + "type": "string", + "description": "label" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "description": { + "title": "Description", + "type": "string", + "description": "description" + }, + "displayOrder": { + "title": "Display order", + "type": "integer", + "format": "int32", + "description": "displayOrder" + } + } + }, + "description": "options" + }, + "allowMultipleFiles": { + "title": "Allow multiple files", + "type": "boolean", + "description": "allowMultipleFiles" + } + } + }, + "description": "fields" + } + } + }, + "description": "fieldGroups" + }, + "configuration": { + "type": "object", + "properties": { + "language": { + "title": "Language", + "type": "string", + "description": "language" + }, + "cloneable": { + "title": "Cloneable", + "type": "boolean", + "description": "cloneable" + }, + "postSubmitAction": { + "type": "object", + "properties": { + "type": { + "title": "Type", + "type": "string", + "description": "type" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + } + }, + "description": "postSubmitAction" + }, + "editable": { + "title": "Editable", + "type": "boolean", + "description": "editable" + }, + "archivable": { + "title": "Archivable", + "type": "boolean", + "description": "archivable" + }, + "recaptchaEnabled": { + "title": "Recaptcha enabled", + "type": "boolean", + "description": "recaptchaEnabled" + }, + "notifyContactOwner": { + "title": "Notify contact owner", + "type": "boolean", + "description": "notifyContactOwner" + }, + "notifyRecipients": { + "type": "array", + "items": { + "title": "Items", + "type": "string" + }, + "description": "notifyRecipients" + }, + "createNewContactForNewEmail": { + "title": "Create new contact for new email", + "type": "boolean", + "description": "createNewContactForNewEmail" + }, + "prePopulateKnownValues": { + "title": "Pre-populate known values", + "type": "boolean", + "description": "prePopulateKnownValues" + }, + "allowLinkToResetKnownValues": { + "title": "Allow link to reset known values", + "type": "boolean", + "description": "allowLinkToResetKnownValues" + } + }, + "description": "configuration" + }, + "displayOptions": { + "type": "object", + "properties": { + "renderRawHtml": { + "title": "Render raw HTML", + "type": "boolean", + "description": "renderRawHtml" + }, + "theme": { + "title": "Theme", + "type": "string", + "description": "theme" + }, + "submitButtonText": { + "title": "Submit button text", + "type": "string", + "description": "submitButtonText" + }, + "style": { + "type": "object", + "properties": { + "fontFamily": { + "title": "Font family", + "type": "string", + "description": "fontFamily" + }, + "backgroundWidth": { + "title": "Background width", + "type": "string", + "description": "backgroundWidth" + }, + "labelTextColor": { + "title": "Label text color", + "type": "string", + "description": "labelTextColor" + }, + "labelTextSize": { + "title": "Label text size", + "type": "string", + "description": "labelTextSize" + }, + "helpTextColor": { + "title": "Help text color", + "type": "string", + "description": "helpTextColor" + }, + "helpTextSize": { + "title": "Help text size", + "type": "string", + "description": "helpTextSize" + }, + "legalConsentTextColor": { + "title": "Legal consent text color", + "type": "string", + "description": "legalConsentTextColor" + }, + "legalConsentTextSize": { + "title": "Legal consent text size", + "type": "string", + "description": "legalConsentTextSize" + }, + "submitColor": { + "title": "Submit color", + "type": "string", + "description": "submitColor" + }, + "submitAlignment": { + "title": "Submit alignment", + "type": "string", + "description": "submitAlignment" + }, + "submitFontColor": { + "title": "Submit font color", + "type": "string", + "description": "submitFontColor" + }, + "submitSize": { + "title": "Submit size", + "type": "string", + "description": "submitSize" + } + }, + "description": "style" + }, + "cssClass": { + "title": "CSS class", + "type": "string", + "description": "cssClass" + } + }, + "description": "displayOptions" + } + }, + "required": [ + "id", + "formType", + "createdAt", + "updatedAt", + "archived" + ] + } + } + ] + } + }, + "/marketing/v3/marketing-events-beta/events/{externalEventId}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "MarketingEventRead", + "summary": "Get a marketing event (Preview)", + "description": "Returns the details of the Marketing Event with the specified id, if one exists.", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to return", + "x-ms-summary": "The id of the marketing event to return", + "x-ms-url-encoding": "single" + }, + { + "name": "externalAccountId", + "in": "query", + "required": true, + "type": "string", + "x-ms-summary": "The account id associated with the marketing event", + "description": "The account id associated with the marketing event", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "operationId": "MarketingEventsArchive", + "summary": "Delete a marketing event (Preview)", + "description": "Archives an existing Marketing Event with the specified id, if one exists.", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to delete", + "x-ms-summary": "The id of the marketing event to delete", + "x-ms-url-encoding": "single" + }, + { + "name": "externalAccountId", + "in": "query", + "required": true, + "type": "string", + "description": "The account id associated with the marketing event", + "x-ms-summary": "The account id associated with the marketing event", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create or update a marketing event (Preview)", + "description": "Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created.", + "operationId": "MarketingEventsUpdateCreateOrUpdate", + "parameters": [ + { + "name": "externalEventId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the marketing event to upsert", + "x-ms-summary": "The id of the marketing event to upsert", + "x-ms-url-encoding": "single" + }, + { + "name": "data", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "eventName": { + "title": "Event name", + "type": "string", + "description": "eventName" + }, + "eventType": { + "type": "string", + "description": "eventType", + "title": "", + "enum": [ + "WEBINAR", + "CONFERENCE", + "WORKSHOP" + ] + }, + "startDateTime": { + "title": "Start date time", + "type": "string", + "description": "startDateTime" + }, + "endDateTime": { + "title": "End date time", + "type": "string", + "description": "endDateTime" + }, + "eventOrganizer": { + "title": "Event organizer", + "type": "string", + "description": "eventOrganizer" + }, + "eventDescription": { + "title": "Event description", + "type": "string", + "description": "eventDescription" + }, + "eventUrl": { + "title": "Event URL", + "type": "string", + "description": "eventUrl" + }, + "eventCancelled": { + "title": "Event cancelled", + "type": "boolean", + "description": "eventCancelled" + }, + "customProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name" + }, + "value": { + "title": "Value", + "type": "string", + "description": "value" + }, + "timestamp": { + "title": "Timestamp", + "type": "integer", + "format": "int32", + "description": "timestamp" + }, + "sourceId": { + "title": "Source ID", + "type": "string", + "description": "sourceId" + }, + "sourceLabel": { + "title": "Source label", + "type": "string", + "description": "sourceLabel" + }, + "source": { + "title": "Source", + "type": "string", + "description": "source" + }, + "selectedByUser": { + "title": "Selected by user", + "type": "boolean", + "description": "selectedByUser" + }, + "selectedByUserTimestamp": { + "title": "Selected by user timestamp", + "type": "integer", + "format": "int32", + "description": "selectedByUserTimestamp" + }, + "sourceVid": { + "type": "array", + "items": { + "title": "Items", + "type": "integer", + "format": "int32" + }, + "description": "sourceVid" + }, + "sourceMetadata": { + "title": "Source metadata", + "type": "string", + "description": "sourceMetadata" + }, + "requestId": { + "title": "Request ID", + "type": "string", + "description": "requestId" + } + } + }, + "description": "customProperties" + }, + "externalAccountId": { + "title": "External account ID", + "type": "string", + "description": "externalAccountId" + }, + "externalEventId": { + "title": "External event ID", + "type": "string", + "description": "externalEventId" + } + }, + "required": [ + "eventName", + "eventOrganizer", + "externalEventId", + "externalAccountId" + ] + } + } + ] + } + }, + "/marketing-emails/v1/emails": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get all marketing emails (V1)", + "description": "Get all marketing emails for a HubSpot account.", + "operationId": "MarketingEmailsList", + "parameters": [ + { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "default": 10, + "description": "Limit", + "x-ms-summary": "limit", + "x-ms-url-encoding": "single" + }, + { + "name": "orderBy", + "in": "query", + "required": false, + "type": "string", + "default": "created", + "description": "orderBy", + "x-ms-summary": "orderBy", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/marketing-emails/v1/emails/{id}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get a marketing email (V1)", + "description": "Get the details for a specific marketing email.", + "operationId": "MarketingEmailsRead", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "x-ms-visibility": "important", + "description": "ID", + "x-ms-summary": "id", + "x-ms-url-encoding": "single" + } + ] + }, + "delete": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Delete a marketing email (V1)", + "description": "Archive a marketing email.", + "operationId": "MarketingEmailsArchive", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "description": "ID", + "x-ms-summary": "id", + "x-ms-url-encoding": "single" + } + ] + }, + "put": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Update a marketing email (V1)", + "description": "Update a marketing email.", + "operationId": "MarketingEmailsUpdate", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "description": "ID", + "x-ms-summary": "id", + "x-ms-url-encoding": "single" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fromName": { + "title": "From name", + "type": "string", + "description": "fromName" + }, + "replyTo": { + "title": "Reply to", + "type": "string", + "description": "replyTo" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + } + } + } + ] + } + }, + "/email/public/v1/campaigns/{campaign_id}": { + "get": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Get campaign data for a particular campaign (V1)", + "description": "For a given campaign, return data associated with the campaign.", + "operationId": "MarketingEmailsCampaignRead", + "parameters": [ + { + "name": "campaign_id", + "in": "path", + "required": true, + "type": "string", + "description": "Campaign ID", + "x-ms-summary": "campaign_id", + "x-ms-url-encoding": "single" + } + ] + } + }, + "/marketing-emails/v1/emails/": { + "post": { + "responses": { + "default": { + "description": "default", + "schema": {} + } + }, + "summary": "Create a marketing email (V1)", + "description": "Create a new marketing email.", + "operationId": "MarketingEmailsCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "name", + "x-ms-visibility": "important" + }, + "subject": { + "title": "Subject", + "type": "string", + "description": "subject" + } + }, + "required": [ + "name" + ] + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://app.hubspot.com/oauth/authorize", + "tokenUrl": "https://api.hubapi.com/oauth/v1/token", + "scopes": { + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.hubspot.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://legal.hubspot.com/privacy-policy" + }, + { + "propertyName": "Categories", + "propertyValue": "Marketing" + } + ] +} diff --git a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json new file mode 100644 index 0000000000..cc9cf1cd64 --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json @@ -0,0 +1,75 @@ +{ + "connectionParameterSets": { + "uiDefinition": { + "displayName": "Authentication Type", + "description": "Type of authentication to be used." + }, + "values": [ + { + "name": "hubspot-oauth", + "uiDefinition": { + "displayName": "Use HubSpot OAuth 2.0", + "description": "Log in using HubSpot app client ID and secret." + }, + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", + "scopes": [ + "contacts oauth" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://app.hubspot.com/oauth/authorize" + }, + "tokenUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + }, + "refreshUrl": { + "value": "https://api.hubapi.com/oauth/v1/token" + } + } + } + } + } + } + }, + { + "name": "api-auth", + "uiDefinition": { + "displayName": "Use HubSpot API Key", + "description": "Log in using a HubSpot API Key." + }, + "parameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "constraints": { + "clearText": false, + "required": "true", + "tabIndex": 3 + }, + "schema": { + "description": "Enter your API Key for HubSpot", + "type": "securestring" + }, + "displayName": "API Key generated in HubSpot" + } + } + } + } + ] + }, + "iconBrandColor": "#007ee5", + "capabilities": [], + "publisher": "Hitachi Solutions", + "stackOwner": "HubSpot" +} diff --git a/independent-publisher-connectors/HubSpot Marketing/icon.png b/independent-publisher-connectors/HubSpot Marketing/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c GIT binary patch literal 2862 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 G^8YVDI5%+s literal 0 HcmV?d00001 diff --git a/independent-publisher-connectors/HubSpot Marketing/settings.json b/independent-publisher-connectors/HubSpot Marketing/settings.json new file mode 100644 index 0000000000..153b93942c --- /dev/null +++ b/independent-publisher-connectors/HubSpot Marketing/settings.json @@ -0,0 +1,9 @@ +{ + "connectorId": "shared_hubspot-20marketing-5f1a2efd764356a300-5fb3182c161023f139", + "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", + "apiProperties": "apiProperties.json", + "apiDefinition": "apiDefinition.swagger.json", + "icon": "icon.png", + "powerAppsUrl": "https://api.powerapps.com", + "powerAppsApiVersion": "2016-11-01" +} \ No newline at end of file From 5ee79bc15c5204db30edb4353f7b7407c23a161c Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:14:57 -0400 Subject: [PATCH 08/25] Update apiDefinition.swagger.json Fixed description --- .../HubSpot CMS/apiDefinition.swagger.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json index 9d62e8b3b7..072582b93b 100644 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HubSpot CMS", - "description": "HubSpot CMS community connector.", + "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS (software-as-a-service) CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It’s designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality guardrails that you as a developer can set up. The content, lead collection, and analytics are also integrated with the HubSpot CRM, making it easy for marketers to create personalized experiences for visitors and integrate those experiences with the rest of the business.", "version": "1.0", "contact": { "name": "Troy Taylor", From 06373fc226f2ca713b0072fce125afd5ffbb8e10 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:18:31 -0400 Subject: [PATCH 09/25] Update apiDefinition.swagger.json Cut to below 500 --- .../HubSpot CMS/apiDefinition.swagger.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json index 072582b93b..71fe81b1f0 100644 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HubSpot CMS", - "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS (software-as-a-service) CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It’s designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality guardrails that you as a developer can set up. The content, lead collection, and analytics are also integrated with the HubSpot CRM, making it easy for marketers to create personalized experiences for visitors and integrate those experiences with the rest of the business.", + "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS (software-as-a-service) CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It is designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality guardrails that you as a developer can set up. The content, lead collection, and analytics are also integrated with the HubSpot CRM.", "version": "1.0", "contact": { "name": "Troy Taylor", From 3f91d0ec6a94f45c31a5c57d778df2ef6d3aae35 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:20:12 -0400 Subject: [PATCH 10/25] Update apiDefinition.swagger.json Cut to below 500. --- .../HubSpot CMS/apiDefinition.swagger.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json index 71fe81b1f0..d53f0b303b 100644 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HubSpot CMS", - "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS (software-as-a-service) CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It is designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality guardrails that you as a developer can set up. The content, lead collection, and analytics are also integrated with the HubSpot CRM.", + "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It is designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality. The content, lead collection, and analytics are also integrated with the HubSpot CRM.", "version": "1.0", "contact": { "name": "Troy Taylor", From 0b9558f71fd5b979f448bfb6efc1993222a8d76d Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:21:40 -0400 Subject: [PATCH 11/25] Delete icon.png --- .../HubSpot CMS/icon.png | Bin 2862 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot CMS/icon.png diff --git a/independent-publisher-connectors/HubSpot CMS/icon.png b/independent-publisher-connectors/HubSpot CMS/icon.png deleted file mode 100644 index aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 G^8YVDI5%+s From c4baf93322d68581d011d826c8b122651ebef306 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:21:56 -0400 Subject: [PATCH 12/25] Delete settings.json --- .../HubSpot CMS/settings.json | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot CMS/settings.json diff --git a/independent-publisher-connectors/HubSpot CMS/settings.json b/independent-publisher-connectors/HubSpot CMS/settings.json deleted file mode 100644 index cad2b3bbf6..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_hubspot-20cms-5f1a2efd764356a300-5fb3182c161023f139", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file From f8931ee166efb6ee81aa110e45619e73323acb31 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Wed, 30 Jun 2021 17:38:21 -0400 Subject: [PATCH 13/25] Update apiDefinition.swagger.json --- .../HubSpot CMS/apiDefinition.swagger.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json index d53f0b303b..22ccf744d4 100644 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json @@ -335,7 +335,7 @@ "action": { "type": "string", "description": "action", - "title": "", + "title": "The action for to be performed on the page.", "enum": [ "push-buffer-live", "schedule-publish", @@ -406,7 +406,7 @@ "type": "integer", "format": "int32", "description": "category_id", - "title": "", + "title": "The category ID for the template.", "enum": [ 0, 1, @@ -423,7 +423,7 @@ "is_available_for_new_content": { "type": "boolean", "description": "is_available_for_new_content", - "title": "", + "title": "Is ", "default": false, "enum": [ false, @@ -434,7 +434,7 @@ "type": "integer", "format": "int32", "description": "template_type", - "title": "", + "title": "The template type.", "enum": [ 2, 4, From 5274cdeee586b761fdb3480ca01050e0237030a2 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 23 Jul 2021 11:29:35 -0400 Subject: [PATCH 14/25] Delete independent-publisher-connectors/HubSpot CMS directory --- .../HubSpot CMS/README.md | 46 -- .../HubSpot CMS/apiDefinition.swagger.json | 569 ------------------ .../HubSpot CMS/apiProperties.json | 75 --- 3 files changed, 690 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot CMS/README.md delete mode 100644 independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot CMS/apiProperties.json diff --git a/independent-publisher-connectors/HubSpot CMS/README.md b/independent-publisher-connectors/HubSpot CMS/README.md deleted file mode 100644 index 29e475a009..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# HubSpot CRM -HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. CMS Hub powers your website with a CMS that makes it easy to grow better. Developers build using flexible themes and content structures. Marketers easily edit and create pages on their own. Customers get a personalized, secure experience. - -## Publisher: Hitachi Solutions - -## Prerequisites -A paid or trial HubSpot account. - -## Supported Operations - -### Pages -#### List pages (V2) -Get all of your pages. -#### Create a new page (V2) -Create a new page. -#### Update a page (V2) -Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields. -#### Delete a page (V2) -Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint. -#### Publish or unpublish a page (V2) -Either publishes or cancels publishing based on the POSTed JSON. - -### Templates -#### List templates (V2) -Get all templates. -#### Create a new template (V2) -Create a new coded template object in Design Manager. -#### Update the template (V2) -Updates a template. If not all the fields are included in the body, we will only update the included fields. -#### Delete the template (V2) -Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint. - -## Obtaining Credentials -A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json deleted file mode 100644 index 22ccf744d4..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/apiDefinition.swagger.json +++ /dev/null @@ -1,569 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HubSpot CMS", - "description": "This connector is used to retrieve and make changes to HubSpot CMS. HubSpot CMS is a SaaS CMS designed to help businesses grow their web presence with a special emphasis on enabling marketers. It is designed to be used on business websites where non-technical content creators need to be able to build, measure, and iterate on content independently while working within design, style, and functionality. The content, lead collection, and analytics are also integrated with the HubSpot CRM.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/content/api/v2/pages": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List pages (V2)", - "description": "Get all of your pages. Supports paging and filtering.", - "operationId": "PagesList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20, - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "enum": [ - false, - true - ], - "description": "Archived", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - }, - { - "name": "id", - "in": "query", - "required": false, - "type": "string", - "description": "ID", - "x-ms-summary": "id", - "x-ms-url-encoding": "single" - }, - { - "name": "name", - "in": "query", - "required": false, - "type": "string", - "description": "Name", - "x-ms-summary": "name", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a new page (V2)", - "description": "Create a new page.", - "operationId": "PagesCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "campaign": { - "title": "Campaign", - "type": "string", - "description": "campaign" - }, - "campaign_name": { - "title": "Campaign name", - "type": "string", - "description": "campaign_name" - }, - "footer_html": { - "title": "Footer HTML", - "type": "string", - "description": "footer_html" - }, - "head_html": { - "title": "Head HTML", - "type": "string", - "description": "head_html" - }, - "is_draft": { - "title": "Is draft", - "type": "string", - "description": "is_draft" - }, - "meta_description": { - "title": "Meta description", - "type": "string", - "description": "meta_description" - }, - "meta_keywords": { - "title": "Meta keywords", - "type": "string", - "description": "meta_keywords" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "password": { - "title": "Password", - "type": "string", - "description": "password" - }, - "publish_date": { - "title": "Publish date", - "type": "string", - "description": "publish_date" - }, - "publish_immediately": { - "title": "Publish immediately", - "type": "string", - "description": "publish_immediately" - }, - "slug": { - "title": "Slug", - "type": "string", - "description": "slug" - }, - "subcategory": { - "title": "Subcategory", - "type": "string", - "description": "subcategory" - }, - "widget_containers": { - "title": "Widget containers", - "type": "string", - "description": "widget_containers" - }, - "widgets": { - "title": "Widgets", - "type": "string", - "description": "widgets" - } - } - } - } - ] - } - }, - "/content/api/v2/pages/{page_id}": { - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a page (V2)", - "description": "Marks a page as deleted. Returns 204 No Content letting you know that the page was successfully deleted. The page can be restored later via a POST to the restore-deleted endpoint.", - "operationId": "PagesArchive", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string", - "description": "Page ID.", - "x-ms-summary": "page_id", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a page (V2)", - "description": "Updates a page in the database. If not all top level fields are included in the body, we will only update the included fields.", - "operationId": "PagesUpdate", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string", - "description": "Page ID", - "x-ms-summary": "page_id", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "campaign": { - "title": "Campaign", - "type": "string", - "description": "campaign" - }, - "campaign_name": { - "title": "Campaign name", - "type": "string", - "description": "campaign_name" - }, - "footer_html": { - "title": "Footer HTML", - "type": "string", - "description": "footer_html" - }, - "head_html": { - "title": "Head HTML", - "type": "string", - "description": "head_html" - }, - "is_draft": { - "title": "Is draft", - "type": "string", - "description": "is_draft" - }, - "meta_description": { - "title": "Meta description", - "type": "string", - "description": "meta_description" - }, - "meta_keywords": { - "title": "Meta keywords", - "type": "string", - "description": "meta_keywords" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "password": { - "title": "Password", - "type": "string", - "description": "password" - }, - "publish_date": { - "title": "Publish date", - "type": "string", - "description": "publish_date" - }, - "publish_immediately": { - "title": "Publish immediately", - "type": "string", - "description": "publish_immediately" - }, - "slug": { - "title": "Slug", - "type": "string", - "description": "slug" - }, - "subcategory": { - "title": "Subcategory", - "type": "string", - "description": "subcategory" - }, - "widget_containers": { - "title": "Widget containers", - "type": "string", - "description": "widget_containers" - }, - "widgets": { - "title": "Widgets", - "type": "string", - "description": "widgets" - } - } - } - } - ] - } - }, - "/content/api/v2/pages/{page_id}/publish-action": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Publish or unpublish a page (V2)", - "description": "Either publishes or cancels publishing based on the POSTed JSON.", - "operationId": "PagesPublish", - "parameters": [ - { - "name": "page_id", - "in": "path", - "required": true, - "type": "string", - "description": "Page ID", - "x-ms-summary": "page_id", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "action", - "title": "The action for to be performed on the page.", - "enum": [ - "push-buffer-live", - "schedule-publish", - "cancel-publish" - ] - } - }, - "required": [ - "action" - ] - } - } - ] - } - }, - "/content/api/v2/templates": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List templates (V2)", - "description": "Get all templates.", - "operationId": "TemplatesList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20, - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "id", - "in": "query", - "required": false, - "type": "string", - "description": "ID", - "x-ms-summary": "id", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a new template (V2)", - "description": "Create a new coded template object in Design Manager.", - "operationId": "TemplatesCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "category_id": { - "type": "integer", - "format": "int32", - "description": "category_id", - "title": "The category ID for the template.", - "enum": [ - 0, - 1, - 2, - 3, - 4 - ] - }, - "folder": { - "title": "Folder", - "type": "string", - "description": "folder" - }, - "is_available_for_new_content": { - "type": "boolean", - "description": "is_available_for_new_content", - "title": "Is ", - "default": false, - "enum": [ - false, - true - ] - }, - "template_type": { - "type": "integer", - "format": "int32", - "description": "template_type", - "title": "The template type.", - "enum": [ - 2, - 4, - 6, - 11, - 12, - 13, - 14, - 19 - ] - }, - "path": { - "title": "Path", - "type": "string", - "description": "path" - }, - "source": { - "title": "Source", - "type": "string", - "description": "source" - } - } - } - } - ] - } - }, - "/content/api/v2/templates/{template_id}": { - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a template (V2)", - "description": "Marks the selected Template as deleted. The Template can be restored later via a POST to the restore-deleted endpoint.", - "operationId": "TemplatesArchive", - "parameters": [ - { - "name": "template_id", - "in": "path", - "required": true, - "type": "string", - "description": "Template ID.", - "x-ms-summary": "template_id", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a template (V2)", - "description": "Updates a template. If not all the fields are included in the body, we will only update the included fields.", - "operationId": "TemplatesUpdate", - "parameters": [ - { - "name": "template_id", - "in": "path", - "required": true, - "type": "string", - "description": "Template ID.", - "x-ms-summary": "template_id", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "source": { - "title": "Source", - "type": "string", - "description": "source" - } - }, - "required": [ - "source" - ] - }, - "description": "Body", - "x-ms-summary": "body", - "x-ms-url-encoding": "single" - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.hubspot.com/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://legal.hubspot.com/privacy-policy" - }, - { - "propertyName": "Categories", - "propertyValue": "Marketing" - } - ] -} diff --git a/independent-publisher-connectors/HubSpot CMS/apiProperties.json b/independent-publisher-connectors/HubSpot CMS/apiProperties.json deleted file mode 100644 index cc9cf1cd64..0000000000 --- a/independent-publisher-connectors/HubSpot CMS/apiProperties.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "HubSpot" -} From 408a9d1ab2374d9016e2ab688253b52874c77ae6 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 23 Jul 2021 11:29:44 -0400 Subject: [PATCH 15/25] Delete independent-publisher-connectors/HubSpot CRM directory --- .../Getting Started with HubSpot Workflows | 25 - .../HubSpot CRM/README.md | 169 - .../HubSpot CRM/apiDefinition.swagger.json | 6272 ----------------- .../HubSpot CRM/apiProperties.json | 75 - .../HubSpot CRM/icon.png | Bin 2862 -> 0 bytes .../HubSpot CRM/msedge_KE1O1FSJEg.png | Bin 13077 -> 0 bytes .../HubSpot CRM/msedge_Kl4ymVJGp0.png | Bin 24590 -> 0 bytes .../HubSpot CRM/settings.json | 9 - 8 files changed, 6550 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows delete mode 100644 independent-publisher-connectors/HubSpot CRM/README.md delete mode 100644 independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot CRM/apiProperties.json delete mode 100644 independent-publisher-connectors/HubSpot CRM/icon.png delete mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png delete mode 100644 independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png delete mode 100644 independent-publisher-connectors/HubSpot CRM/settings.json diff --git a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows b/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows deleted file mode 100644 index 64e8bbccdd..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/Getting Started with HubSpot Workflows +++ /dev/null @@ -1,25 +0,0 @@ -# Getting Started with HubSpot Workflows and Power Automate - -In order to use HubSpot Workflows as a trigger with Power Automate, you will need to first configure a instant cloud flow using the 'When a HTTP request is received' [trigger](https://docs.microsoft.com/en-us/learn/modules/http-connectors/4-http-request). After saving the flow, the trigger will populate with a HTTP Post URL you will use later with your HubSpot Workflow. - -![Example of HTTP request trigger](msedge_Kl4ymVJGp0.png) - -It is highly recommended that a separate flow be created for each HubSpot object workflow in order to minimize JSON parse errors, e.g. workflows for new contacts and contact updates, with best practice being separate flows for each object action. An example using the default HubSpot fields for contacts can be [found here](Contact%20JSON.json). Keep in mind that if your HubSpot object have any custom fields or you later add custom fields, you will need to generate the schema again using the new JSON payload. - -[HubSpot Workflows](https://knowledge.hubspot.com/workflows/create-workflows) can be found on the menu bar in your HubSpot account. You can create workflows for any object that your account has access to: - - - Contacts - - Companies - - Deals - - Conversations - - Quotes (with Sales Hub Enterprise) - - Tickets (with Service Hub Professional or Enterprise) - - Custom objects (Enterprise only) - -Similar to Power Automate, Workflows are built using a trigger and subsequent actions. - -![Example of a contact workflow with trigger filters needing to be set](msedge_KE1O1FSJEg.png) - -A trigger can only select one HubSpot object to monitor, but within that object, multiple filters can selected using any of the object fields with And and Or rules. Once your trigger is configured, you will need to add a 'Trigger Webhook' action. In the Webhook URL textbox, add the URL the flow trigger generated and click Save. You will now need to review the workflow configuration and turn the workflow on to start triggers to Power Automate. - -The HTTP call from HubSpot is queued, so expect a delay of 10 seconds or more before the Power Automate trigger starts. diff --git a/independent-publisher-connectors/HubSpot CRM/README.md b/independent-publisher-connectors/HubSpot CRM/README.md deleted file mode 100644 index ddf65875e6..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/README.md +++ /dev/null @@ -1,169 +0,0 @@ -# HubSpot CRM -HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. Powerful sales CRM software to help teams close more deals, deepen relationships, and manage their pipeline more effectively — all on one easy-to-use platform. - -## Publisher: Hitachi Solutions - -## Prerequisites -A paid or trial HubSpot account. - -## Supported Operations - -### Companies - -#### List companies -Return a list of companies. -#### Create a company -Create a company with the given properties and return a copy of the object, including the ID. -#### Get a company -Read a company identified by {companyId}. -#### Update a company -Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a company -Move a company identified by {companyId} to the recycling bin. - -### Contacts - -#### List contacts -Read a list of contacts. -#### Create a contact -Create a contact with the given properties and return a copy of the object, including the ID. -#### Get a contact -Read a contact identified by {contactId}. -#### Update a contact -Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a contact -Move a contact identified by {contactId} to the recycling bin. - -### Deals - -#### List deals -Return a list of deals. -#### Create a deal -Create a deal with the given properties and return a copy of the object, including the ID. -#### Get a deal -Read a deal identified by {dealId}. -#### Update a deal -Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a deal -Move a deal identified by {dealId} to the recycling bin. - -### Products - -#### List products -Return a list of products. -#### Create a product -Create a product with the given properties and return a copy of the object, including the ID. -#### Get a product -Read a product identified by {productId}. -#### Update a product -Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a product -Move a product identified by {productId} to the recycling bin. - -### Owners - -#### List owners -Return a list of owners. -#### Get an owner -Read an owner by given id or userId. - -### Pipelines - -#### List pipelines -Return all pipelines for the object type specified by {objectType}. -#### Create a pipeline -Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response. -#### Get a pipeline -Return a single pipeline object identified by its unique {pipelineId}. -#### Update a pipeline -Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response. -#### Replace a pipeline -Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response. -#### Delete a pipeline -Move a pipeline identified by {pipelineId} to the recycling bin. - -### Pipeline Stages - -#### Create a pipeline stage -Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response. -#### Get a pipeline stage -Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}. -#### Update a pipeline stage -Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response. -#### Replace a pipeline stage -Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response. -#### Delete a pipeline stage -Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. - -### Properties - -#### List properties -Read all existing properties for the specified object type and HubSpot account. -#### Create a property -Create and return a copy of a new property for the specified object type. -#### Get a property -Read a property identified by {propertyName}. -#### Update a property -Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten. -#### Delete a property -Move a property identified by {propertyName} to the recycling bin. - -### Line Items - -#### List line items -Return a list of line items. Control what is returned via the properties query param. -#### Create a line item -Create a line item with the given properties and return a copy of the object, including the ID. -#### Get a line item -Read a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. -#### Update a line item -Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Delete a line item -Move an Object identified by {lineItemId} to the recycling bin. - -### Tickets - -#### List tickets -Read a list of tickets. Control what is returned via the properties query param. -#### Create a ticket -Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided. -#### Get a ticket -Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. -#### Update a ticket -Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string. -#### Archive a ticket -Move a ticket identified by {ticketId} to the recycling bin. - -### Search - -#### Search Companies -Perform a search across companies. -#### Search Contacts -Perform a search across contacts. -#### Search Deals -Perform a search across deals. -#### Search Products -Perform a search across products. -#### Search Tickets -Perform a search across tickets. -#### Search Line Items -Perform a search across line items. -#### Search Quotes -The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across quotes. -#### Search Custom Objects -Perform a search across custom objects. - -## Obtaining Credentials -A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json deleted file mode 100644 index 8f4a5637f7..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/apiDefinition.swagger.json +++ /dev/null @@ -1,6272 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Default title", - "description": "HubSpot\u2019s CRM is a system for managing customer relationships and storing data. The CRM custom connector provides access to CRM objects or groups of objects, which are represented as a map of property names to values.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/crm/v3/objects/companies": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List companies", - "description": "Return a list of companies.", - "operationId": "CompaniesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "x-ms-visibility": "important", - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single", - "x-ms-visibility": "advanced" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single", - "x-ms-visibility": "advanced" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a company", - "description": "Create a company with the given properties and return a copy of the object, including the ID.", - "operationId": "CompaniesCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "about_us": { - "title": "About usAbout Us", - "type": "string", - "description": "about_us" - }, - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "address2": { - "title": "Address 2", - "type": "string", - "description": "address2" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "domain": { - "title": "Domain", - "type": "string", - "description": "domain" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "facebook_company_page": { - "title": "Facebook company page", - "type": "string", - "description": "facebook_company_page" - }, - "facebookfans": { - "title": "Facebook fans", - "type": "string", - "description": "facebookfans" - }, - "first_contact_createdate": { - "title": "first contact create date", - "type": "string", - "description": "first_contact_createdate" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "founded_year": { - "title": "Founded year", - "type": "string", - "description": "founded_year" - }, - "googleplus_page": { - "title": "GooglePlus page", - "type": "string", - "description": "googleplus_page" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_ideal_customer_profile": { - "title": "HubSpot ideal customer profile", - "type": "string", - "description": "hs_ideal_customer_profile" - }, - "hs_is_target_account": { - "title": "HubSpot is target account", - "type": "string", - "description": "hs_is_target_account" - }, - "hs_last_booked_meeting_date": { - "title": "HubSpot last booked meeting date", - "type": "string", - "description": "hs_last_booked_meeting_date" - }, - "hs_last_logged_call_date": { - "title": "HubSpot last logged call date", - "type": "string", - "description": "hs_last_logged_call_date" - }, - "hs_last_open_task_date": { - "title": "HubSpot last open task date", - "type": "string", - "description": "hs_last_open_task_date" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_num_blockers": { - "title": "HubSpot number of blockers", - "type": "string", - "description": "hs_num_blockers" - }, - "hs_num_child_companies": { - "title": "HubSpot number of child companies", - "type": "string", - "description": "hs_num_child_companies" - }, - "hs_num_contacts_with_buying_roles": { - "title": "HubSpot number of contacts with buying roles", - "type": "string", - "description": "hs_num_contacts_with_buying_roles" - }, - "hs_num_decision_makers": { - "title": "HubSpot number of decision makers", - "type": "string", - "description": "hs_num_decision_makers" - }, - "hs_num_open_deals": { - "title": "HubSpot number of open deals", - "type": "string", - "description": "hs_num_open_deals" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_parent_company_id": { - "title": "HubSpot parent company ID", - "type": "string", - "description": "hs_parent_company_id" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_total_deal_value": { - "title": "HubSpot total deal value", - "type": "string", - "description": "hs_total_deal_value" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "is_public": { - "title": "Is public", - "type": "string", - "description": "is_public" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "linkedin_company_page": { - "title": "LinkedIn company page", - "type": "string", - "description": "linkedin_company_page" - }, - "linkedinbio": { - "title": "LinkedIn bio", - "type": "string", - "description": "linkedinbio" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "numberofemployees": { - "title": "Number of employees", - "type": "string", - "description": "numberofemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "timezone": { - "title": "Timezone", - "type": "string", - "description": "timezone" - }, - "total_money_raised": { - "title": "Total money raised", - "type": "string", - "description": "total_money_raised" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterbio": { - "title": "Twitter bio", - "type": "string", - "description": "twitterbio" - }, - "twitterfollowers": { - "title": "Twitter followers", - "type": "string", - "description": "twitterfollowers" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "web_technologies": { - "title": "Web technologies", - "type": "string", - "description": "web_technologies" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - }, - "required": [ - "name" - ] - } - } - } - } - ] - } - }, - "/crm/v3/objects/companies/{companyId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a company", - "description": "Read a company identified by {companyId}.", - "operationId": "CompaniesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company", - "x-ms-summary": "companyID", - "x-ms-url-encoding": "single", - "x-ms-visibility": "important" - }, - { - "name": "properies", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "description": "Whether to return only companies that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a company", - "description": "Move a company identified by {companyId} to the recycling bin.", - "operationId": "CompaniesArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company", - "x-ms-visibility": "important", - "x-ms-summary": "companyID", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a company", - "description": "Perform a partial update of a company identified by {companyId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "CompaniesUpdate", - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "The companyId of the company.", - "x-ms-visibility": "important", - "x-ms-summary": "companyId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "about_us": { - "title": "About us", - "type": "string", - "description": "about_us" - }, - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "address2": { - "title": "Address 2", - "type": "string", - "description": "address2" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "domain": { - "title": "Domain", - "type": "string", - "description": "domain" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "facebook_company_page": { - "title": "Facebook company page", - "type": "string", - "description": "facebook_company_page" - }, - "facebookfans": { - "title": "Facebook fans", - "type": "string", - "description": "facebookfans" - }, - "first_contact_createdate": { - "title": "first contact create date", - "type": "string", - "description": "first_contact_createdate" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "founded_year": { - "title": "Founded year", - "type": "string", - "description": "founded_year" - }, - "googleplus_page": { - "title": "GooglePlus page", - "type": "string", - "description": "googleplus_page" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_ideal_customer_profile": { - "title": "HubSpot ideal customer profile", - "type": "string", - "description": "hs_ideal_customer_profile" - }, - "hs_is_target_account": { - "title": "HubSpot is target account", - "type": "string", - "description": "hs_is_target_account" - }, - "hs_last_booked_meeting_date": { - "title": "HubSpot last booked meeting date", - "type": "string", - "description": "hs_last_booked_meeting_date" - }, - "hs_last_logged_call_date": { - "title": "HubSpot last logged call date", - "type": "string", - "description": "hs_last_logged_call_date" - }, - "hs_last_open_task_date": { - "title": "HubSpot last open task date", - "type": "string", - "description": "hs_last_open_task_date" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_num_blockers": { - "title": "HubSpot number of blockers", - "type": "string", - "description": "hs_num_blockers" - }, - "hs_num_child_companies": { - "title": "HubSpot number of child companies", - "type": "string", - "description": "hs_num_child_companies" - }, - "hs_num_contacts_with_buying_roles": { - "title": "HubSpot number of contacts with buying roles", - "type": "string", - "description": "hs_num_contacts_with_buying_roles" - }, - "hs_num_decision_makers": { - "title": "HubSpot number of decision makers", - "type": "string", - "description": "hs_num_decision_makers" - }, - "hs_num_open_deals": { - "title": "HubSpot number of open deals", - "type": "string", - "description": "hs_num_open_deals" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_parent_company_id": { - "title": "HubSpot parent company ID", - "type": "string", - "description": "hs_parent_company_id" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_total_deal_value": { - "title": "HubSpot total deal value", - "type": "string", - "description": "hs_total_deal_value" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "is_public": { - "title": "Is public", - "type": "string", - "description": "is_public" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "linkedin_company_page": { - "title": "LinkedIn company page", - "type": "string", - "description": "linkedin_company_page" - }, - "linkedinbio": { - "title": "LinkedIn bio", - "type": "string", - "description": "linkedinbio" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "numberofemployees": { - "title": "Number of employees", - "type": "string", - "description": "numberofemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "timezone": { - "title": "Timezone", - "type": "string", - "description": "timezone" - }, - "total_money_raised": { - "title": "Total money raised", - "type": "string", - "description": "total_money_raised" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterbio": { - "title": "Twitter bio", - "type": "string", - "description": "twitterbio" - }, - "twitterfollowers": { - "title": "Twitter followers", - "type": "string", - "description": "twitterfollowers" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "web_technologies": { - "title": "Web technologies", - "type": "string", - "description": "web_technologies" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - }, - "required": [ - "name" - ] - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List contacts", - "description": "Read a list of contacts.", - "operationId": "ContactsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": true, - "type": "integer", - "default": 10, - "x-ms-visibility": "important", - "description": "The maximum number of results to return", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "properties[]", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a contact", - "description": "Create a contact with the given properties and return a copy of the object, including the ID.", - "operationId": "ContactsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "company": { - "title": "Company", - "type": "string", - "description": "company" - }, - "company_size": { - "title": "Company size", - "type": "string", - "description": "company_size" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "currentlyinworkflow": { - "title": "Currenly in workflow", - "type": "string", - "description": "currentlyinworkflow" - }, - "date_of_birth": { - "title": "Date of birth", - "type": "string", - "description": "date_of_birth" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "degree": { - "title": "Degree", - "type": "string", - "description": "degree" - }, - "email": { - "title": "Email", - "type": "string", - "description": "email" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "fax": { - "title": "Fax", - "type": "string", - "description": "fax" - }, - "field_of_study": { - "title": "Field of study", - "type": "string", - "description": "field_of_study" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "firstname": { - "title": "First name", - "type": "string", - "description": "firstname" - }, - "gender": { - "title": "Gender", - "type": "string", - "description": "gender" - }, - "graduation_date": { - "title": "Graduation date", - "type": "string", - "description": "graduation_date" - }, - "hs_analytics_average_page_views": { - "title": "HubSpot analytics average page views", - "type": "string", - "description": "hs_analytics_average_page_views" - }, - "hs_analytics_first_referrer": { - "title": "HubSpot analytics first referrer", - "type": "string", - "description": "hs_analytics_first_referrer" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_url": { - "title": "HubSpot analytics first URL", - "type": "string", - "description": "hs_analytics_first_url" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_referrer": { - "title": "HubSpot analytics last referrer", - "type": "string", - "description": "hs_analytics_last_referrer" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_url": { - "title": "HubSpot analytics last URL", - "type": "string", - "description": "hs_analytics_last_url" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_event_completions": { - "title": "HubSpot analytics number of event completions", - "type": "string", - "description": "hs_analytics_num_event_completions" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_revenue": { - "title": "HubSpot analytics revenue", - "type": "string", - "description": "hs_analytics_revenue" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_buying_role": { - "title": "HubSpot buying role", - "type": "string", - "description": "hs_buying_role" - }, - "hs_content_membership_email_confirmed": { - "title": "HubSpot content membership email confirmed", - "type": "string", - "description": "hs_content_membership_email_confirmed" - }, - "hs_content_membership_notes": { - "title": "HubSpot content membership notes", - "type": "string", - "description": "hs_content_membership_notes" - }, - "hs_content_membership_registered_at": { - "title": "HubSpot content membership registered at", - "type": "string", - "description": "hs_content_membership_registered_at" - }, - "hs_content_membership_registration_domain_sent_to": { - "title": "HubSpot content membership registration domain sent to", - "type": "string", - "description": "hs_content_membership_registration_domain_sent_to" - }, - "hs_content_membership_registration_email_sent_at": { - "title": "HubSpot content membership registration email sent at", - "type": "string", - "description": "hs_content_membership_registration_email_sent_at" - }, - "hs_content_membership_status": { - "title": "HubSpot content membership status", - "type": "string", - "description": "hs_content_membership_status" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_email_bad_address": { - "title": "HubSpot email bad address", - "type": "string", - "description": "hs_email_bad_address" - }, - "hs_email_bounce": { - "title": "HubSpot email bounce", - "type": "string", - "description": "hs_email_bounce" - }, - "hs_email_click": { - "title": "HubSpot email click", - "type": "string", - "description": "hs_email_click" - }, - "hs_email_customer_quarantined_reason": { - "title": "HubSpot email customer quarnatined reason", - "type": "string", - "description": "hs_email_customer_quarantined_reason" - }, - "hs_email_delivered": { - "title": "HubSpot email delivered", - "type": "string", - "description": "hs_email_delivered" - }, - "hs_email_domain": { - "title": "Domain", - "type": "string", - "description": "hs_email_domain" - }, - "hs_email_first_click_date": { - "title": "HubSpot email first click date", - "type": "string", - "description": "hs_email_first_click_date" - }, - "hs_email_first_open_date": { - "title": "HubSpot email first open date", - "type": "string", - "description": "hs_email_first_open_date" - }, - "hs_email_first_reply_date": { - "title": "HubSpot email first reply date", - "type": "string", - "description": "hs_email_first_reply_date" - }, - "hs_email_first_send_date": { - "title": "HubSpot email first send date", - "type": "string", - "description": "hs_email_first_send_date" - }, - "hs_email_hard_bounce_reason_enum": { - "title": "HubSpot email hard bounce reason enumerated", - "type": "string", - "description": "hs_email_hard_bounce_reason_enum" - }, - "hs_email_last_click_date": { - "title": "HubSpot email last click date", - "type": "string", - "description": "hs_email_last_click_date" - }, - "hs_email_last_email_name": { - "title": "HubSpot email last email name", - "type": "string", - "description": "hs_email_last_email_name" - }, - "hs_email_last_open_date": { - "title": "HubSpot email last open date", - "type": "string", - "description": "hs_email_last_open_date" - }, - "hs_email_last_reply_date": { - "title": "HubSpot email last reply date", - "type": "string", - "description": "hs_email_last_reply_date" - }, - "hs_email_last_send_date": { - "title": "HubSpot email last send date", - "type": "string", - "description": "hs_email_last_send_date" - }, - "hs_email_open": { - "title": "HubSpot email open", - "type": "string", - "description": "hs_email_open" - }, - "hs_email_optout": { - "title": "HubSpot email optout", - "type": "string", - "description": "hs_email_optout" - }, - "hs_email_optout_12592317": { - "title": "HubSpot email optout 12592317", - "type": "string", - "description": "hs_email_optout_12592317" - }, - "hs_email_quarantined": { - "title": "HubSpot email quarantied", - "type": "string", - "description": "hs_email_quarantined" - }, - "hs_email_quarantined_reason": { - "title": "HubSpot email quarantied reason", - "type": "string", - "description": "hs_email_quarantined_reason" - }, - "hs_email_replied": { - "title": "HubSpot email replied", - "type": "string", - "description": "hs_email_replied" - }, - "hs_email_sends_since_last_engagement": { - "title": "HubSpot email sends since last engagement", - "type": "string", - "description": "hs_email_sends_since_last_engagement" - }, - "hs_emailconfirmationstatus": { - "title": "HubSpot email confirmation status", - "type": "string", - "description": "hs_emailconfirmationstatus" - }, - "hs_facebook_click_id": { - "title": "HubSpot Facebook click ID", - "type": "string", - "description": "hs_facebook_click_id" - }, - "hs_feedback_last_nps_follow_up": { - "title": "HubSpot feecback last NPS follow up", - "type": "string", - "description": "hs_feedback_last_nps_follow_up" - }, - "hs_feedback_last_nps_rating": { - "title": "HubSpot feedback last NPS rating", - "type": "string", - "description": "hs_feedback_last_nps_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_google_click_id": { - "title": "HubSpot Google click ID", - "type": "string", - "description": "hs_google_click_id" - }, - "hs_ip_timezone": { - "title": "HubSpot IP timezone", - "type": "string", - "description": "hs_ip_timezone" - }, - "hs_is_unworked": { - "title": "HubSpot is unworked", - "type": "string", - "description": "hs_is_unworked" - }, - "hs_language": { - "title": "HubSpot language", - "type": "string", - "description": "hs_language" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_legal_basis": { - "title": "HubSpot legal basis", - "type": "string", - "description": "hs_legal_basis" - }, - "hs_lifecyclestage_customer_date": { - "title": "HubSpot lifecycle stage customer date", - "type": "string", - "description": "hs_lifecyclestage_customer_date" - }, - "hs_lifecyclestage_evangelist_date": { - "title": "HubSpot lifecycle stage evangelist date", - "type": "string", - "description": "hs_lifecyclestage_evangelist_date" - }, - "hs_lifecyclestage_lead_date": { - "title": "HubSpot lifecycle stage lead date", - "type": "string", - "description": "hs_lifecyclestage_lead_date" - }, - "hs_lifecyclestage_marketingqualifiedlead_date": { - "title": "HubSpot lifecycle stage marketing qualitifed lead date", - "type": "string", - "description": "hs_lifecyclestage_marketingqualifiedlead_date" - }, - "hs_lifecyclestage_opportunity_date": { - "title": "HubSpot lifecycle stage opportunity date", - "type": "string", - "description": "hs_lifecyclestage_opportunity_date" - }, - "hs_lifecyclestage_other_date": { - "title": "HubSpot lifecycle stage other date", - "type": "string", - "description": "hs_lifecyclestage_other_date" - }, - "hs_lifecyclestage_salesqualifiedlead_date": { - "title": "HubSpot lifecycle stage sales qualified lead date", - "type": "string", - "description": "hs_lifecyclestage_salesqualifiedlead_date" - }, - "hs_lifecyclestage_subscriber_date": { - "title": "HubSpot lifecycle stage subscriber date", - "type": "string", - "description": "hs_lifecyclestage_subscriber_date" - }, - "hs_marketable_reason_id": { - "title": "HubSpot marketable reason ID", - "type": "string", - "description": "hs_marketable_reason_id" - }, - "hs_marketable_reason_type": { - "title": "HubSpot marketable reason type", - "type": "string", - "description": "hs_marketable_reason_type" - }, - "hs_marketable_status": { - "title": "HubSpot marketable status", - "type": "string", - "description": "hs_marketable_status" - }, - "hs_marketable_until_renewal": { - "title": "HubSpot marketable until renewal", - "type": "string", - "description": "hs_marketable_until_renewal" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_persona": { - "title": "HubSpot persona", - "type": "string", - "description": "hs_persona" - }, - "hs_predictivecontactscore": { - "title": "HubSpot predictive contact score", - "type": "string", - "description": "hs_predictivecontactscore" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_predictivecontactscorebucket": { - "title": "HubSpot predictive contact score bucket", - "type": "string", - "description": "hs_predictivecontactscorebucket" - }, - "hs_predictivescoringtier": { - "title": "HubSpot predictive scoring tier", - "type": "string", - "description": "hs_predictivescoringtier" - }, - "hs_sales_email_last_clicked": { - "title": "HubSpot sales email last clicked", - "type": "string", - "description": "hs_sales_email_last_clicked" - }, - "hs_sales_email_last_opened": { - "title": "HubSpot sales email last opened", - "type": "string", - "description": "hs_sales_email_last_opened" - }, - "hs_sales_email_last_replied": { - "title": "HubSpot sales email last replied", - "type": "string", - "description": "hs_sales_email_last_replied" - }, - "hs_sequences_is_enrolled": { - "title": "HubSpot sequences is enrolled", - "type": "string", - "description": "hs_sequences_is_enrolled" - }, - "hs_time_between_contact_creation_and_deal_close": { - "title": "HubSpot time between contact creation and deal close", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_close" - }, - "hs_time_between_contact_creation_and_deal_creation": { - "title": "HubSpot time between contact creation and deal creation", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_creation" - }, - "hs_time_to_move_from_lead_to_customer": { - "title": "HubSpot time to move from lead to customer", - "type": "string", - "description": "hs_time_to_move_from_lead_to_customer" - }, - "hs_time_to_move_from_marketingqualifiedlead_to_customer": { - "title": "HubSpot time to move from marketing qualitfied lead to customer", - "type": "string", - "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" - }, - "hs_time_to_move_from_opportunity_to_customer": { - "title": "HubSpot time to move from opportunity to customer", - "type": "string", - "description": "hs_time_to_move_from_opportunity_to_customer" - }, - "hs_time_to_move_from_salesqualifiedlead_to_customer": { - "title": "HubSpot time to move from sales qualified lead to customer", - "type": "string", - "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" - }, - "hs_time_to_move_from_subscriber_to_customer": { - "title": "HubSpot time to move from subscriber to customer", - "type": "string", - "description": "hs_time_to_move_from_subscriber_to_customer" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "hubspotscore": { - "title": "HubSpot score", - "type": "string", - "description": "hubspotscore" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "ip_city": { - "title": "IP city", - "type": "string", - "description": "ip_city" - }, - "ip_country": { - "title": "IP country", - "type": "string", - "description": "ip_country" - }, - "ip_country_code": { - "title": "IP country code", - "type": "string", - "description": "ip_country_code" - }, - "ip_state": { - "title": "IP state", - "type": "string", - "description": "ip_state" - }, - "ip_state_code": { - "title": "IP state code", - "type": "string", - "description": "ip_state_code" - }, - "job_function": { - "title": "Job function", - "type": "string", - "description": "job_function" - }, - "jobtitle": { - "title": "Job title", - "type": "string", - "description": "jobtitle" - }, - "lastmodifieddate": { - "title": "Last modified date", - "type": "string", - "description": "lastmodifieddate" - }, - "lastname": { - "title": "Last name", - "type": "string", - "description": "lastname" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "marital_status": { - "title": "Marital status", - "type": "string", - "description": "marital_status" - }, - "message": { - "title": "Message", - "type": "string", - "description": "message" - }, - "military_status": { - "title": "Military statusMilitary status", - "type": "string", - "description": "military_status" - }, - "mobilephone": { - "title": "Mobile phone", - "type": "string", - "description": "mobilephone" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "num_unique_conversion_events": { - "title": "Number of unique conversion events", - "type": "string", - "description": "num_unique_conversion_events" - }, - "numemployees": { - "title": "Number of employees", - "type": "string", - "description": "numemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "relationship_status": { - "title": "Relations status", - "type": "string", - "description": "relationship_status" - }, - "salutation": { - "title": "Salutation", - "type": "string", - "description": "salutation" - }, - "school": { - "title": "School", - "type": "string", - "description": "school" - }, - "seniority": { - "title": "Seniority", - "type": "string", - "description": "seniority" - }, - "start_date": { - "title": "Start date", - "type": "string", - "description": "start_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "work_email": { - "title": "Work email", - "type": "string", - "description": "work_email" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts/{contactId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a contact", - "description": "Read a contact identified by {contactId}.", - "operationId": "ContactsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The contactId for the contact", - "x-ms-summary": "contactId", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a contact", - "description": "Move a contact identified by {contactId} to the recycling bin.", - "operationId": "ContactsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "description": "The contactId of the contact", - "x-ms-visibility": "important", - "x-ms-summary": "contactId", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a contact", - "description": "Perform a partial update of a contact identified by {contactId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "ContactsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "contactId", - "in": "path", - "required": true, - "type": "string", - "description": "The contactId of the contact", - "x-ms-visibility": "important", - "x-ms-summary": "contactId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "address": { - "title": "Address", - "type": "string", - "description": "address" - }, - "annualrevenue": { - "title": "Annual revenue", - "type": "string", - "description": "annualrevenue" - }, - "city": { - "title": "City", - "type": "string", - "description": "city" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "company": { - "title": "Company", - "type": "string", - "description": "company" - }, - "company_size": { - "title": "Company size", - "type": "string", - "description": "company_size" - }, - "country": { - "title": "Country", - "type": "string", - "description": "country" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "currentlyinworkflow": { - "title": "Currenly in workflow", - "type": "string", - "description": "currentlyinworkflow" - }, - "date_of_birth": { - "title": "Date of birth", - "type": "string", - "description": "date_of_birth" - }, - "days_to_close": { - "title": "Days to close", - "type": "string", - "description": "days_to_close" - }, - "degree": { - "title": "Degree", - "type": "string", - "description": "degree" - }, - "email": { - "title": "Email", - "type": "string", - "description": "email" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "fax": { - "title": "Fax", - "type": "string", - "description": "fax" - }, - "field_of_study": { - "title": "Field of study", - "type": "string", - "description": "field_of_study" - }, - "first_conversion_date": { - "title": "First conversion date", - "type": "string", - "description": "first_conversion_date" - }, - "first_conversion_event_name": { - "title": "First conversion event name", - "type": "string", - "description": "first_conversion_event_name" - }, - "first_deal_created_date": { - "title": "First deal created date", - "type": "string", - "description": "first_deal_created_date" - }, - "firstname": { - "title": "First name", - "type": "string", - "description": "firstname" - }, - "gender": { - "title": "Gender", - "type": "string", - "description": "gender" - }, - "graduation_date": { - "title": "Graduation date", - "type": "string", - "description": "graduation_date" - }, - "hs_analytics_average_page_views": { - "title": "HubSpot analytics average page views", - "type": "string", - "description": "hs_analytics_average_page_views" - }, - "hs_analytics_first_referrer": { - "title": "HubSpot analytics first referrer", - "type": "string", - "description": "hs_analytics_first_referrer" - }, - "hs_analytics_first_timestamp": { - "title": "HubSpot analytics first timestamp", - "type": "string", - "description": "hs_analytics_first_timestamp" - }, - "hs_analytics_first_touch_converting_campaign": { - "title": "HubSpot analytics first touch converting campaign", - "type": "string", - "description": "hs_analytics_first_touch_converting_campaign" - }, - "hs_analytics_first_url": { - "title": "HubSpot analytics first URL", - "type": "string", - "description": "hs_analytics_first_url" - }, - "hs_analytics_first_visit_timestamp": { - "title": "HubSpot Analytics first visit timestamp", - "type": "string", - "description": "hs_analytics_first_visit_timestamp" - }, - "hs_analytics_last_referrer": { - "title": "HubSpot analytics last referrer", - "type": "string", - "description": "hs_analytics_last_referrer" - }, - "hs_analytics_last_timestamp": { - "title": "HubSpot analytics last timestamp", - "type": "string", - "description": "hs_analytics_last_timestamp" - }, - "hs_analytics_last_touch_converting_campaign": { - "title": "HubSpot analytics last touch converting campaign", - "type": "string", - "description": "hs_analytics_last_touch_converting_campaign" - }, - "hs_analytics_last_url": { - "title": "HubSpot analytics last URL", - "type": "string", - "description": "hs_analytics_last_url" - }, - "hs_analytics_last_visit_timestamp": { - "title": "HubSpot analytics last visit timestamp", - "type": "string", - "description": "hs_analytics_last_visit_timestamp" - }, - "hs_analytics_num_event_completions": { - "title": "HubSpot analytics number of event completions", - "type": "string", - "description": "hs_analytics_num_event_completions" - }, - "hs_analytics_num_page_views": { - "title": "HubSpot analytics number of page views", - "type": "string", - "description": "hs_analytics_num_page_views" - }, - "hs_analytics_num_visits": { - "title": "HubSpot analytics number of visits", - "type": "string", - "description": "hs_analytics_num_visits" - }, - "hs_analytics_revenue": { - "title": "HubSpot analytics revenue", - "type": "string", - "description": "hs_analytics_revenue" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_buying_role": { - "title": "HubSpot buying role", - "type": "string", - "description": "hs_buying_role" - }, - "hs_content_membership_email_confirmed": { - "title": "HubSpot content membership email confirmed", - "type": "string", - "description": "hs_content_membership_email_confirmed" - }, - "hs_content_membership_notes": { - "title": "HubSpot content membership notes", - "type": "string", - "description": "hs_content_membership_notes" - }, - "hs_content_membership_registered_at": { - "title": "HubSpot content membership registered at", - "type": "string", - "description": "hs_content_membership_registered_at" - }, - "hs_content_membership_registration_domain_sent_to": { - "title": "HubSpot content membership registration domain sent to", - "type": "string", - "description": "hs_content_membership_registration_domain_sent_to" - }, - "hs_content_membership_registration_email_sent_at": { - "title": "HubSpot content membership registration email sent at", - "type": "string", - "description": "hs_content_membership_registration_email_sent_at" - }, - "hs_content_membership_status": { - "title": "HubSpot content membership status", - "type": "string", - "description": "hs_content_membership_status" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_email_bad_address": { - "title": "HubSpot email bad address", - "type": "string", - "description": "hs_email_bad_address" - }, - "hs_email_bounce": { - "title": "HubSpot email bounce", - "type": "string", - "description": "hs_email_bounce" - }, - "hs_email_click": { - "title": "HubSpot email click", - "type": "string", - "description": "hs_email_click" - }, - "hs_email_customer_quarantined_reason": { - "title": "HubSpot email customer quarnatined reason", - "type": "string", - "description": "hs_email_customer_quarantined_reason" - }, - "hs_email_delivered": { - "title": "HubSpot email delivered", - "type": "string", - "description": "hs_email_delivered" - }, - "hs_email_domain": { - "title": "Domain", - "type": "string", - "description": "hs_email_domain" - }, - "hs_email_first_click_date": { - "title": "HubSpot email first click date", - "type": "string", - "description": "hs_email_first_click_date" - }, - "hs_email_first_open_date": { - "title": "HubSpot email first open date", - "type": "string", - "description": "hs_email_first_open_date" - }, - "hs_email_first_reply_date": { - "title": "HubSpot email first reply date", - "type": "string", - "description": "hs_email_first_reply_date" - }, - "hs_email_first_send_date": { - "title": "HubSpot email first send date", - "type": "string", - "description": "hs_email_first_send_date" - }, - "hs_email_hard_bounce_reason_enum": { - "title": "HubSpot email hard bounce reason enumerated", - "type": "string", - "description": "hs_email_hard_bounce_reason_enum" - }, - "hs_email_last_click_date": { - "title": "HubSpot email last click date", - "type": "string", - "description": "hs_email_last_click_date" - }, - "hs_email_last_email_name": { - "title": "HubSpot email last email name", - "type": "string", - "description": "hs_email_last_email_name" - }, - "hs_email_last_open_date": { - "title": "HubSpot email last open date", - "type": "string", - "description": "hs_email_last_open_date" - }, - "hs_email_last_reply_date": { - "title": "HubSpot email last reply date", - "type": "string", - "description": "hs_email_last_reply_date" - }, - "hs_email_last_send_date": { - "title": "HubSpot email last send date", - "type": "string", - "description": "hs_email_last_send_date" - }, - "hs_email_open": { - "title": "HubSpot email open", - "type": "string", - "description": "hs_email_open" - }, - "hs_email_optout": { - "title": "HubSpot email optout", - "type": "string", - "description": "hs_email_optout" - }, - "hs_email_optout_12592317": { - "title": "HubSpot email optout 12592317", - "type": "string", - "description": "hs_email_optout_12592317" - }, - "hs_email_quarantined": { - "title": "HubSpot email quarantied", - "type": "string", - "description": "hs_email_quarantined" - }, - "hs_email_quarantined_reason": { - "title": "HubSpot email quarantied reason", - "type": "string", - "description": "hs_email_quarantined_reason" - }, - "hs_email_replied": { - "title": "HubSpot email replied", - "type": "string", - "description": "hs_email_replied" - }, - "hs_email_sends_since_last_engagement": { - "title": "HubSpot email sends since last engagement", - "type": "string", - "description": "hs_email_sends_since_last_engagement" - }, - "hs_emailconfirmationstatus": { - "title": "HubSpot email confirmation status", - "type": "string", - "description": "hs_emailconfirmationstatus" - }, - "hs_facebook_click_id": { - "title": "HubSpot Facebook click ID", - "type": "string", - "description": "hs_facebook_click_id" - }, - "hs_feedback_last_nps_follow_up": { - "title": "HubSpot feecback last NPS follow up", - "type": "string", - "description": "hs_feedback_last_nps_follow_up" - }, - "hs_feedback_last_nps_rating": { - "title": "HubSpot feedback last NPS rating", - "type": "string", - "description": "hs_feedback_last_nps_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_google_click_id": { - "title": "HubSpot Google click ID", - "type": "string", - "description": "hs_google_click_id" - }, - "hs_ip_timezone": { - "title": "HubSpot IP timezoneHubSpot IP timezone", - "type": "string", - "description": "hs_ip_timezone" - }, - "hs_is_unworked": { - "title": "HubSpot is unworked", - "type": "string", - "description": "hs_is_unworked" - }, - "hs_language": { - "title": "HubSpot language", - "type": "string", - "description": "hs_language" - }, - "hs_last_sales_activity_timestamp": { - "title": "HubSpot last sales activity timestamp", - "type": "string", - "description": "hs_last_sales_activity_timestamp" - }, - "hs_lead_status": { - "title": "HubSpot lead status", - "type": "string", - "description": "hs_lead_status" - }, - "hs_legal_basis": { - "title": "HubSpot legal basis", - "type": "string", - "description": "hs_legal_basis" - }, - "hs_lifecyclestage_customer_date": { - "title": "HubSpot lifecycle stage customer date", - "type": "string", - "description": "hs_lifecyclestage_customer_date" - }, - "hs_lifecyclestage_evangelist_date": { - "title": "HubSpot lifecycle stage evangelist date", - "type": "string", - "description": "hs_lifecyclestage_evangelist_date" - }, - "hs_lifecyclestage_lead_date": { - "title": "HubSpot lifecycle stage lead date", - "type": "string", - "description": "hs_lifecyclestage_lead_date" - }, - "hs_lifecyclestage_marketingqualifiedlead_date": { - "title": "HubSpot lifecycle stage marketing qualitifed lead date", - "type": "string", - "description": "hs_lifecyclestage_marketingqualifiedlead_date" - }, - "hs_lifecyclestage_opportunity_date": { - "title": "HubSpot lifecycle stage opportunity date", - "type": "string", - "description": "hs_lifecyclestage_opportunity_date" - }, - "hs_lifecyclestage_other_date": { - "title": "HubSpot lifecycle stage other date", - "type": "string", - "description": "hs_lifecyclestage_other_date" - }, - "hs_lifecyclestage_salesqualifiedlead_date": { - "title": "HubSpot lifecycle stage sales qualified lead date", - "type": "string", - "description": "hs_lifecyclestage_salesqualifiedlead_date" - }, - "hs_lifecyclestage_subscriber_date": { - "title": "HubSpot lifecycle stage subscriber date", - "type": "string", - "description": "hs_lifecyclestage_subscriber_date" - }, - "hs_marketable_reason_id": { - "title": "HubSpot marketable reason ID", - "type": "string", - "description": "hs_marketable_reason_id" - }, - "hs_marketable_reason_type": { - "title": "HubSpot marketable reason type", - "type": "string", - "description": "hs_marketable_reason_type" - }, - "hs_marketable_status": { - "title": "HubSpot marketable status", - "type": "string", - "description": "hs_marketable_status" - }, - "hs_marketable_until_renewal": { - "title": "HubSpot marketable until renewal", - "type": "string", - "description": "hs_marketable_until_renewal" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_persona": { - "title": "HubSpot persona", - "type": "string", - "description": "hs_persona" - }, - "hs_predictivecontactscore": { - "title": "HubSpot predictive contact score", - "type": "string", - "description": "hs_predictivecontactscore" - }, - "hs_predictivecontactscore_v2": { - "title": "HubSpot predictive contact score v2", - "type": "string", - "description": "hs_predictivecontactscore_v2" - }, - "hs_predictivecontactscorebucket": { - "title": "HubSpot predictive contact score bucket", - "type": "string", - "description": "hs_predictivecontactscorebucket" - }, - "hs_predictivescoringtier": { - "title": "HubSpot predictive scoring tier", - "type": "string", - "description": "hs_predictivescoringtier" - }, - "hs_sales_email_last_clicked": { - "title": "HubSpot sales email last clicked", - "type": "string", - "description": "hs_sales_email_last_clicked" - }, - "hs_sales_email_last_opened": { - "title": "HubSpot sales email last opened", - "type": "string", - "description": "hs_sales_email_last_opened" - }, - "hs_sales_email_last_replied": { - "title": "HubSpot sales email last replied", - "type": "string", - "description": "hs_sales_email_last_replied" - }, - "hs_sequences_is_enrolled": { - "title": "HubSpot sequences is enrolled", - "type": "string", - "description": "hs_sequences_is_enrolled" - }, - "hs_time_between_contact_creation_and_deal_close": { - "title": "HubSpot time between contact creation and deal close", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_close" - }, - "hs_time_between_contact_creation_and_deal_creation": { - "title": "HubSpot time between contact creation and deal creation", - "type": "string", - "description": "hs_time_between_contact_creation_and_deal_creation" - }, - "hs_time_to_move_from_lead_to_customer": { - "title": "HubSpot time to move from lead to customer", - "type": "string", - "description": "hs_time_to_move_from_lead_to_customer" - }, - "hs_time_to_move_from_marketingqualifiedlead_to_customer": { - "title": "HubSpot time to move from marketing qualitfied lead to customer", - "type": "string", - "description": "hs_time_to_move_from_marketingqualifiedlead_to_customer" - }, - "hs_time_to_move_from_opportunity_to_customer": { - "title": "HubSpot time to move from opportunity to customer", - "type": "string", - "description": "hs_time_to_move_from_opportunity_to_customer" - }, - "hs_time_to_move_from_salesqualifiedlead_to_customer": { - "title": "HubSpot time to move from sales qualified lead to customer", - "type": "string", - "description": "hs_time_to_move_from_salesqualifiedlead_to_customer" - }, - "hs_time_to_move_from_subscriber_to_customer": { - "title": "HubSpot time to move from subscriber to customer", - "type": "string", - "description": "hs_time_to_move_from_subscriber_to_customer" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "hubspotscore": { - "title": "HubSpot score", - "type": "string", - "description": "hubspotscore" - }, - "industry": { - "title": "Industry", - "type": "string", - "description": "industry" - }, - "ip_city": { - "title": "IP city", - "type": "string", - "description": "ip_city" - }, - "ip_country": { - "title": "IP country", - "type": "string", - "description": "ip_country" - }, - "ip_country_code": { - "title": "IP country code", - "type": "string", - "description": "ip_country_code" - }, - "ip_state": { - "title": "IP state", - "type": "string", - "description": "ip_state" - }, - "ip_state_code": { - "title": "IP state code", - "type": "string", - "description": "ip_state_code" - }, - "job_function": { - "title": "Job function", - "type": "string", - "description": "job_function" - }, - "jobtitle": { - "title": "Job title", - "type": "string", - "description": "jobtitle" - }, - "lastmodifieddate": { - "title": "Last modified date", - "type": "string", - "description": "lastmodifieddate" - }, - "lastname": { - "title": "Last name", - "type": "string", - "description": "lastname" - }, - "lifecyclestage": { - "title": "Lifecycle stage", - "type": "string", - "description": "lifecyclestage" - }, - "marital_status": { - "title": "Marital status", - "type": "string", - "description": "marital_status" - }, - "message": { - "title": "Message", - "type": "string", - "description": "message" - }, - "military_status": { - "title": "Military status", - "type": "string", - "description": "military_status" - }, - "mobilephone": { - "title": "Mobile phone", - "type": "string", - "description": "mobilephone" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_deals": { - "title": "Number of associated deals", - "type": "string", - "description": "num_associated_deals" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_conversion_events": { - "title": "Number of conversion events", - "type": "string", - "description": "num_conversion_events" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "num_unique_conversion_events": { - "title": "Number of unique conversion events", - "type": "string", - "description": "num_unique_conversion_events" - }, - "numemployees": { - "title": "Number of employees", - "type": "string", - "description": "numemployees" - }, - "phone": { - "title": "Phone", - "type": "string", - "description": "phone" - }, - "recent_conversion_date": { - "title": "Recent conversion date", - "type": "string", - "description": "recent_conversion_date" - }, - "recent_conversion_event_name": { - "title": "Recent conversion event name", - "type": "string", - "description": "recent_conversion_event_name" - }, - "recent_deal_amount": { - "title": "Recent deal amount", - "type": "string", - "description": "recent_deal_amount" - }, - "recent_deal_close_date": { - "title": "Recent deal close date", - "type": "string", - "description": "recent_deal_close_date" - }, - "relationship_status": { - "title": "Relations status", - "type": "string", - "description": "relationship_status" - }, - "salutation": { - "title": "Salutation", - "type": "string", - "description": "salutation" - }, - "school": { - "title": "School", - "type": "string", - "description": "school" - }, - "seniority": { - "title": "Seniority", - "type": "string", - "description": "seniority" - }, - "start_date": { - "title": "Start date", - "type": "string", - "description": "start_date" - }, - "state": { - "title": "State", - "type": "string", - "description": "state" - }, - "total_revenue": { - "title": "Total revenue", - "type": "string", - "description": "total_revenue" - }, - "twitterhandle": { - "title": "Twitter handle", - "type": "string", - "description": "twitterhandle" - }, - "website": { - "title": "Website", - "type": "string", - "description": "website" - }, - "work_email": { - "title": "Work email", - "type": "string", - "description": "work_email" - }, - "zip": { - "title": "Zip code", - "type": "string", - "description": "zip" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List deals", - "description": "Return a list of deals", - "operationId": "DealsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "x-ms-visibility": "advanced", - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a deal", - "description": "Create a deal with the given properties and return a copy of the object, including the ID.", - "operationId": "DealsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "type": "string", - "description": "amount" - }, - "amount_in_home_currency": { - "title": "Amount in home currency", - "type": "string", - "description": "amount_in_home_currency" - }, - "closed_lost_reason": { - "title": "Closed lost reason", - "type": "string", - "description": "closed_lost_reason" - }, - "closed_won_reason": { - "title": "Closed won reason", - "type": "string", - "description": "closed_won_reason" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "dealname": { - "title": "Deal name", - "type": "string", - "description": "dealname" - }, - "dealstage": { - "title": "Deal stage", - "type": "string", - "description": "dealstage" - }, - "dealtype": { - "title": "Deal type", - "type": "string", - "description": "dealtype" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "hs_acv": { - "title": "ACV", - "type": "string", - "description": "hs_acv" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_arr": { - "title": "HubSpot annual recurring revenue", - "type": "string", - "description": "hs_arr" - }, - "hs_forecast_amount": { - "title": "HubSpot forecast amount", - "type": "string", - "description": "hs_forecast_amount" - }, - "hs_forecast_probability": { - "title": "HubSpot forecast probability", - "type": "string", - "description": "hs_forecast_probability" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_manual_forecast_category": { - "title": "HubSpot manual forecast category", - "type": "string", - "description": "hs_manual_forecast_category" - }, - "hs_mrr": { - "title": "HubSpot monthly reoccuring revenue", - "type": "string", - "description": "hs_mrr" - }, - "hs_next_step": { - "title": "HubSpot next step", - "type": "string", - "description": "hs_next_step" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_priority": { - "title": "HubSpot priority", - "type": "string", - "description": "hs_priority" - }, - "hs_tcv": { - "title": "HubSpot total contract value", - "type": "string", - "description": "hs_tcv" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "pipeline": { - "title": "Pipeline", - "type": "string", - "description": "pipeline" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals/{dealId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a deal", - "description": "Read a deal identified by {dealId}.", - "operationId": "DealsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string", - "description": "The dealId of the deal", - "x-ms-visibility": "important", - "x-ms-summary": "dealId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a deal", - "description": "Move a deal identified by {dealId} to the recycling bin.", - "operationId": "DealsArchive", - "x-ms-visibility": "advanced", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string", - "description": "The dealId of the deal", - "x-ms-visibility": "important", - "x-ms-summary": "dealId", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a deal", - "description": "Perform a partial update of a deal identified by {dealId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "DealsUpdate", - "parameters": [ - { - "name": "dealId", - "in": "path", - "required": true, - "type": "string", - "description": "Deal ID", - "x-ms-summary": "dealId", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "amount": { - "title": "Amount", - "type": "string", - "description": "amount" - }, - "amount_in_home_currency": { - "title": "Amount in home currency", - "type": "string", - "description": "amount_in_home_currency" - }, - "closed_lost_reason": { - "title": "Closed lost reason", - "type": "string", - "description": "closed_lost_reason" - }, - "closed_won_reason": { - "title": "Closed won reason", - "type": "string", - "description": "closed_won_reason" - }, - "closedate": { - "title": "Close date", - "type": "string", - "description": "closedate" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "dealname": { - "title": "Deal name", - "type": "string", - "description": "dealname" - }, - "dealstage": { - "title": "Deal stage", - "type": "string", - "description": "dealstage" - }, - "dealtype": { - "title": "Deal type", - "type": "string", - "description": "dealtype" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "engagements_last_meeting_booked": { - "title": "Engagements last meeting booked", - "type": "string", - "description": "engagements_last_meeting_booked" - }, - "engagements_last_meeting_booked_campaign": { - "title": "Engagements last meeting booked campaign", - "type": "string", - "description": "engagements_last_meeting_booked_campaign" - }, - "engagements_last_meeting_booked_medium": { - "title": "Engagements last meeting booked medium", - "type": "string", - "description": "engagements_last_meeting_booked_medium" - }, - "engagements_last_meeting_booked_source": { - "title": "Engagements last meeting booked source", - "type": "string", - "description": "engagements_last_meeting_booked_source" - }, - "hs_acv": { - "title": "ACV", - "type": "string", - "description": "hs_acv" - }, - "hs_analytics_source": { - "title": "HubSpot analytics source", - "type": "string", - "description": "hs_analytics_source" - }, - "hs_analytics_source_data_1": { - "title": "HubSpot analytics source data 1", - "type": "string", - "description": "hs_analytics_source_data_1" - }, - "hs_analytics_source_data_2": { - "title": "HubSpot analytics source data 2", - "type": "string", - "description": "hs_analytics_source_data_2" - }, - "hs_arr": { - "title": "HubSpot annual recurring revenue", - "type": "string", - "description": "hs_arr" - }, - "hs_forecast_amount": { - "title": "HubSpot forecast amount", - "type": "string", - "description": "hs_forecast_amount" - }, - "hs_forecast_probability": { - "title": "HubSpot forecast probability", - "type": "string", - "description": "hs_forecast_probability" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_manual_forecast_category": { - "title": "HubSpot manual forecast category", - "type": "string", - "description": "hs_manual_forecast_category" - }, - "hs_mrr": { - "title": "HubSpot monthly reoccuring revenue", - "type": "string", - "description": "hs_mrr" - }, - "hs_next_step": { - "title": "HubSpot next step", - "type": "string", - "description": "hs_next_step" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_priority": { - "title": "HubSpot priority", - "type": "string", - "description": "hs_priority" - }, - "hs_tcv": { - "title": "HubSpot total contract value", - "type": "string", - "description": "hs_tcv" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "notes_last_contacted": { - "title": "Notes last contacted", - "type": "string", - "description": "notes_last_contacted" - }, - "notes_last_updated": { - "title": "Notes last updated", - "type": "string", - "description": "notes_last_updated" - }, - "notes_next_activity_date": { - "title": "Notes next activity date", - "type": "string", - "description": "notes_next_activity_date" - }, - "num_associated_contacts": { - "title": "Number of associated contacts", - "type": "string", - "description": "num_associated_contacts" - }, - "num_contacted_notes": { - "title": "Number of contacted notes", - "type": "string", - "description": "num_contacted_notes" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "pipeline": { - "title": "Pipeline", - "type": "string", - "description": "pipeline" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/products": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List products", - "description": "Return a list of products", - "operationId": "ProductsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "x-ms-visibility": "advanced", - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ], - "x-ms-visibility": "important" - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a product", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "hs_cost_of_goods_sold": { - "title": "HubSpot cost of goods sold", - "type": "string", - "description": "hs_cost_of_goods_sold" - }, - "hs_created_by_user_id": { - "title": "HubSpot created by user ID", - "type": "string", - "description": "hs_created_by_user_id" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_images": { - "title": "HubSpot images", - "type": "string", - "description": "hs_images" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "hs_sku": { - "title": "HubSpot SKU", - "type": "string", - "description": "hs_sku" - }, - "hs_updated_by_user_id": { - "title": "HubSpot updated by user ID", - "type": "string", - "description": "hs_updated_by_user_id" - }, - "hs_url": { - "title": "HubSpot URL", - "type": "string", - "description": "hs_url" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "tax": { - "title": "Tax", - "type": "string", - "description": "tax" - } - } - } - } - } - } - ], - "description": "Create a product with the given properties and return a copy of the object, including the ID.", - "operationId": "ProductsCreate", - "x-ms-visibility": "important" - } - }, - "/crm/v3/objects/products/{productId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a product", - "description": "Read a product identified by {productId}.", - "operationId": "ProductsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productId of the product", - "x-ms-visibility": "important", - "x-ms-summary": "productId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-summary": "properties", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a product", - "description": "Move a product identified by {productId} to the recycling bin.", - "operationId": "ProductsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productID of the product", - "x-ms-visibility": "important", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a product", - "description": "Perform a partial update of a product identified by {productId}. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "ProductsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "The productId of the product", - "x-ms-visibility": "important", - "x-ms-summary": "productId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "hs_cost_of_goods_sold": { - "title": "HubSpot cost of goods sold", - "type": "string", - "description": "hs_cost_of_goods_sold" - }, - "hs_created_by_user_id": { - "title": "HubSpot created by user ID", - "type": "string", - "description": "hs_created_by_user_id" - }, - "hs_createdate": { - "title": "Create date", - "type": "string", - "description": "hs_createdate" - }, - "hs_images": { - "title": "HubSpot images", - "type": "string", - "description": "hs_images" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_object_id": { - "title": "HubSpot object ID", - "type": "string", - "description": "hs_object_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "hs_sku": { - "title": "HubSpot SKU", - "type": "string", - "description": "hs_sku" - }, - "hs_updated_by_user_id": { - "title": "HubSpot updated by user ID", - "type": "string", - "description": "hs_updated_by_user_id" - }, - "hs_url": { - "title": "HubSpot URL", - "type": "string", - "description": "hs_url" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "tax": { - "title": "Tax", - "type": "string", - "description": "tax" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/owners/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List owners", - "operationId": "OwnersList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 100, - "x-ms-visibility": "important", - "description": "The maximum number of results to return.", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "email", - "in": "query", - "required": false, - "type": "string", - "description": "Filter by email address", - "x-ms-visibility": "advanced", - "x-ms-summary": "email", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Filter by email address", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ], - "description": "Get a page of owners" - } - }, - "/crm/v3/owners/{ownerId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get an owner", - "description": "Read an owner by given id or userId", - "operationId": "OwnersRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ownerId", - "in": "path", - "required": true, - "type": "string", - "description": "The ownerId of the owner", - "x-ms-visibility": "important", - "x-ms-summary": "ownerId", - "x-ms-url-encoding": "single" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "default": "id", - "x-ms-visibility": "advanced", - "description": "The property ID", - "enum": [ - "id", - "userId" - ], - "x-ms-summary": "idProperty", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List pipelines", - "description": "Return all pipelines for the object type specified by {objectType}.", - "operationId": "PipelinesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the pipelines", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a pipeline", - "description": "Create a new pipeline with the provided property values. The entire pipeline object, including its unique ID, will be returned in the response.", - "operationId": "PipelinesCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The object type", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "stages", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "stages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A unique label used to organize pipelines in HubSpot's UI", - "default": "New Pipeline", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "default": 0, - "x-ms-visibility": "important" - }, - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - } - }, - "required": [ - "displayOrder", - "label", - "metadata" - ] - }, - "description": "stages" - } - }, - "required": [ - "stages" - ] - } - } - } - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a pipeline", - "description": "Return a single pipeline object identified by its unique {pipelineId}.", - "operationId": "PipelinesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a pipeline", - "description": "Archive the pipeline identified by {pipelineId}.", - "operationId": "PipelinesArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Replace a pipeline", - "description": "Replace all the properties of an existing pipeline with the values provided. This will overwrite any existing pipeline stages. The updated pipeline will be returned in the response.", - "operationId": "PipelinesReplace", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "stages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced" - }, - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "type": "string", - "description": "ticketState", - "title": "ticketState", - "x-ms-visibility": "important", - "default": "OPEN", - "enum": [ - "OPEN", - "CLOSED" - ] - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - } - }, - "required": [ - "label", - "displayOrder", - "metadata" - ] - }, - "description": "stages" - } - }, - "x-ms-visibility": "important", - "required": [ - "stages" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a pipeline", - "description": "Perform a partial update of the pipeline identified by {pipelineId}. The updated pipeline will be returned in the response.", - "operationId": "PipelinesUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline. If two pipelines have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A unique label used to organize pipelines in HubSpot's UI", - "x-ms-visibility": "advanced", - "default": "Updated Pipeline" - }, - "archived": { - "title": "Archived", - "type": "boolean", - "description": "Whether the pipeline is archived. This property should only be provided when restoring an archived pipeline. If it's provided in any other call, the request will fail and a 400 Bad Request will be returned.", - "default": false, - "x-ms-visibility": "advanced" - } - } - } - }, - "x-ms-visibility": "important" - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}/stages": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a pipeline stage", - "description": "Create a new stage associated with the pipeline identified by {pipelineId}. The entire stage object, including its unique ID, will be returned in the response.", - "operationId": "PipelinesCreateStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "important" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - } - }, - "x-ms-visibility": "important", - "required": [ - "displayOrder", - "label", - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/pipelines/{objectType}/{pipelineId}/stages/{stageId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a pipeline stage", - "description": "Return the stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important", - "x-ms-summary": "stageId", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ], - "operationId": "PipelinesReadStage" - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a pipeline stage", - "description": "Archive the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}.", - "operationId": "PipelinesArchiveStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important", - "x-ms-summary": "stageId", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Replace a pipeline stage", - "description": "Replace all the properties of an existing pipeline stage with the values provided. The updated stage will be returned in the response.", - "operationId": "PipelinesReplaceStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important", - "x-ms-summary": "stageId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important", - "default": "OPEN" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "important", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "important" - } - }, - "x-ms-visibility": "important", - "required": [ - "displayOrder", - "label", - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a pipeline stage", - "description": "Perform a partial update of the pipeline stage identified by {stageId} associated with the pipeline identified by {pipelineId}. Any properties not included in this update will keep their existing values. The updated stage will be returned in the response.", - "operationId": "PipelinesUpdateStage", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "pipelineId", - "in": "path", - "required": true, - "type": "string", - "description": "The pipelineId of the pipeline", - "x-ms-visibility": "important", - "x-ms-summary": "pipelineId", - "x-ms-url-encoding": "single" - }, - { - "name": "stageId", - "in": "path", - "required": true, - "type": "string", - "description": "The stageId of the stage", - "x-ms-visibility": "important", - "x-ms-summary": "stageIf", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "ticketState": { - "title": "Ticket State", - "type": "string", - "description": "A JSON object containing properties that are not present on all object pipelines. For deals pipelines, the probability field is required ({ \"probability\": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1. For tickets pipelines, the ticketState field is optional ({ \"ticketState\": \"OPEN\" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.", - "x-ms-visibility": "important", - "default": "OPEN" - } - }, - "description": "metadata", - "required": [ - "ticketState" - ] - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "label": { - "title": "Label", - "type": "string", - "description": "A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.", - "x-ms-visibility": "advanced" - } - }, - "x-ms-visibility": "important", - "required": [ - "metadata" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/properties/{objectType}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List properties", - "description": "Read all existing properties for the specified object type and HubSpot account.", - "operationId": "PropertiesList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectId of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a property", - "description": "Create and return a copy of a new property for the specified object type.", - "operationId": "PropertiesCreate", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "groupName": { - "title": "Group Name", - "type": "string", - "description": "The name of the property group the property belongs to.", - "x-ms-visibility": "important" - }, - "hidden": { - "type": "boolean", - "description": "If true, the property won't be visible and can't be used in HubSpot.", - "title": "hidden", - "enum": [ - false, - true - ], - "default": false, - "x-ms-visibility": "advanced" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", - "default": 0, - "x-ms-visibility": "advanced" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "description": { - "title": "Description", - "type": "string", - "description": "A description of the property that will be shown as help text in HubSpot.", - "x-ms-visibility": "advanced" - }, - "value": { - "title": "Value", - "type": "string", - "description": "The internal value of the option, which must be used when setting the property value through the API.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.", - "x-ms-visibility": "advanced" - }, - "hidden": { - "type": "boolean", - "description": "Hidden options won't be shown in HubSpot.", - "title": "option hidden", - "enum": [ - false, - true - ], - "default": false, - "x-ms-visibility": "important" - } - }, - "required": [ - "hidden", - "value" - ] - }, - "description": "options" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable property label that will be shown in HubSpot.", - "x-ms-visibility": "important" - }, - "hasUniqueValue": { - "type": "boolean", - "description": "Whether or not the property's value must be unique. Once set, this can't be changed.", - "title": "hasUniqueValue", - "enum": [ - false, - true - ], - "x-ms-visibility": "advanced", - "default": false - }, - "type": { - "type": "string", - "description": "The data type of the property.", - "title": "type", - "default": "string", - "x-ms-visibility": "important", - "enum": [ - "string", - "number", - "date", - "datetime", - "enumeration" - ] - }, - "fieldType": { - "type": "string", - "description": "Controls how the property appears in HubSpot.", - "title": "fieldType", - "default": "textarea", - "x-ms-visibility": "important", - "enum": [ - "textarea", - "text", - "date", - "file", - "number", - "select", - "radio", - "checkbox", - "booleancheckbox" - ] - }, - "formField": { - "type": "boolean", - "description": "Whether or not the property can be used in a HubSpot form.", - "title": "formField", - "enum": [ - true, - false - ], - "x-ms-visibility": "advanced", - "default": true - } - }, - "required": [ - "fieldType", - "groupName", - "label", - "options", - "type" - ] - } - } - } - } - ], - "x-ms-visibility": "important" - } - }, - "/crm/v3/properties/{objectType}/{propertyName}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a property", - "description": "Read a property identified by {propertyName}.", - "operationId": "PropertiesRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important", - "x-ms-summary": "propertyName", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a property", - "description": "Move a property identified by {propertyName} to the recycling bin.", - "operationId": "PropertiesArchive", - "x-ms-visibility": "advanced", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important", - "x-ms-summary": "propertyName", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a property", - "description": "Perform a partial update of a property identified by {propertyName}. Provided fields will be overwritten.", - "operationId": "PropertiesUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "objectType", - "in": "path", - "required": true, - "type": "string", - "description": "The objectType of the object", - "x-ms-visibility": "important", - "x-ms-summary": "objectType", - "x-ms-url-encoding": "single" - }, - { - "name": "propertyName", - "in": "path", - "required": true, - "type": "string", - "description": "The propertyName of the property", - "x-ms-visibility": "important", - "x-ms-summary": "propertyName", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "groupName": { - "title": "Group Name", - "type": "string", - "description": "The name of the property group the property belongs to.", - "x-ms-visibility": "advanced" - }, - "hidden": { - "type": "boolean", - "description": "If true, the property won't be visible and can't be used in HubSpot.", - "title": "hidden", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "default": false - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values.", - "default": 0, - "x-ms-visibility": "advanced" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable property label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "description": { - "title": "Description", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "advanced" - }, - "value": { - "title": "Value", - "type": "string", - "description": "The internal value of the option, which must be used when setting the property value through the API.", - "x-ms-visibility": "important" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "Options are shown in order starting with the lowest positive integer value. Values of -1 will cause the option to be displayed after any positive values.", - "x-ms-visibility": "advanced", - "default": 0 - }, - "hidden": { - "type": "boolean", - "description": "Hidden options won't be shown in HubSpot.", - "title": "option hidden", - "x-ms-visibility": "important", - "enum": [ - false, - true - ], - "default": false - } - }, - "required": [ - "hidden", - "value" - ] - }, - "description": "options" - }, - "label": { - "title": "Label", - "type": "string", - "description": "A human-readable option label that will be shown in HubSpot.", - "x-ms-visibility": "important" - }, - "type": { - "title": "Type", - "type": "string", - "description": "The data type of the property.", - "x-ms-visibility": "advanced" - }, - "fieldType": { - "type": "string", - "description": "Controls how the property appears in HubSpot.", - "title": "fieldType", - "x-ms-visibility": "advanced", - "default": "textarea", - "enum": [ - "textarea", - "text", - "date", - "file", - "number", - "select", - "radio", - "checkbox", - "booleancheckbox" - ] - }, - "formField": { - "type": "boolean", - "description": "Whether or not the property can be used in a HubSpot form.", - "title": "formfield", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "default": false - } - }, - "x-ms-visibility": "important", - "required": [ - "label", - "options" - ] - } - } - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/objects/line_items": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List line items", - "description": "Return a list of line items. Control what is returned via the properties query param.", - "operationId": "LineItemsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": true, - "type": "integer", - "default": 10, - "description": "The maximum number of results to display per page.", - "x-ms-summary": "The maximum number of results to display per page.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a line item", - "description": "Create a line item with the given properties and return a copy of the object, including the ID.", - "operationId": "LineItemsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "properties", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "hs_product_id": { - "title": "HubSpot product ID", - "type": "string", - "description": "hs_product_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "quantity": { - "title": "Quantity", - "type": "string", - "description": "quantity" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - } - }, - "description": "properties" - } - }, - "x-ms-visibility": "important" - }, - "x-ms-visibility": "important" - } - ] - } - }, - "/crm/v3/objects/line_items/{lineItemId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a line item", - "description": "Read a lite item identified by {lineItemId}. ", - "operationId": "LineItemsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "description": "The line item ID", - "x-ms-visibility": "important", - "x-ms-summary": "lineItemId", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a line item", - "description": "Move an Object identified by {lineItemId} to the recycling bin.", - "operationId": "LineItemsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The line item ID", - "x-ms-summary": "lineItemId", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a line item", - "description": "Perform a partial update of a line item identified by {lineItemId}. {lineItemId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "operationId": "LineItemsUpdate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "lineItemId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The line item ID", - "x-ms-summary": "lineItemId", - "x-ms-url-encoding": "single" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "hs_product_id": { - "title": "HubSpot product ID", - "type": "string", - "description": "hs_product_id" - }, - "hs_recurring_billing_period": { - "title": "HubSpot recurring billing period", - "type": "string", - "description": "hs_recurring_billing_period" - }, - "recurringbillingfrequency": { - "title": "Recurring billing frequency", - "type": "string", - "description": "recurringbillingfrequency" - }, - "quantity": { - "title": "Quantity", - "type": "string", - "description": "quantity" - }, - "price": { - "title": "Price", - "type": "string", - "description": "price" - } - }, - "description": "properties" - } - }, - "x-ms-visibility": "important" - } - } - ] - } - }, - "/crm/v3/objects/tickets": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List tickets", - "description": "Read a page of tickets. Control what is returned via the properties query param.", - "operationId": "TicketsList", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "description": "The maximum number of results to display per page.", - "x-ms-summary": "The maximum number of results to display per page.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "associations", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-summary": "A comma separated list of object types to retrieve associated IDs for.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a ticket", - "description": "Create a ticket with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard tickets is provided.", - "operationId": "TicketsCreate", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "closed_date": { - "title": "Closed date", - "type": "string", - "description": "closed_date" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "first_agent_reply_date": { - "title": "First agent reply date", - "type": "string", - "description": "first_agent_reply_date" - }, - "hs_feedback_last_ces_follow_up": { - "title": "HubSpot feedback last CES follow up", - "type": "string", - "description": "hs_feedback_last_ces_follow_up" - }, - "hs_feedback_last_ces_rating": { - "title": "HubSpot feedback last CES rating", - "type": "string", - "description": "hs_feedback_last_ces_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_lastactivitydate": { - "title": "HubSpot last activity date", - "type": "string", - "description": "hs_lastactivitydate" - }, - "hs_lastcontacted": { - "title": "HubSpot last contacted", - "type": "string", - "description": "hs_lastcontacted" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_nextactivitydate": { - "title": "HubSpot next activity date", - "type": "string", - "description": "hs_nextactivitydate" - }, - "hs_num_times_contacted": { - "title": "HubSpot number of times contacted", - "type": "string", - "description": "hs_num_times_contacted" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "last_reply_date": { - "title": "Last reply date", - "type": "string", - "description": "last_reply_date" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "time_to_close": { - "title": "Time to close", - "type": "string", - "description": "time_to_close" - }, - "time_to_first_agent_reply": { - "title": "Time to first agent reply", - "type": "string", - "description": "time_to_first_agent_reply" - }, - "content": { - "title": "Content", - "type": "string", - "description": "content" - }, - "hs_file_upload": { - "title": "HubSpot file upload", - "type": "string", - "description": "hs_file_upload" - }, - "hs_num_associated_companies": { - "title": "HubSpot number of associated companies", - "type": "string", - "description": "hs_num_associated_companies" - }, - "hs_pipeline": { - "title": "HubSpot pipeline", - "type": "string", - "description": "hs_pipeline" - }, - "hs_pipeline_stage": { - "title": "HubSpot pipeline stage", - "type": "string", - "description": "hs_pipeline_stage" - }, - "hs_resolution": { - "title": "HubSpot resolution", - "type": "string", - "description": "hs_resolution" - }, - "hs_ticket_category": { - "title": "HubSpot ticket category", - "type": "string", - "description": "hs_ticket_category" - }, - "hs_ticket_id": { - "title": "HubSpot ticket ID", - "type": "string", - "description": "hs_ticket_id" - }, - "hs_ticket_priority": { - "title": "HubSpot ticket priority", - "type": "string", - "description": "hs_ticket_priority" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "source_type": { - "title": "Source type", - "type": "string", - "description": "source_type" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/tickets/{ticketId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a ticket", - "description": "Read a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param.", - "operationId": "TicketsRead", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The ticket ID", - "x-ms-summary": "ticketID", - "x-ms-url-encoding": "single" - }, - { - "name": "properties", - "in": "query", - "required": false, - "type": "string", - "description": "A comma separated list of the properties to be returned in the response.", - "x-ms-summary": "A comma separated list of the properties to be returned in the response.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "x-ms-url-encoding": "single" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type.", - "x-ms-summary": "The name of a property whose values are unique for this object type.", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a ticket", - "description": "Move a ticket identified by {ticketId} to the recycling bin.", - "operationId": "TicketsArchive", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "The ticket ID", - "x-ms-summary": "ticketID", - "x-ms-url-encoding": "single" - } - ] - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "TicketsUpdate", - "summary": "Update a ticket", - "description": "Perform a partial update of a ticket identified by {ticketId}. {ticketId} refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. Properties values can be cleared by passing an empty string.", - "x-ms-visibility": "important", - "parameters": [ - { - "name": "ticketId", - "in": "path", - "required": true, - "type": "string", - "description": "The ID of the ticket.", - "x-ms-summary": "ticketID", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "idProperty", - "in": "query", - "required": false, - "type": "string", - "description": "The name of a property whose values are unique for this object type", - "x-ms-summary": "The name of a property whose values are unique for this object type", - "x-ms-visibility": "important", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "closed_date": { - "title": "Closed date", - "type": "string", - "description": "closed_date" - }, - "createdate": { - "title": "Create date", - "type": "string", - "description": "createdate" - }, - "first_agent_reply_date": { - "title": "First agent reply date", - "type": "string", - "description": "first_agent_reply_date" - }, - "hs_feedback_last_ces_follow_up": { - "title": "HubSpot feedback last CES follow up", - "type": "string", - "description": "hs_feedback_last_ces_follow_up" - }, - "hs_feedback_last_ces_rating": { - "title": "HubSpot feedback last CES rating", - "type": "string", - "description": "hs_feedback_last_ces_rating" - }, - "hs_feedback_last_survey_date": { - "title": "HubSpot feedback last survey date", - "type": "string", - "description": "hs_feedback_last_survey_date" - }, - "hs_lastactivitydate": { - "title": "HubSpot last activity date", - "type": "string", - "description": "hs_lastactivitydate" - }, - "hs_lastcontacted": { - "title": "HubSpot last contacted", - "type": "string", - "description": "hs_lastcontacted" - }, - "hs_lastmodifieddate": { - "title": "HubSpot last modified date", - "type": "string", - "description": "hs_lastmodifieddate" - }, - "hs_nextactivitydate": { - "title": "HubSpot next activity date", - "type": "string", - "description": "hs_nextactivitydate" - }, - "hs_num_times_contacted": { - "title": "HubSpot number of times contacted", - "type": "string", - "description": "hs_num_times_contacted" - }, - "hubspot_owner_assigneddate": { - "title": "HubSpot owner assigned date", - "type": "string", - "description": "hubspot_owner_assigneddate" - }, - "last_reply_date": { - "title": "Last reply date", - "type": "string", - "description": "last_reply_date" - }, - "num_notes": { - "title": "Number of notes", - "type": "string", - "description": "num_notes" - }, - "time_to_close": { - "title": "Time to close", - "type": "string", - "description": "time_to_close" - }, - "time_to_first_agent_reply": { - "title": "Time to first agent reply", - "type": "string", - "description": "time_to_first_agent_reply" - }, - "content": { - "title": "Content", - "type": "string", - "description": "content" - }, - "hs_file_upload": { - "title": "HubSpot file upload", - "type": "string", - "description": "hs_file_upload" - }, - "hs_num_associated_companies": { - "title": "HubSpot number of associated companies", - "type": "string", - "description": "hs_num_associated_companies" - }, - "hs_pipeline": { - "title": "HubSpot pipeline", - "type": "string", - "description": "hs_pipeline" - }, - "hs_pipeline_stage": { - "title": "HubSpot pipeline stage", - "type": "string", - "description": "hs_pipeline_stage" - }, - "hs_resolution": { - "title": "HubSpot resolution", - "type": "string", - "description": "hs_resolution" - }, - "hs_ticket_category": { - "title": "HubSpot ticket category", - "type": "string", - "description": "hs_ticket_category" - }, - "hs_ticket_id": { - "title": "HubSpot ticket ID", - "type": "string", - "description": "hs_ticket_id" - }, - "hs_ticket_priority": { - "title": "HubSpot ticket priority", - "type": "string", - "description": "hs_ticket_priority" - }, - "hubspot_owner_id": { - "title": "HubSpot owner ID", - "type": "string", - "description": "hubspot_owner_id" - }, - "hubspot_team_id": { - "title": "HubSpot team ID", - "type": "string", - "description": "hubspot_team_id" - }, - "source_type": { - "title": "Source type", - "type": "string", - "description": "source_type" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - } - } - ] - } - }, - "/crm/v3/objects/companies/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search companies", - "operationId": "SearchCompanies", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/contacts/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search contacts", - "operationId": "SearchContacts", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/deals/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search deals", - "operationId": "SearchDeals", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/products/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search products", - "operationId": "SearchProducts", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/tickets/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search tickets", - "operationId": "SearchTickets", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/line_items/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search line items", - "operationId": "SearchLineItems", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/quotes/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search quotes", - "operationId": "SearchQuotes", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - }, - "/crm/v3/objects/custom_objects/search": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Search custom objects", - "operationId": "SearchCustomObjects", - "description": "The CRM search endpoints make getting data more efficient by allowing developers to filter, sort, and search across any CRM object type.", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "title": "Property name", - "type": "string", - "description": "propertyName" - }, - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - } - }, - "description": "filters" - } - } - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write": "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "crm.objects.marketing_events.read contacts content reports actions timeline oauth forms files crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read crm.objects.custom.write" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.hubspot.com/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://legal.hubspot.com/privacy-policy" - }, - { - "propertyName": "Categories", - "propertyValue": "Marketing" - } - ] -} diff --git a/independent-publisher-connectors/HubSpot CRM/apiProperties.json b/independent-publisher-connectors/HubSpot CRM/apiProperties.json deleted file mode 100644 index cc9cf1cd64..0000000000 --- a/independent-publisher-connectors/HubSpot CRM/apiProperties.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "HubSpot" -} diff --git a/independent-publisher-connectors/HubSpot CRM/icon.png b/independent-publisher-connectors/HubSpot CRM/icon.png deleted file mode 100644 index aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 G^8YVDI5%+s diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png b/independent-publisher-connectors/HubSpot CRM/msedge_KE1O1FSJEg.png deleted file mode 100644 index 63bc8da6e689ecd35d913ef11c3b07a169795025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13077 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 diff --git a/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png b/independent-publisher-connectors/HubSpot CRM/msedge_Kl4ymVJGp0.png deleted file mode 100644 index 23b2875c6d13d3403b30d5fe7ea29737a89292f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24590 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 Date: Fri, 23 Jul 2021 11:29:52 -0400 Subject: [PATCH 16/25] Delete independent-publisher-connectors/HubSpot Marketing directory --- .../HubSpot Marketing/README.md | 58 - .../apiDefinition.swagger.json | 1455 ----------------- .../HubSpot Marketing/apiProperties.json | 75 - .../HubSpot Marketing/icon.png | Bin 2862 -> 0 bytes .../HubSpot Marketing/settings.json | 9 - 5 files changed, 1597 deletions(-) delete mode 100644 independent-publisher-connectors/HubSpot Marketing/README.md delete mode 100644 independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/HubSpot Marketing/apiProperties.json delete mode 100644 independent-publisher-connectors/HubSpot Marketing/icon.png delete mode 100644 independent-publisher-connectors/HubSpot Marketing/settings.json diff --git a/independent-publisher-connectors/HubSpot Marketing/README.md b/independent-publisher-connectors/HubSpot Marketing/README.md deleted file mode 100644 index 1a78e4432d..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# HubSpot CRM -HubSpot’s CRM platform has all the tools and integrations you need for marketing, sales, content management, and customer service. With Marketing Hub, all your marketing tools and data are on one easy-to-use, powerful platform. You’ll save valuable time and get all the context you need to provide a personalized experience that attracts and converts the right customers at scale. - -## Publisher: Hitachi Solutions - -## Prerequisites -A paid or trial HubSpot account. - -## Supported Operations - -### Marketing Event -#### Get a marketing event (Preview) -Returns the details of the Marketing Event with the specified id, if one exists. -#### Create or update a marketing event (Preview) -Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created. -#### Delete a marketing event (Preview) -Archives an existing Marketing Event with the specified id, if one exists. - -### Marketing Email -#### Get all marketing emails (V1) -Get all marketing emails for a HubSpot account. -#### Get a marketing email (V1) -Get the details for a specific marketing email. -#### Get campaign data for a particular campaign (V1) -For a given campaign, return data associated with the campaign. -#### Create a marketing email (V1) -Create a new marketing email. -#### Update a marketing email (V1) -Update a marketing email. -#### Delete a marketing email (V1) -Archive a marketing email. - -### Forms -#### Get a list of forms (Preview) -Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms. -#### Get a form (Preview) -Returns a form based on the form ID provided. -#### Create a form (Preview) -Add a new HubSpot form. -#### Update a form (Preview) -Update all fields of a HubSpot form definition. -#### Delete a form (Preview) -Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months. - -## Obtaining Credentials -A HubSpot account (trial or paid) is needed for API key access. The API key is specific to a HubSpot account, not each user, and only one key is allowed at a time. The key can be found in Account Settings > Account Setup > Integrations > API Keys. More information can be found [here](https://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key). - -A free HubSpot developer account is needed to install an OAuth app in your account for OAuth 2.0 access. Installed apps can be found in Account Settings > Account Setup > Integrations > Connected Apps. More information can be found [here](https://developers.hubspot.com/docs/api/working-with-oauth). - -## Getting Started -No specific instruction required for getting started. - -## Known Issues and Limitations -No issues and limitations are known at this time. - -## Frequently Asked Questions -### How do I obtain API key? -If you are not the HubSpot administrator for your account, check with the administrator before generating a new API key. If you have a HubSpot developer account connected to your company account, multiple OAuth apps can be installed in each company account. diff --git a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json b/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json deleted file mode 100644 index 59fdf72367..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/apiDefinition.swagger.json +++ /dev/null @@ -1,1455 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HubSpot Marketing", - "description": "HubSpot Marketing community connector.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.hubapi.com", - "basePath": "/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/marketing/v3/forms/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "List Forms (Preview)", - "description": "Returns a list of forms based on the search filters. By default, it returns the first 20 hubspot forms.", - "operationId": "FormsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 20, - "description": "The maximum number of results to return.", - "x-ms-visibility": "advanced", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "x-ms-summary": "Whether to return only results that have been archived.", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a form (Preview)", - "description": "Add a new HubSpot form.", - "operationId": "FormsCreate", - "parameters": [ - { - "name": "data", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "formType": { - "title": "Form Type", - "type": "string", - "description": "formType", - "default": "hubspot" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "createdAt": { - "title": "Created at", - "type": "string", - "description": "createdAt" - }, - "updatedAt": { - "title": "Updated at", - "type": "string", - "description": "updatedAt" - }, - "archived": { - "title": "Archived", - "type": "boolean", - "description": "archived", - "enum": [ - false, - true - ], - "default": false - }, - "archivedAt": { - "title": "Archived at", - "type": "string", - "description": "archivedAt" - }, - "fieldGroups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "groupType": { - "title": "Group type", - "type": "string", - "description": "groupType" - }, - "richTextType": { - "title": "Rich text type", - "type": "string", - "description": "richTextType" - }, - "richText": { - "title": "Rich text", - "type": "string", - "description": "richText" - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fieldType": { - "title": "Field type", - "type": "string", - "description": "fieldType" - }, - "objectTypeId": { - "title": "Object type ID", - "type": "string", - "description": "objectTypeId" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "required": { - "title": "Required", - "type": "boolean", - "description": "required" - }, - "hidden": { - "title": "Hidden", - "type": "boolean", - "description": "hidden" - }, - "dependentFields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dependentCondition": { - "type": "object", - "properties": { - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "values": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "values" - }, - "rangeStart": { - "title": "Range start", - "type": "string", - "description": "rangeStart" - }, - "rangeEnd": { - "title": "Range end", - "type": "string", - "description": "rangeEnd" - } - }, - "description": "dependentCondition" - } - } - }, - "description": "dependentFields" - }, - "placeholder": { - "title": "Placeholder", - "type": "string", - "description": "placeholder" - }, - "defaultValue": { - "title": "Default value", - "type": "string", - "description": "defaultValue" - }, - "validation": { - "type": "object", - "properties": { - "blockedEmailDomains": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "blockedEmailDomains" - }, - "useDefaultBlockList": { - "title": "Use default block list", - "type": "boolean", - "description": "useDefaultBlockList" - }, - "minAllowedDigits": { - "title": "Minimum allowed digits", - "type": "integer", - "format": "int32", - "description": "minAllowedDigits" - }, - "maxAllowedDigits": { - "title": "Max allowed digits", - "type": "integer", - "format": "int32", - "description": "maxAllowedDigits" - } - }, - "description": "validation" - }, - "useCountryCodeSelect": { - "title": "Use country code select", - "type": "boolean", - "description": "useCountryCodeSelect" - }, - "defaultValues": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "defaultValues" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "displayOrder" - } - } - }, - "description": "options" - }, - "allowMultipleFiles": { - "title": "Allow multiple files", - "type": "boolean", - "description": "allowMultipleFiles" - } - } - }, - "description": "fields" - } - } - }, - "description": "fieldGroups" - }, - "configuration": { - "type": "object", - "properties": { - "language": { - "title": "Language", - "type": "string", - "description": "language" - }, - "cloneable": { - "title": "Cloneable", - "type": "boolean", - "description": "cloneable" - }, - "postSubmitAction": { - "type": "object", - "properties": { - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - }, - "description": "postSubmitAction" - }, - "editable": { - "title": "Editable", - "type": "boolean", - "description": "editable" - }, - "archivable": { - "title": "Archivable", - "type": "boolean", - "description": "archivable" - }, - "recaptchaEnabled": { - "title": "Recaptcha enabled", - "type": "boolean", - "description": "recaptchaEnabled" - }, - "notifyContactOwner": { - "title": "Notify contact owner", - "type": "boolean", - "description": "notifyContactOwner" - }, - "notifyRecipients": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "notifyRecipients" - }, - "createNewContactForNewEmail": { - "title": "Create new contact for new email", - "type": "boolean", - "description": "createNewContactForNewEmail" - }, - "prePopulateKnownValues": { - "title": "Pre-populate known values", - "type": "boolean", - "description": "prePopulateKnownValues" - }, - "allowLinkToResetKnownValues": { - "title": "Allow link to reset known values", - "type": "boolean", - "description": "allowLinkToResetKnownValues" - } - }, - "description": "configuration" - }, - "displayOptions": { - "type": "object", - "properties": { - "renderRawHtml": { - "title": "Render raw HTML", - "type": "boolean", - "description": "renderRawHtml" - }, - "theme": { - "title": "Theme", - "type": "string", - "description": "theme" - }, - "submitButtonText": { - "title": "Submit button text", - "type": "string", - "description": "submitButtonText" - }, - "style": { - "type": "object", - "properties": { - "fontFamily": { - "title": "Font family", - "type": "string", - "description": "fontFamily" - }, - "backgroundWidth": { - "title": "Background width", - "type": "string", - "description": "backgroundWidth" - }, - "labelTextColor": { - "title": "Label text color", - "type": "string", - "description": "labelTextColor" - }, - "labelTextSize": { - "title": "Label text size", - "type": "string", - "description": "labelTextSize" - }, - "helpTextColor": { - "title": "Help text color", - "type": "string", - "description": "helpTextColor" - }, - "helpTextSize": { - "title": "Help text size", - "type": "string", - "description": "helpTextSize" - }, - "legalConsentTextColor": { - "title": "Legal consent text color", - "type": "string", - "description": "legalConsentTextColor" - }, - "legalConsentTextSize": { - "title": "Legal consent text size", - "type": "string", - "description": "legalConsentTextSize" - }, - "submitColor": { - "title": "Submit color", - "type": "string", - "description": "submitColor" - }, - "submitAlignment": { - "title": "Submit alignment", - "type": "string", - "description": "submitAlignment" - }, - "submitFontColor": { - "title": "Submit font color", - "type": "string", - "description": "submitFontColor" - }, - "submitSize": { - "title": "Submit size", - "type": "string", - "description": "submitSize" - } - }, - "description": "style" - }, - "cssClass": { - "title": "CSS class", - "type": "string", - "description": "cssClass" - } - }, - "description": "displayOptions" - } - } - } - } - ] - } - }, - "/marketing/v3/forms/{formId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a form (Preview)", - "description": "Returns a form based on the form ID provided.", - "operationId": "FormsRead", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string", - "description": "The formId of the form", - "x-ms-visibility": "important", - "x-ms-summary": "formId", - "x-ms-url-encoding": "single" - }, - { - "name": "archived", - "in": "query", - "required": false, - "type": "boolean", - "default": false, - "description": "Whether to return only results that have been archived.", - "x-ms-visibility": "advanced", - "enum": [ - false, - true - ], - "x-ms-summary": "archived", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "FormsArchive", - "summary": "Delete a form (Preview)", - "description": "Archive a form definition. New submissions will not be accepted and the form definition will be permanently deleted after 3 months.", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string", - "description": "Form ID", - "x-ms-summary": "formId", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "FormsUpdate", - "summary": "Update a form (Preview)", - "description": "Update all fields of a HubSpot form definition.", - "parameters": [ - { - "name": "formId", - "in": "path", - "required": true, - "type": "string", - "description": "Form ID", - "x-ms-summary": "formId", - "x-ms-url-encoding": "single" - }, - { - "name": "data", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "formType": { - "title": "Form Type", - "type": "string", - "description": "formType", - "default": "hubspot" - }, - "id": { - "title": "ID", - "type": "string", - "description": "id" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "createdAt": { - "title": "Created at", - "type": "string", - "description": "createdAt", - "format": "date-time" - }, - "updatedAt": { - "title": "Updated at", - "type": "string", - "description": "updatedAt", - "format": "date-time" - }, - "archived": { - "type": "boolean", - "description": "archived", - "title": "", - "enum": [ - false, - true - ], - "default": false - }, - "archivedAt": { - "title": "Archived at", - "type": "string", - "description": "archivedAt" - }, - "fieldGroups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "groupType": { - "title": "Group type", - "type": "string", - "description": "groupType" - }, - "richTextType": { - "title": "Rich text type", - "type": "string", - "description": "richTextType" - }, - "richText": { - "title": "Rich text", - "type": "string", - "description": "richText" - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fieldType": { - "title": "Field type", - "type": "string", - "description": "fieldType" - }, - "objectTypeId": { - "title": "Object type ID", - "type": "string", - "description": "objectTypeId" - }, - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "required": { - "title": "Required", - "type": "boolean", - "description": "required" - }, - "hidden": { - "title": "Hidden", - "type": "boolean", - "description": "hidden" - }, - "dependentFields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dependentCondition": { - "type": "object", - "properties": { - "operator": { - "title": "Operator", - "type": "string", - "description": "operator" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "values": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "values" - }, - "rangeStart": { - "title": "Range start", - "type": "string", - "description": "rangeStart" - }, - "rangeEnd": { - "title": "Range end", - "type": "string", - "description": "rangeEnd" - } - }, - "description": "dependentCondition" - } - } - }, - "description": "dependentFields" - }, - "placeholder": { - "title": "Placeholder", - "type": "string", - "description": "placeholder" - }, - "defaultValue": { - "title": "Default value", - "type": "string", - "description": "defaultValue" - }, - "validation": { - "type": "object", - "properties": { - "blockedEmailDomains": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "blockedEmailDomains" - }, - "useDefaultBlockList": { - "title": "Use default block list", - "type": "boolean", - "description": "useDefaultBlockList" - }, - "minAllowedDigits": { - "title": "Minimum allowed digits", - "type": "integer", - "format": "int32", - "description": "minAllowedDigits" - }, - "maxAllowedDigits": { - "title": "Max allowed digits", - "type": "integer", - "format": "int32", - "description": "maxAllowedDigits" - } - }, - "description": "validation" - }, - "useCountryCodeSelect": { - "title": "Use country code select", - "type": "boolean", - "description": "useCountryCodeSelect" - }, - "defaultValues": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "defaultValues" - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "label": { - "title": "Label", - "type": "string", - "description": "label" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "description": { - "title": "Description", - "type": "string", - "description": "description" - }, - "displayOrder": { - "title": "Display order", - "type": "integer", - "format": "int32", - "description": "displayOrder" - } - } - }, - "description": "options" - }, - "allowMultipleFiles": { - "title": "Allow multiple files", - "type": "boolean", - "description": "allowMultipleFiles" - } - } - }, - "description": "fields" - } - } - }, - "description": "fieldGroups" - }, - "configuration": { - "type": "object", - "properties": { - "language": { - "title": "Language", - "type": "string", - "description": "language" - }, - "cloneable": { - "title": "Cloneable", - "type": "boolean", - "description": "cloneable" - }, - "postSubmitAction": { - "type": "object", - "properties": { - "type": { - "title": "Type", - "type": "string", - "description": "type" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - } - }, - "description": "postSubmitAction" - }, - "editable": { - "title": "Editable", - "type": "boolean", - "description": "editable" - }, - "archivable": { - "title": "Archivable", - "type": "boolean", - "description": "archivable" - }, - "recaptchaEnabled": { - "title": "Recaptcha enabled", - "type": "boolean", - "description": "recaptchaEnabled" - }, - "notifyContactOwner": { - "title": "Notify contact owner", - "type": "boolean", - "description": "notifyContactOwner" - }, - "notifyRecipients": { - "type": "array", - "items": { - "title": "Items", - "type": "string" - }, - "description": "notifyRecipients" - }, - "createNewContactForNewEmail": { - "title": "Create new contact for new email", - "type": "boolean", - "description": "createNewContactForNewEmail" - }, - "prePopulateKnownValues": { - "title": "Pre-populate known values", - "type": "boolean", - "description": "prePopulateKnownValues" - }, - "allowLinkToResetKnownValues": { - "title": "Allow link to reset known values", - "type": "boolean", - "description": "allowLinkToResetKnownValues" - } - }, - "description": "configuration" - }, - "displayOptions": { - "type": "object", - "properties": { - "renderRawHtml": { - "title": "Render raw HTML", - "type": "boolean", - "description": "renderRawHtml" - }, - "theme": { - "title": "Theme", - "type": "string", - "description": "theme" - }, - "submitButtonText": { - "title": "Submit button text", - "type": "string", - "description": "submitButtonText" - }, - "style": { - "type": "object", - "properties": { - "fontFamily": { - "title": "Font family", - "type": "string", - "description": "fontFamily" - }, - "backgroundWidth": { - "title": "Background width", - "type": "string", - "description": "backgroundWidth" - }, - "labelTextColor": { - "title": "Label text color", - "type": "string", - "description": "labelTextColor" - }, - "labelTextSize": { - "title": "Label text size", - "type": "string", - "description": "labelTextSize" - }, - "helpTextColor": { - "title": "Help text color", - "type": "string", - "description": "helpTextColor" - }, - "helpTextSize": { - "title": "Help text size", - "type": "string", - "description": "helpTextSize" - }, - "legalConsentTextColor": { - "title": "Legal consent text color", - "type": "string", - "description": "legalConsentTextColor" - }, - "legalConsentTextSize": { - "title": "Legal consent text size", - "type": "string", - "description": "legalConsentTextSize" - }, - "submitColor": { - "title": "Submit color", - "type": "string", - "description": "submitColor" - }, - "submitAlignment": { - "title": "Submit alignment", - "type": "string", - "description": "submitAlignment" - }, - "submitFontColor": { - "title": "Submit font color", - "type": "string", - "description": "submitFontColor" - }, - "submitSize": { - "title": "Submit size", - "type": "string", - "description": "submitSize" - } - }, - "description": "style" - }, - "cssClass": { - "title": "CSS class", - "type": "string", - "description": "cssClass" - } - }, - "description": "displayOptions" - } - }, - "required": [ - "id", - "formType", - "createdAt", - "updatedAt", - "archived" - ] - } - } - ] - } - }, - "/marketing/v3/marketing-events-beta/events/{externalEventId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "MarketingEventRead", - "summary": "Get a marketing event (Preview)", - "description": "Returns the details of the Marketing Event with the specified id, if one exists.", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to return", - "x-ms-summary": "The id of the marketing event to return", - "x-ms-url-encoding": "single" - }, - { - "name": "externalAccountId", - "in": "query", - "required": true, - "type": "string", - "x-ms-summary": "The account id associated with the marketing event", - "description": "The account id associated with the marketing event", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "MarketingEventsArchive", - "summary": "Delete a marketing event (Preview)", - "description": "Archives an existing Marketing Event with the specified id, if one exists.", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to delete", - "x-ms-summary": "The id of the marketing event to delete", - "x-ms-url-encoding": "single" - }, - { - "name": "externalAccountId", - "in": "query", - "required": true, - "type": "string", - "description": "The account id associated with the marketing event", - "x-ms-summary": "The account id associated with the marketing event", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create or update a marketing event (Preview)", - "description": "Upserts a Marketing Event. If there is an existing Marketing event with the specified id, it will be updated; otherwise a new event will be created.", - "operationId": "MarketingEventsUpdateCreateOrUpdate", - "parameters": [ - { - "name": "externalEventId", - "in": "path", - "required": true, - "type": "string", - "description": "The id of the marketing event to upsert", - "x-ms-summary": "The id of the marketing event to upsert", - "x-ms-url-encoding": "single" - }, - { - "name": "data", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "eventName": { - "title": "Event name", - "type": "string", - "description": "eventName" - }, - "eventType": { - "type": "string", - "description": "eventType", - "title": "", - "enum": [ - "WEBINAR", - "CONFERENCE", - "WORKSHOP" - ] - }, - "startDateTime": { - "title": "Start date time", - "type": "string", - "description": "startDateTime" - }, - "endDateTime": { - "title": "End date time", - "type": "string", - "description": "endDateTime" - }, - "eventOrganizer": { - "title": "Event organizer", - "type": "string", - "description": "eventOrganizer" - }, - "eventDescription": { - "title": "Event description", - "type": "string", - "description": "eventDescription" - }, - "eventUrl": { - "title": "Event URL", - "type": "string", - "description": "eventUrl" - }, - "eventCancelled": { - "title": "Event cancelled", - "type": "boolean", - "description": "eventCancelled" - }, - "customProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name" - }, - "value": { - "title": "Value", - "type": "string", - "description": "value" - }, - "timestamp": { - "title": "Timestamp", - "type": "integer", - "format": "int32", - "description": "timestamp" - }, - "sourceId": { - "title": "Source ID", - "type": "string", - "description": "sourceId" - }, - "sourceLabel": { - "title": "Source label", - "type": "string", - "description": "sourceLabel" - }, - "source": { - "title": "Source", - "type": "string", - "description": "source" - }, - "selectedByUser": { - "title": "Selected by user", - "type": "boolean", - "description": "selectedByUser" - }, - "selectedByUserTimestamp": { - "title": "Selected by user timestamp", - "type": "integer", - "format": "int32", - "description": "selectedByUserTimestamp" - }, - "sourceVid": { - "type": "array", - "items": { - "title": "Items", - "type": "integer", - "format": "int32" - }, - "description": "sourceVid" - }, - "sourceMetadata": { - "title": "Source metadata", - "type": "string", - "description": "sourceMetadata" - }, - "requestId": { - "title": "Request ID", - "type": "string", - "description": "requestId" - } - } - }, - "description": "customProperties" - }, - "externalAccountId": { - "title": "External account ID", - "type": "string", - "description": "externalAccountId" - }, - "externalEventId": { - "title": "External event ID", - "type": "string", - "description": "externalEventId" - } - }, - "required": [ - "eventName", - "eventOrganizer", - "externalEventId", - "externalAccountId" - ] - } - } - ] - } - }, - "/marketing-emails/v1/emails": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get all marketing emails (V1)", - "description": "Get all marketing emails for a HubSpot account.", - "operationId": "MarketingEmailsList", - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "default": 10, - "description": "Limit", - "x-ms-summary": "limit", - "x-ms-url-encoding": "single" - }, - { - "name": "orderBy", - "in": "query", - "required": false, - "type": "string", - "default": "created", - "description": "orderBy", - "x-ms-summary": "orderBy", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/marketing-emails/v1/emails/{id}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a marketing email (V1)", - "description": "Get the details for a specific marketing email.", - "operationId": "MarketingEmailsRead", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string", - "x-ms-visibility": "important", - "description": "ID", - "x-ms-summary": "id", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a marketing email (V1)", - "description": "Archive a marketing email.", - "operationId": "MarketingEmailsArchive", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string", - "description": "ID", - "x-ms-summary": "id", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a marketing email (V1)", - "description": "Update a marketing email.", - "operationId": "MarketingEmailsUpdate", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string", - "description": "ID", - "x-ms-summary": "id", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "fromName": { - "title": "From name", - "type": "string", - "description": "fromName" - }, - "replyTo": { - "title": "Reply to", - "type": "string", - "description": "replyTo" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - } - } - } - ] - } - }, - "/email/public/v1/campaigns/{campaign_id}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get campaign data for a particular campaign (V1)", - "description": "For a given campaign, return data associated with the campaign.", - "operationId": "MarketingEmailsCampaignRead", - "parameters": [ - { - "name": "campaign_id", - "in": "path", - "required": true, - "type": "string", - "description": "Campaign ID", - "x-ms-summary": "campaign_id", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/marketing-emails/v1/emails/": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a marketing email (V1)", - "description": "Create a new marketing email.", - "operationId": "MarketingEmailsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "name": { - "title": "Name", - "type": "string", - "description": "name", - "x-ms-visibility": "important" - }, - "subject": { - "title": "Subject", - "type": "string", - "description": "subject" - } - }, - "required": [ - "name" - ] - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://app.hubspot.com/oauth/authorize", - "tokenUrl": "https://api.hubapi.com/oauth/v1/token", - "scopes": { - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth": "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "forms files hubdb transactional-email settings.users.write conversations.visitor_identification.tokens.create integration-sync tickets e-commerce files.ui_hidden.read crm.objects.marketing_events.read accounting crm.objects.marketing_events.write crm.schemas.custom.read crm.objects.custom.read crm.objects.feedback_submissions.read sales-email-read crm.objects.custom.write forms-uploaded-files settings.users.read crm.import contacts content reports social automation settings.billing.write actions timeline business-intelligence oauth" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.hubspot.com/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://legal.hubspot.com/privacy-policy" - }, - { - "propertyName": "Categories", - "propertyValue": "Marketing" - } - ] -} diff --git a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json b/independent-publisher-connectors/HubSpot Marketing/apiProperties.json deleted file mode 100644 index cc9cf1cd64..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/apiProperties.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "connectionParameterSets": { - "uiDefinition": { - "displayName": "Authentication Type", - "description": "Type of authentication to be used." - }, - "values": [ - { - "name": "hubspot-oauth", - "uiDefinition": { - "displayName": "Use HubSpot OAuth 2.0", - "description": "Log in using HubSpot app client ID and secret." - }, - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7c3afd4c-a688-4f38-a0d9-6e4a1a1b60ed", - "scopes": [ - "contacts oauth" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://app.hubspot.com/oauth/authorize" - }, - "tokenUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - }, - "refreshUrl": { - "value": "https://api.hubapi.com/oauth/v1/token" - } - } - } - } - } - } - }, - { - "name": "api-auth", - "uiDefinition": { - "displayName": "Use HubSpot API Key", - "description": "Log in using a HubSpot API Key." - }, - "parameters": { - "api_key": { - "type": "securestring", - "uiDefinition": { - "constraints": { - "clearText": false, - "required": "true", - "tabIndex": 3 - }, - "schema": { - "description": "Enter your API Key for HubSpot", - "type": "securestring" - }, - "displayName": "API Key generated in HubSpot" - } - } - } - } - ] - }, - "iconBrandColor": "#007ee5", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "HubSpot" -} diff --git a/independent-publisher-connectors/HubSpot Marketing/icon.png b/independent-publisher-connectors/HubSpot Marketing/icon.png deleted file mode 100644 index aaca87fb6a0c5ea842e7c4bdc5c3568a4296239c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 G^8YVDI5%+s diff --git a/independent-publisher-connectors/HubSpot Marketing/settings.json b/independent-publisher-connectors/HubSpot Marketing/settings.json deleted file mode 100644 index 153b93942c..0000000000 --- a/independent-publisher-connectors/HubSpot Marketing/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_hubspot-20marketing-5f1a2efd764356a300-5fb3182c161023f139", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file From 74c1af44c9f8ea7fc407ad6328c517cb0d5488f9 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 23 Jul 2021 11:30:00 -0400 Subject: [PATCH 17/25] Delete independent-publisher-connectors/Xero Accounting directory --- .../Getting Started with Xero App Webhooks.md | 10 - .../Xero Accounting/README.md | 84 -- .../apiDefinition.swagger.json | 1264 ----------------- .../Xero Accounting/apiProperties.json | 36 - .../Xero Accounting/icon.png | Bin 2096 -> 0 bytes .../Xero Accounting/jNtIA08Isl.png | Bin 9962 -> 0 bytes .../Xero Accounting/pCXxjPBIMe.png | Bin 25036 -> 0 bytes .../Xero Accounting/settings.json | 9 - 8 files changed, 1403 deletions(-) delete mode 100644 independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md delete mode 100644 independent-publisher-connectors/Xero Accounting/README.md delete mode 100644 independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Accounting/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Accounting/icon.png delete mode 100644 independent-publisher-connectors/Xero Accounting/jNtIA08Isl.png delete mode 100644 independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png delete mode 100644 independent-publisher-connectors/Xero Accounting/settings.json diff --git a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md b/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md deleted file mode 100644 index 22359e9929..0000000000 --- a/independent-publisher-connectors/Xero Accounting/Getting Started with Xero App Webhooks.md +++ /dev/null @@ -1,10 +0,0 @@ -# Getting Started with Xero App webhooks -Currently, there is no API available that allows this custom connector to create triggers for flows. Start by creating a new Power Automate cloud flow using the 'When a HTTP request is received' trigger. - -![When a HTTP request is received trigger](jNtIA08Isl.png) - -After you save the flow, an Azure HTTP POST URL will be created and you will use this with your Xero app webhook. You will then have to use the Xero My Apps UI to [create the webhook(s)](https://developer.xero.com/documentation/webhooks/creating-webhooks). - -![Xero app webhook](pCXxjPBIMe.png) - -As there is only one notification URL allowed per app, to receive notifications about the second object you will need to create a second app. diff --git a/independent-publisher-connectors/Xero Accounting/README.md b/independent-publisher-connectors/Xero Accounting/README.md deleted file mode 100644 index d7db5b4adc..0000000000 --- a/independent-publisher-connectors/Xero Accounting/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# Xero Accounting -The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. - -## Publisher: Hitachi Solutions - -## Prerequisites -To use this connector, you need the following - -- A Microsoft Power Apps or Power Automate plan with custom connector feature -- A Xero account with either the demo company or a paid subscription tenant -- A Xero developer account with a configured OAuth 2.0 application - -## Obtaining Credentials -After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. If you are going to build triggers for your Xero tenant, that configuration is on the Webhooks tab in this app. Since Xero allows for triggers based on contacts and invoices but only allows one URL per app, best practice is to create a second app to trigger the second object changes. - -## Getting Started -Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). In order to use Xero webhooks as triggers in Power Automate, follow this [guide](Getting Started with Xero App Webhooks.md). - -## API Documentation -[Xero Accounting API](https://developer.xero.com/documentation/api/api-overview) - -- [Bank Transfers](https://developer.xero.com/documentation/api/bank-transfers) -- [Contacts](https://developer.xero.com/documentation/api/contacts) -- [Invoices](https://developer.xero.com/documentation/api/invoices) -- [Payments](https://developer.xero.com/documentation/api/payments) -- [Purchase Orders](https://developer.xero.com/documentation/api/purchase-orders) - -## Supported Operations -This connector supports the following operations: - -### Action: Create a contact -Add a contact in a Xero organisation. - -### Action: Get a contact -Retrieve a contact in a Xero organisation. - -### Action: Get contacts -Retrieve a list of contacts in a Xero organisation. - -### Action: Update a contact -Update a contact in a Xero organisation. - -### Action: Get sales invoices -Retrieve sales invoices in a Xero organisation. - -### Action: Get a sales invoice -Retrieve a sales invoice in a Xero organisation. - -### Action: Create a payment -Apply a payment to approved AR and AP invoices. - -### Action: Get payments -Retrieve either a list of payments for invoices and credit notes. - -### Action: Get a payment -Retrieve either a payment for invoices and credit notes. - -### Action: Create a purchase order -Add a purchase order in a Xero organisation. - -### Action: Get a purchase order -Allows you to retrieve a purchase order. - -### Action: Get purchase orders -Allows you to retrieve purchase orders. - -### Action: Create a bank transfer -Create a bank transfer in a Xero organisation. - -### Action: Get a bank transfer -Retrieve a bank transfer in a Xero organisation. - -### Action: Get bank transfers -Retrieve a list of bank transfers in a Xero organisation. - - -## Known Issues and Limitations -There are no known issues at time of publishing. - -## Frequently Asked Questions - - -## Deployment Instructions -Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json deleted file mode 100644 index 9c045cb303..0000000000 --- a/independent-publisher-connectors/Xero Accounting/apiDefinition.swagger.json +++ /dev/null @@ -1,1264 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Xero Accounting", - "description": "Xero accounting software community connector.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.xero.com", - "basePath": "/api.xro/2.0/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/Contacts": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get contacts", - "description": "Get a list of contacts", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal", - "description": "Content-Type", - "x-ms-summary": "Content-Type", - "x-ms-url-encoding": "single" - } - ], - "operationId": "ContactsGet" - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a contact", - "description": "Use this method to create a contact record.", - "operationId": "ContactsCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal", - "description": "Content-Type", - "x-ms-summary": "Content-Type", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Full name of contact or organization" - }, - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Xero identifier" - }, - "ContactNumber": { - "title": "Contact number", - "type": "string", - "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" - }, - "AccountNumber": { - "title": "Account number", - "type": "string", - "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" - }, - "ContactStatus": { - "title": "Contact status", - "type": "string", - "description": "Current status of a contact", - "enum": [ - "ACTIVE", - "ARCHIVED", - "GDPRREQUEST" - ] - }, - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "SkypeUserName": { - "title": "Skype user name", - "type": "string", - "description": "Skype user name of contact" - }, - "ContactPersons": { - "title": "Contact persons", - "type": "object", - "properties": { - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "IncludeInEmails": { - "title": "Include in emails", - "type": "boolean", - "description": "Whether contact should be included on emails with invoices etc.", - "enum": [ - true, - false - ] - } - } - }, - "BankAccountDetails": { - "title": "Bank account details", - "type": "string", - "description": "Bank account number of contact" - }, - "TaxNumber": { - "title": "Tax number", - "type": "string", - "description": "Tax number of contact (max length = 50)" - }, - "AccountsReceivableTaxType": { - "title": "Accounts receivable tax type", - "type": "string", - "description": "Default tax type used for contact on AR invoices" - }, - "AccountsPayableTaxType": { - "title": "Accounts payable tax type", - "type": "string", - "description": "Default tax type used for contact on AP invoices" - }, - "Addresses": { - "title": "Addresses", - "type": "string", - "description": "Either PO Box or Street or Delivery", - "default": "POBOX", - "enum": [ - "POBOX", - "STREET", - "DELIVERY" - ] - }, - "Phones": { - "title": "Phones", - "type": "string", - "description": "Store certain phone types for a contact", - "default": "DEFAULT", - "enum": [ - "DEFAULT", - "DDI", - "MOBILE", - "FAX" - ] - }, - "DefaultCurrency": { - "title": "Default currency", - "type": "string", - "description": "Default currency for raising invoices against contact" - }, - "XeroNetworkKey": { - "title": "XeroNetworkKey", - "type": "string", - "description": "Store XeroNetworkKey for contacts." - }, - "SalesDefaultAccountCode": { - "title": "Sales default account code", - "type": "string", - "description": "The default sales account code for contacts" - }, - "PurchasesDefaultAccountCode": { - "title": "Purchases default account code", - "type": "string", - "description": "The default purchases account code for contacts" - }, - "SalesTrackingCategories": { - "title": "Sales tracking categories", - "type": "string", - "description": "The default sales tracking categories for contacts" - }, - "PurchasesTrackingCategories": { - "title": "Purchases tracking categories", - "type": "string", - "description": "The default purchases tracking categories for contacts" - }, - "TrackingCategoryName": { - "title": "Tracking category name", - "type": "string", - "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "TrackingOptionName": { - "title": "Tracking option name", - "type": "string", - "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "PaymentTerms": { - "title": "Payment terms", - "type": "string", - "description": "The default payment terms for the contact", - "default": "DAYSAFTERBILLDATE", - "enum": [ - "DAYSAFTERBILLDATE", - "DAYSAFTERBILLMONTH", - "OFCURRENTMONTH", - "OFFOLLOWINGMONTH" - ] - } - }, - "required": [ - "Name" - ] - } - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a contact", - "description": "Use this method to update a contact record. When you are updating a contact you don\u2019t need to specify every element. If you exclude an element then the existing value will be preserved.", - "operationId": "ContactsUpdate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal", - "description": "Content-Type", - "x-ms-summary": "Content-Type", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Full name of contact or organization" - }, - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Xero identifier" - }, - "ContactNumber": { - "title": "Contact number", - "type": "string", - "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen" - }, - "AccountNumber": { - "title": "Account number", - "type": "string", - "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" - }, - "ContactStatus": { - "title": "Contact status", - "type": "string", - "description": "Current status of a contact", - "enum": [ - "ACTIVE", - "ARCHIVED", - "GDPRREQUEST" - ] - }, - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "SkypeUserName": { - "title": "Skype user name", - "type": "string", - "description": "Skype user name of contact" - }, - "ContactPersons": { - "title": "Contact persons", - "type": "object", - "properties": { - "FirstName": { - "title": "First name", - "type": "string", - "description": "First name of contact person" - }, - "LastName": { - "title": "Last name", - "type": "string", - "description": "Last name of contact person" - }, - "EmailAddress": { - "title": "Email address", - "type": "string", - "description": "Email addressof the contact person (umlauts not supported)" - }, - "IncludeInEmails": { - "title": "Include in emails", - "type": "boolean", - "description": "Whether contact should be included on emails with invoices etc.", - "enum": [ - true, - false - ] - } - } - }, - "BankAccountDetails": { - "title": "Bank account details", - "type": "string", - "description": "Bank account number of contact" - }, - "TaxNumber": { - "title": "Tax number", - "type": "string", - "description": "Tax number of contact (max length = 50)" - }, - "AccountsReceivableTaxType": { - "title": "Accounts receivable tax type", - "type": "string", - "description": "Default tax type used for contact on AR invoices" - }, - "AccountsPayableTaxType": { - "title": "Accounts payable tax type", - "type": "string", - "description": "Default tax type used for contact on AP invoices" - }, - "Addresses": { - "title": "Addresses", - "type": "string", - "description": "Either PO Box or Street or Delivery", - "default": "POBOX", - "enum": [ - "POBOX", - "STREET", - "DELIVERY" - ] - }, - "Phones": { - "title": "Phones", - "type": "string", - "description": "Store certain phone types for a contact", - "default": "DEFAULT", - "enum": [ - "DEFAULT", - "DDI", - "MOBILE", - "FAX" - ] - }, - "DefaultCurrency": { - "title": "Default currency", - "type": "string", - "description": "Default currency for raising invoices against contact" - }, - "XeroNetworkKey": { - "title": "XeroNetworkKey", - "type": "string", - "description": "Store XeroNetworkKey for contacts." - }, - "SalesDefaultAccountCode": { - "title": "Sales default account code", - "type": "string", - "description": "The default sales account code for contacts" - }, - "PurchasesDefaultAccountCode": { - "title": "Purchases default account code", - "type": "string", - "description": "The default purchases account code for contacts" - }, - "SalesTrackingCategories": { - "title": "Sales tracking categories", - "type": "string", - "description": "The default sales tracking categories for contacts" - }, - "PurchasesTrackingCategories": { - "title": "Purchases tracking categories", - "type": "string", - "description": "The default purchases tracking categories for contacts" - }, - "TrackingCategoryName": { - "title": "Tracking category name", - "type": "string", - "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "TrackingOptionName": { - "title": "Tracking option name", - "type": "string", - "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" - }, - "PaymentTerms": { - "title": "Payment terms", - "type": "string", - "description": "The default payment terms for the contact", - "default": "DAYSAFTERBILLDATE", - "enum": [ - "DAYSAFTERBILLDATE", - "DAYSAFTERBILLMONTH", - "OFCURRENTMONTH", - "OFFOLLOWINGMONTH" - ] - } - }, - "required": [ - "Name" - ] - } - } - ] - } - }, - "/Contacts/{ContactID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a contact", - "description": "Get a single contact", - "operationId": "ContactsGetA", - "parameters": [ - { - "name": "ContactID", - "in": "path", - "required": true, - "type": "string", - "description": "Xero identifier", - "x-ms-summary": "ContactID", - "x-ms-url-encoding": "single" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal", - "description": "Content-Type", - "x-ms-summary": "Content-Type", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/Invoices": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get invoices", - "description": "Get a list of invoices", - "operationId": "InvoicesGet", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal", - "description": "Content-Type", - "x-ms-summary": "Content-Type", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create an invoice", - "description": "Use this method to create an invoice", - "operationId": "InvoicesCreate", - "parameters": [ - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "default": "application/json", - "x-ms-visibility": "internal" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Type": { - "title": "Type", - "type": "string", - "description": "Invoice Type", - "default": "ACCPAY", - "enum": [ - "ACCPAY", - "ACCREC" - ] - }, - "Contact": { - "title": "Contact", - "type": "object", - "properties": { - "ContactID": { - "title": "ContactID", - "type": "string", - "description": "The identifier of the contact" - } - } - }, - "LineItems": { - "title": "Line items", - "type": "object", - "description": "The LineItems collection can contain any number of individual LineItem sub-elements. At least one is required to create a complete Invoice.", - "properties": { - "Description": { - "title": "Description", - "type": "string", - "description": "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a Description element that contains at least 1 character (max length = 4000)" - }, - "Quantity": { - "title": "Quantity", - "type": "string", - "description": "LineItem Quantity (max length = 13)" - }, - "UnitAmount": { - "title": "UnitAmount", - "type": "string", - "description": "Lineitem unit amount. By default unit amount will be rounded to two decimal places." - }, - "ItemCode": { - "title": "ItemCode", - "type": "string", - "description": "User defined item code." - }, - "AccountCode": { - "title": "AccountCode", - "type": "string", - "description": "Customer defined alpha numeric account code e.g 200 or SALES" - }, - "TaxType": { - "title": "TaxType", - "type": "string", - "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct." - }, - "TaxAmount": { - "title": "TaxAmount", - "type": "string", - "description": "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated TaxAmount is not correct." - }, - "LineAmount": { - "title": "LineAmount", - "type": "string", - "description": "The line amount reflects the discounted price if a DiscountRate has been used" - }, - "DiscountRate or DiscountAmount": { - "title": "DiscountRate or DiscountAmount", - "type": "string", - "description": "Percentage discount or discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts" - }, - "Tracking": { - "title": "Tracking", - "type": "object", - "description": "Section for optional Tracking Category. Any LineItem can have a maximum of 2 TrackingCategory elements.", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Name of the tracking category" - }, - "Object": { - "title": "Object", - "type": "string", - "description": "Name of the option" - } - }, - "required": [ - "Name", - "Object" - ] - } - } - }, - "BrandingThemeID": { - "title": "Branding theme ID", - "type": "string", - "description": "Xero identifier" - }, - "CurrencyCode": { - "title": "Currency code", - "type": "string", - "description": "The currency that invoice has been raised in (see Currencies)" - }, - "CurrencyRate": { - "title": "Currency rate", - "type": "string", - "description": "The currency rate for a multicurrency invoice. (max length = 18)" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date invoice was issued - YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation" - }, - "DueDate": { - "title": "Due date", - "type": "string", - "description": "Date invoice is due - YYYY-MM-DD" - }, - "ExpectedPaymentDate": { - "title": "Expected payment date", - "type": "string", - "description": "Shown on sales invoices (Accounts Receivable) when this has been set" - }, - "InvoiceNumber": { - "title": "Invoice number", - "type": "string", - "description": "Code identifying invoice (max length = 255)" - }, - "LineAmountTypes": { - "title": "Line amount types", - "type": "string", - "description": "Line amounts are exclusive of tax by default if you don't specify this element.", - "default": "Exclusive", - "enum": [ - "Exclusive", - "Inclusive", - "No Tax" - ] - }, - "PlannedPaymentDate": { - "title": "Planned payment date", - "type": "string", - "description": "Shown on bills (Accounts Payable) when this has been set" - }, - "Reference": { - "title": "Reference", - "type": "string", - "description": "ACCREC only - additional reference number (max length = 255)" - }, - "SentToContact": { - "title": "Sent to contact", - "type": "string", - "description": "Boolean to set whether the invoice in the Xero app should be marked as \"sent\". This can be set only on invoices that have been approved" - }, - "Status": { - "title": "Status", - "type": "string", - "description": "Invoice status code.", - "default": "DRAFT", - "enum": [ - "DRAFT", - "SUBMITTED", - "AUTHORISED" - ] - }, - "Url": { - "title": "Url", - "type": "string", - "description": "URL link to a source document" - } - }, - "required": [ - "Type", - "Contact", - "LineItems" - ] - } - } - ] - } - }, - "/Invoices/{InvoiceID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve an invoice", - "description": "Use this method to retrieve one or many invoices.", - "operationId": "InvoicesGetA", - "parameters": [ - { - "name": "InvoiceID", - "in": "path", - "required": true, - "type": "string", - "description": "InvoiceID", - "x-ms-summary": "InvoiceID", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/Payments/": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get payments", - "description": "Use this method to retrieve all payments for invoices and credit notes.", - "operationId": "PaymentsGet", - "parameters": [] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a payment", - "description": "Use this method to apply payments to approved AR and AP invoices.", - "operationId": "PaymentsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "Invoice": { - "type": "object", - "properties": { - "InvoiceID": { - "title": "Invoice ID", - "type": "string", - "description": "Invoice identifier" - } - }, - "description": "Invoice" - }, - "Account": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "Account code" - } - }, - "description": "Account" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date" - }, - "Amount": { - "title": "Amount", - "type": "number", - "format": "float", - "description": "Amount" - } - } - } - } - ] - } - }, - "/Payments/{InvoiceID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "operationId": "PaymentsGetA", - "summary": "Get a payment", - "description": "Use this method to retrieve one payment for invoices and credit notes", - "parameters": [ - { - "name": "InvoiceID", - "in": "path", - "required": true, - "type": "string", - "description": "InvoiceID", - "x-ms-summary": "InvoiceID", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/PurchaseOrders": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get purchase orders", - "description": "Use this method to retrieve purchase orders.", - "operationId": "PurchaseOrdersGet", - "parameters": [] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a purchase order", - "description": "Use this method to create a purchase order", - "operationId": "PurchaseOrdersCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "PurchaseOrderNumber": { - "title": "Purchase order number", - "type": "string", - "description": "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "Date purchase order was issued - YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation" - }, - "DeliveryDate": { - "title": "Delivery date", - "type": "string", - "description": "Date the goods are to be delivered - YYYY-MM-DD" - }, - "Reference": { - "title": "Reference", - "type": "string", - "description": "Additional reference number" - }, - "Contact": { - "type": "object", - "properties": { - "ContactID": { - "title": "Contact ID", - "type": "string", - "description": "Contact identifier" - } - }, - "description": "Contact" - }, - "BrandingThemeID": { - "title": "Branding theme ID", - "type": "string", - "description": "Branding theme identifier" - }, - "Status": { - "title": "Status", - "type": "string", - "description": "Purchase order status code", - "default": "DRAFT", - "enum": [ - "DRAFT", - "SUBMITTED", - "AUTHORISED", - "BILLED", - "DELETED" - ] - }, - "LineAmountTypes": { - "title": "Line amount types", - "type": "string", - "description": "Line amount types", - "default": "Exclusive", - "enum": [ - "Exclusive", - "Inclusive", - "No Tax" - ] - }, - "LineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ItemCode": { - "title": "Item code", - "type": "string", - "description": "Item code" - }, - "Description": { - "title": "Description", - "type": "string", - "description": "The description of the line item. A line item can be created with only a description (i.e no unit amount or quantity)" - }, - "UnitAmount": { - "title": "Unit amount", - "type": "number", - "format": "float", - "description": "Lineitem unit amount. Will be rounded to four decimal places" - }, - "TaxType": { - "title": "Tax type", - "type": "string", - "description": "Used as an override if the default Tax Code for the selected AccountCode is not correct.", - "enum": [ - "CAPEXINPUT", - "CAPEXINPUT2", - "CAPEXOUTPUT", - "CAPEXOUTPUT2", - "CAPEXSRINPUT", - "CAPEXSROUTPUT", - "ECACQUISITIONS", - "ECZRINPUT", - "ECZROUTPUT", - "ECZROUTPUTSERVICES", - "EXEMPTINPUT", - "EXEMPTOUTPUT", - "GSTONIMPORTS", - "INPUT2", - "NONE", - "OUTPUT2", - "REVERSECHARGES", - "RRINPUT", - "RROUTPUT", - "SRINPUT", - "SROUTPUT", - "ZERORATEDINPUT", - "ZERORATEDOUTPUT" - ] - }, - "AccountCode": { - "title": "Ammount code", - "type": "string", - "description": "Account code" - }, - "Tracking": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Name": { - "title": "Name", - "type": "string", - "description": "Name" - }, - "Option": { - "title": "Option", - "type": "string", - "description": "Option" - } - } - }, - "description": "Tracking category" - }, - "Quantity": { - "title": "Quantity", - "type": "integer", - "format": "int32", - "description": "LineItem Quantity. If Quantity is specified then a UnitAmount must be specified" - }, - "DiscountRate": { - "title": "Discount rate", - "type": "string", - "description": "Percentage discount being applied to a line item" - } - } - }, - "description": "The Xero generated identifier for a LineItem." - }, - "CurrencyRate": { - "title": "Currency rate", - "type": "number", - "format": "float", - "description": "Currency rate" - }, - "CurrencyCode": { - "title": "Currency code", - "type": "string", - "description": "The currency that purchase order has been raised in. A 3 letter alpha code for the currency." - }, - "DeliveryAddress": { - "title": "Delivery address", - "type": "string", - "description": "The address the goods are to be delivered to." - }, - "AttentionTo": { - "title": "Attention to", - "type": "string", - "description": "The person that the delivery is going to." - }, - "Telephone": { - "title": "Telephone", - "type": "string", - "description": "The phone number for the person accepting the delivery." - }, - "DeliveryInstructions": { - "title": "Delivery instructions", - "type": "string", - "description": "A free text field for instructions (500 characters max)." - }, - "ExpectedArrivalDate": { - "title": "Expected arrival date", - "type": "string", - "description": "The date the goods are expected to arrive." - } - }, - "required": [ - "Contact", - "LineItems" - ] - } - } - ] - } - }, - "/PurchaseOrders/{PurchaseOrderID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a purchase order", - "description": "Use this method to retrieve one purchase order.", - "operationId": "PurchaseOrdersGetA", - "parameters": [ - { - "name": "PurchaseOrderID", - "in": "path", - "required": true, - "type": "string", - "description": "PurchaseOrderID", - "x-ms-summary": "Purchase order ID", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/BankTransfers": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get bank transfers", - "description": "Allows you to retrieve any bank transfers", - "operationId": "BankTransfersGet", - "parameters": [] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a bank transfer", - "description": "Use this method to create a bank transfer", - "operationId": "BankTransferCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "BankTransfers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "FromBankAccount": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." - }, - "AccountID": { - "title": "Account ID", - "type": "string", - "description": "The ID of the Bank Account. If AccountID is not included then Code is required." - } - }, - "description": "From bank account code and account ID." - }, - "ToBankAccount": { - "type": "object", - "properties": { - "Code": { - "title": "Code", - "type": "string", - "description": "The Account Code of the Bank Account. If Code is not included then AccountID is required." - }, - "AccountID": { - "title": "Account ID", - "type": "string", - "description": "The ID of the Bank Account. If AccountID is not included then Code is required." - } - }, - "description": "To bank account code and account ID." - }, - "Amount": { - "title": "Amount", - "type": "integer", - "format": "int32", - "description": "Transfer amount" - } - }, - "required": [ - "Amount" - ] - }, - "description": "BankTransfers" - }, - "Date": { - "title": "Date", - "type": "string", - "description": "transfer date" - } - }, - "required": [ - "BankTransfers" - ] - } - } - ] - } - }, - "/BankTransfers/{BankTransferID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Get a bank transfer", - "parameters": [ - { - "name": "BankTransferID", - "in": "path", - "required": true, - "type": "string", - "description": "BankTransferID", - "x-ms-summary": "BankTransferID", - "x-ms-url-encoding": "single" - } - ], - "description": "Allows you to retrieve a bank transfer", - "operationId": "BankTransferGetA" - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://login.xero.com/identity/connect/authorize", - "tokenUrl": "https://identity.xero.com/connect/token", - "scopes": { - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.xero.com/us/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://www.xero.com/us/about/legal/privacy/" - }, - { - "propertyName": "Categories", - "propertyValue": "Finance;Data" - } - ] -} diff --git a/independent-publisher-connectors/Xero Accounting/apiProperties.json b/independent-publisher-connectors/Xero Accounting/apiProperties.json deleted file mode 100644 index 13b20cd4fb..0000000000 --- a/independent-publisher-connectors/Xero Accounting/apiProperties.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "C30BD41964B949D99FDAA6E4EC3BDDDC", - "scopes": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://login.xero.com/identity/connect/authorize" - }, - "tokenUrl": { - "value": "https://identity.xero.com/connect/token" - }, - "refreshUrl": { - "value": "https://identity.xero.com/connect/token" - } - } - } - } - }, - "iconBrandColor": "#ffffff", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "Xero" - } -} diff --git a/independent-publisher-connectors/Xero Accounting/icon.png b/independent-publisher-connectors/Xero Accounting/icon.png deleted file mode 100644 index c8a348710611f3c8ca18f93f9a37d9f997b8f953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2096 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 AP5=M^ diff --git a/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png b/independent-publisher-connectors/Xero Accounting/pCXxjPBIMe.png deleted file mode 100644 index fb4c4cc221374a61101b5e26d9f93ea579a4b377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25036 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 HpV Date: Fri, 23 Jul 2021 11:30:09 -0400 Subject: [PATCH 18/25] Delete independent-publisher-connectors/Xero Payroll - UK directory --- .../Xero Payroll - UK/README.md | 70 -- .../apiDefinition.swagger.json | 751 ------------------ .../Xero Payroll - UK/apiProperties.json | 36 - .../Xero Payroll - UK/icon.png | Bin 9630 -> 0 bytes .../Xero Payroll - UK/settings.json | 9 - 5 files changed, 866 deletions(-) delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/README.md delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/icon.png delete mode 100644 independent-publisher-connectors/Xero Payroll - UK/settings.json diff --git a/independent-publisher-connectors/Xero Payroll - UK/README.md b/independent-publisher-connectors/Xero Payroll - UK/README.md deleted file mode 100644 index 8d97fac3b3..0000000000 --- a/independent-publisher-connectors/Xero Payroll - UK/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Xero Payroll - UK -The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. The Payroll API exposes payroll related functions of the payroll Xero application and can be used for a variety of purposes such as syncing employee details, importing timesheets etc. - -## Publisher: Hitachi Solutions - -## Prerequisites -To use this connector, you need the following - -- A Microsoft Power Apps or Power Automate plan with custom connector feature -- A Xero account with either the demo company or a paid subscription tenant -- A Xero developer account with a configured OAuth 2.0 application - -- UK Xero organisations (including the sample Demo company) must have concluded the [payroll set up steps](https://central.xero.com/s/topic/0TO1N0000017kmIWAQ/payroll-employees#business) before the Payroll API can be used. - -## Obtaining Credentials -After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. - -## Getting Started -Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). - -## API Documentation -[Xero Payroll API - UK](https://developer.xero.com/documentation/payroll-api-uk/overview) - -- [Employees](https://developer.xero.com/documentation/payroll-api-uk/employees) - -- [Reimbursements](https://developer.xero.com/documentation/payroll-api-uk/reimbursements) - -- [Timesheets](https://developer.xero.com/documentation/payroll-api-uk/timesheets) - -## Supported Operations -This connector supports the following operations: - -### Action: Retrieve a employee -Allows you to retrieve details of a payroll employee in a Xero organisation. -### Action: Add a employee -Allows you to add a payroll employee in a Xero organisation. -### Action: Update a employee -Allows you to update a payroll employee in a Xero organisation. -### Action: Retrieve employees -Allows you to retrieve payroll employees in a Xero organisation. -### Action: Retrieve timesheets -Allows you to retrieve payroll timesheets in a Xero organisation -### Action: Retrieve a timesheet -Allows you to retrieve a payroll timesheets in a Xero organisation -### Action: Delete a timesheet -Allows you to delete a payroll Timesheet in a Xero organisation -### Action: Approve a timesheet -Allows you to add a payroll timesheet in a Xero organisation -### Action: Add a timesheet lines to payroll timesheet -Allows you to add timesheet Lines to payroll timesheets in a Xero organisation -### Action: Delete a timesheet line -Allows you to delete a timesheet line of a payroll timesheet in a Xero organisation -### Action: Update a timesheet line -Allows you to update a timesheet line of a payroll timesheet in a Xero organisation -### Action: Retrieve reimbursements -Allows you to retrieve all reimbursements in a Xero organisation -### Action: Add a reimbursement -Allows you to add a reimbursement in a Xero organisation -### Action: Retrieve a payroll reimbursement -Allows you to retrieve details of a reimbursement in a Xero organisation - - -## Known Issues and Limitations -There are no known issues at time of publishing. - -## Frequently Asked Questions - - -## Deployment Instructions -Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json deleted file mode 100644 index f0b8fd4573..0000000000 --- a/independent-publisher-connectors/Xero Payroll - UK/apiDefinition.swagger.json +++ /dev/null @@ -1,751 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Xero Payroll - UK", - "description": "Xero Payroll - UK community connector", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.xero.com", - "basePath": "/payroll.xro/2.0/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/employees/{employeeID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve a payroll employee", - "description": "Allows you to retrieve details of a payroll employee in a Xero organisation", - "operationId": "EmployeesGetA", - "parameters": [ - { - "name": "employeeID", - "in": "path", - "required": true, - "type": "string", - "description": "Xero unique identifier for the employee", - "x-ms-summary": "employeeID", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a payroll employee", - "description": "Allows you to update a payroll employee in a Xero organisation", - "operationId": "EmployeesUpdate", - "parameters": [ - { - "name": "employeeID", - "in": "path", - "required": true, - "type": "string", - "description": "employeeID", - "x-ms-summary": "employeeID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "Title of the employee (max length = 35)", - "title": "Title" - }, - "firstName": { - "type": "string", - "description": "First name of the employee (max length = 35)", - "title": "First name" - }, - "lastName": { - "type": "string", - "description": "Last name of the employee (max length = 35)", - "title": "Last name" - }, - "dateOfBirth": { - "type": "string", - "description": "Date of birth of the employee (YYYY-MM-DD)", - "title": "Date of birth" - }, - "gender": { - "type": "string", - "description": "The employee\u2019s gender (F or M)", - "title": "Gender" - }, - "email": { - "type": "string", - "description": "email" - }, - "phoneNumber": { - "type": "string", - "description": "Phone number of the employee", - "title": "Phone number" - }, - "isOffPayrollWorker": { - "type": "boolean", - "description": "Describes whether the employee is an off-payroll worker Cannot be modified after initial creation.", - "title": "Is Off-Payroll Worker", - "enum": [ - false, - true - ], - "default": false - }, - "address": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string", - "description": "Address line 1 for employee home address", - "title": "Address line" - }, - "addressLine2": { - "type": "string", - "description": "Address line 2 for employee home address", - "title": "Address line 2" - }, - "city": { - "type": "string", - "description": "City for employee home address", - "title": "City" - }, - "county": { - "type": "string", - "description": "County for employee home address", - "title": "County" - }, - "postCode": { - "type": "string", - "description": "Post code for employee home address", - "title": "Post code" - } - }, - "description": "Address", - "required": [ - "addressLine1", - "city", - "postCode" - ] - } - }, - "required": [ - "address", - "dateOfBirth", - "gender", - "firstName", - "lastName", - "title" - ] - } - } - ] - } - }, - "/employees": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve employees", - "description": "Retrieves a list of active employees", - "operationId": "EmployeesGet", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Filter the employees by first name(firstName) and/or last name (lastName) and/or by whether they are an off-payroll worker or not (isOffPayrollWorker) e.g. firstName==john.", - "x-ms-summary": "filter", - "x-ms-url-encoding": "single" - }, - { - "name": "page", - "in": "query", - "required": false, - "type": "integer", - "description": "Page number which specifies the set of records to retrieve. By default the number of the records per set is 100. When page value is not a number or a negative number, by default, the first set of records is returned.", - "x-ms-summary": "page", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Add a payroll employee", - "description": "Allows you to add a payroll employee in a Xero organisation", - "operationId": "EmployeesCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "Title of the employee (max length = 35)", - "title": "Title" - }, - "firstName": { - "type": "string", - "description": "First name of the employee (max length = 35)", - "title": "First name" - }, - "lastName": { - "type": "string", - "description": "Last name of the employee (max length = 35)", - "title": "Last name" - }, - "dateOfBirth": { - "type": "string", - "description": "Date of birth of the employee (YYYY-MM-DD)", - "title": "Date of birth" - }, - "gender": { - "type": "string", - "description": "The employee\u2019s gender (F or M)", - "title": "Gender" - }, - "email": { - "type": "string", - "description": "email" - }, - "phoneNumber": { - "type": "string", - "description": "Phone number of the employee", - "title": "Phone number" - }, - "isOffPayrollWorker": { - "type": "boolean", - "description": "Describes whether the employee is an off-payroll worker Cannot be modified after initial creation.", - "title": "Is Off-Payroll Worker", - "enum": [ - false, - true - ], - "default": false - }, - "address": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string", - "description": "Address line 1 for employee home address", - "title": "Address line" - }, - "addressLine2": { - "type": "string", - "description": "Address line 2 for employee home address", - "title": "Address line 2" - }, - "city": { - "type": "string", - "description": "City for employee home address", - "title": "City" - }, - "county": { - "type": "string", - "description": "County for employee home address", - "title": "County" - }, - "postCode": { - "type": "string", - "description": "Post code for employee home address", - "title": "Post code" - } - }, - "description": "Address", - "required": [ - "addressLine1", - "city", - "postCode" - ] - } - }, - "required": [ - "address", - "dateOfBirth", - "gender", - "firstName", - "lastName", - "title" - ] - } - } - ] - } - }, - "/timesheets": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve payroll timesheets", - "description": "Retrieves all Payroll Timesheets in a Xero organisation", - "operationId": "TimesheetsGet", - "parameters": [] - } - }, - "/Timesheet/{timesheetID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve a timesheet", - "description": "Retrieves a Payroll Timesheet in a Xero organisation using timesheet identifier", - "operationId": "TimesheetsGetA", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "timesheetID", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a timesheet", - "description": "Use this method to delete a timesheet", - "operationId": "TimesheetDelete", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "Timesheet ID", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/timesheets/": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Add a payroll timesheet", - "description": "Use this method to add a payroll timesheet.", - "operationId": "TimesheetsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "payrollCalendarID": { - "type": "string", - "description": "The Xero identifier for the payroll calandar that the timesheet applies to.", - "title": "Payroll calendar ID" - }, - "employeeID": { - "type": "string", - "description": "The Xero identifier for the employee that the timesheet is for.", - "title": "Employee ID" - }, - "startDate": { - "type": "string", - "description": "The Start Date of the timesheet period (YYYY-MM-DD).", - "title": "Start date" - }, - "endDate": { - "type": "string", - "description": "The End Date of the timesheet period (YYYY-MM-DD).", - "title": "End date" - }, - "timesheetLines": { - "type": "array", - "items": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "The worked day (YYYY-MM-DD)", - "title": "Date" - }, - "earningsRateID": { - "type": "string", - "description": "The earnings rate identifier", - "title": "Earnings rate ID" - }, - "numberOfUnits": { - "type": "integer", - "format": "int32", - "description": "The number of units worked.", - "title": "Number of Units" - } - } - }, - "description": "timesheetLines" - } - }, - "required": [ - "employeeID", - "endDate", - "startDate", - "payrollCalendarID" - ] - } - } - ] - } - }, - "/timesheets/{timesheetID}/approve": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Approve a timesheet", - "description": "Use this method to approve a timesheet.", - "operationId": "TimesheetApprove", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "The timesheet identifier", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - } - ] - } - }, - "/timesheets/{timesheetID}/lines": { - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Add a timesheet line to payroll timesheet", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "The Xero identifier for a timesheet", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "The Date that this timesheet line is for (YYYY-MM-DD).", - "title": "Date" - }, - "earningsRateID": { - "type": "string", - "description": "The Xero identifier for the earnings rate that the timesheet is for", - "title": "Earnings rate ID" - }, - "numberOfUnits": { - "type": "integer", - "format": "int32", - "description": "The number of units of the timesheet line", - "title": "Number of units" - }, - "trackingItemID": { - "type": "string", - "description": "The Xero identifier for the tracking item that the timesheet is for.", - "title": "Tracking item ID" - } - }, - "required": [ - "date", - "earningsRateID", - "numberOfUnits" - ] - } - } - ], - "description": "Use this method to add a timesheet line to a payroll timesheet.", - "operationId": "TimesheetLineCreate" - } - }, - "/timesheets/{timesheetID}/lines/{timesheetLineID}": { - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a timesheet line", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "timesheetID", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - }, - { - "name": "timesheetLineID", - "in": "path", - "required": true, - "type": "string", - "description": "timesheetLineID", - "x-ms-summary": "timesheetLineID", - "x-ms-url-encoding": "single" - } - ], - "description": "Use this method to delete a timesheet line from a payroll timesheet.", - "operationId": "TimesheetLineDelete" - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a timesheet line", - "description": "Use this method to update a timesheet line of a payroll timesheet.", - "operationId": "TimesheetLineUpdate", - "parameters": [ - { - "name": "timesheetID", - "in": "path", - "required": true, - "type": "string", - "description": "timesheetID", - "x-ms-summary": "timesheetID", - "x-ms-url-encoding": "single" - }, - { - "name": "timesheetLineID", - "in": "path", - "required": true, - "type": "string", - "description": "timesheetLineID", - "x-ms-summary": "timesheetLineID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "The Date that this timesheet line is for (YYYY-MM-DD).", - "title": "Date" - }, - "earningsRateID": { - "type": "string", - "description": "The Xero identifier for the earnings rate that the timesheet is for", - "title": "Earnings rate ID" - }, - "numberOfUnits": { - "type": "integer", - "format": "int32", - "description": "The number of units of the timesheet line", - "title": "Number of units" - }, - "trackingItemID": { - "type": "string", - "description": "The Xero identifier for the tracking item that the timesheet is for.", - "title": "Tracking item ID" - } - }, - "required": [ - "date", - "earningsRateID", - "numberOfUnits" - ] - } - } - ] - } - }, - "/reimbursements": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve reimbursements", - "description": "Retrieve all reimbursements.", - "operationId": "ReimbursementsGet", - "parameters": [ - { - "name": "Page", - "in": "query", - "required": false, - "type": "integer", - "description": "Page number which specifies the set of records to retrieve. By default the number of the records per set is 100. When page value is not a number or a negative number, by default, the first set of records is returned.", - "x-ms-summary": "page", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Add a reimbursement", - "description": "Add a reimbursement to an account", - "operationId": "ReimbursementsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the reimbursement", - "title": "Name" - }, - "accountID": { - "type": "string", - "description": "Xero unique identifier for the account used for the reimbursement", - "title": "Account ID" - } - }, - "required": [ - "accountID", - "name" - ] - } - } - ] - } - }, - "/reimbursements/{reimbursementID}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve a payroll reimbursement", - "description": "Retrieve the details of a reimbursement.", - "operationId": "ReimbursementsGetA", - "parameters": [ - { - "name": "reimbursementID", - "in": "path", - "required": true, - "type": "string", - "description": "reimbursementID", - "x-ms-summary": "reimbursementID", - "x-ms-url-encoding": "single" - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://login.xero.com/identity/connect/authorize", - "tokenUrl": "https://identity.xero.com/connect/token", - "scopes": { - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.xero.com/us/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://www.xero.com/us/about/legal/privacy/" - }, - { - "propertyName": "Categories", - "propertyValue": "Finance;Data" - } - ] -} diff --git a/independent-publisher-connectors/Xero Payroll - UK/apiProperties.json b/independent-publisher-connectors/Xero Payroll - UK/apiProperties.json deleted file mode 100644 index d28e4d0e16..0000000000 --- a/independent-publisher-connectors/Xero Payroll - UK/apiProperties.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7B399A289E5E48AFB3426F38B5AA4C33", - "scopes": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://login.xero.com/identity/connect/authorize" - }, - "tokenUrl": { - "value": "https://identity.xero.com/connect/token" - }, - "refreshUrl": { - "value": "https://identity.xero.com/connect/token" - } - } - } - } - }, - "iconBrandColor": "#ffffff", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "Xero" - } -} diff --git a/independent-publisher-connectors/Xero Payroll - UK/icon.png b/independent-publisher-connectors/Xero Payroll - UK/icon.png deleted file mode 100644 index ed10624430ac787fce71174da8a7527d7e3678ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9630 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 UIOz+x{|%ZNS>36={UqwY0ik!4ivR!s diff --git a/independent-publisher-connectors/Xero Payroll - UK/settings.json b/independent-publisher-connectors/Xero Payroll - UK/settings.json deleted file mode 100644 index 6cf24636ac..0000000000 --- a/independent-publisher-connectors/Xero Payroll - UK/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_xero-20payroll-20-2d-20uk-5f1a2efd764356a300-5fb3182c161023f139", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file From fd67085321635106ff7581d43bd3eb247a7b3a79 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 23 Jul 2021 11:30:17 -0400 Subject: [PATCH 19/25] Delete independent-publisher-connectors/Xero Projects directory --- .../Xero Projects/README.md | 60 -- .../Xero Projects/apiDefinition.swagger.json | 582 ------------------ .../Xero Projects/apiProperties.json | 36 -- .../Xero Projects/icon.png | Bin 9630 -> 0 bytes .../Xero Projects/settings.json | 9 - 5 files changed, 687 deletions(-) delete mode 100644 independent-publisher-connectors/Xero Projects/README.md delete mode 100644 independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json delete mode 100644 independent-publisher-connectors/Xero Projects/apiProperties.json delete mode 100644 independent-publisher-connectors/Xero Projects/icon.png delete mode 100644 independent-publisher-connectors/Xero Projects/settings.json diff --git a/independent-publisher-connectors/Xero Projects/README.md b/independent-publisher-connectors/Xero Projects/README.md deleted file mode 100644 index f0f6cb2be3..0000000000 --- a/independent-publisher-connectors/Xero Projects/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Xero Projects -The Xero accounting software uses a single unified ledger, which allows users to work in the same set of books regardless of location or operating system. Its features include automatic bank feeds, invoicing, accounts payable, expense claims, fixed asset depreciation, purchase orders, bank reconciliations, and standard business and management reporting. Xero Projects allows businesses to track time and costs on projects/jobs and report on profitability. - -## Publisher: Hitachi Solutions - -## Prerequisites -To use this connector, you need the following - -- A Microsoft Power Apps or Power Automate plan with custom connector feature - -- A Xero account with either the demo company or a paid subscription tenant - -- A Xero developer account with a configured OAuth 2.0 application - - -## Obtaining Credentials -After signing in at [developer.xero.com](https://developer.xero.com/), navigate to the My Apps section and create a new app. Give it a descriptive name and choose Web App as the integration type. Enter your company URL and for the OAuth 2.0 redirect URIs field, use `https://global.consent.azure-apim.net/redirect`. Agree to the terms and conditions and create the app. Copy the client ID created and then generate and copy the client secret - these will be used when configuring the custom connector. - -## Getting Started -Follow the guide provided by Xero on [developer.xero.com](https://developer.xero.com/documentation/getting-started/getting-started-guide). - -## API Documentation -[Xero Projects API](https://developer.xero.com/documentation/projects/overview-projects) - -- [Projects](https://developer.xero.com/documentation/projects/projects) - -- [Tasks](https://developer.xero.com/documentation/projects/tasks) - -## Supported Operations -This connector supports the following operations: - -### Action: Retrieve a project -Allows you to retrieve a project. -### Action: Retrieve projects -Allows you to retrieve a list of projects. -### Action: Create a project -Allows you to create a new project. -### Action: Update a project -Allows you to update a project. -### Action: Update a project status -Allows you to update a project status. -### Action: Retrieve a task -Allows you to retrieve a task. -### Action: Retrieve tasks -Allows you to retrieve a list of tasks. -### Action: Create a task -Allows you to create a task. -### Action: Update a task -Allows you to update a task. -### Action: Delete a task -Allows you to delete a task. - -## Known Issues and Limitations -There are no known issues at time of publishing. - -## Frequently Asked Questions - - -## Deployment Instructions -Follow the instructions provided on the [Power Automate blog](https://flow.microsoft.com/en-us/blog/import-a-connector-from-github-as-a-custom-connector/). diff --git a/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json b/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json deleted file mode 100644 index e74074ce8d..0000000000 --- a/independent-publisher-connectors/Xero Projects/apiDefinition.swagger.json +++ /dev/null @@ -1,582 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Default title", - "description": "Xero projects community connector.", - "version": "1.0", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } - }, - "host": "api.xero.com", - "basePath": "/projects.xro/2.0/", - "schemes": [ - "https" - ], - "consumes": [], - "produces": [], - "paths": { - "/Projects/{projectId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve a project", - "description": "Allows you to retrieve a project.", - "operationId": "ProjectGet", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "An individual project identifier", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "states", - "in": "query", - "required": false, - "type": "string", - "default": "INPROGRESS", - "enum": [ - "INPROGRESS", - "CLOSED" - ], - "description": "Filter for projects in a particular state.", - "x-ms-summary": "states", - "x-ms-url-encoding": "single" - }, - { - "name": "page", - "in": "query", - "required": false, - "type": "integer", - "default": 1, - "description": "Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.", - "x-ms-summary": "page", - "x-ms-url-encoding": "single" - }, - { - "name": "pageSize", - "in": "query", - "required": false, - "type": "integer", - "default": 50, - "description": "It is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.", - "x-ms-summary": "pageSize", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a project", - "operationId": "ProjectsUpdate", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier.", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the project.", - "title": "Name" - }, - "deadlineUtc": { - "type": "string", - "description": "Deadline for the project. UTC Date Time in ISO-8601 format.", - "title": "Deadline UTC" - }, - "estimateAmount": { - "type": "number", - "format": "float", - "description": "Estimate for the project.", - "title": "Estimate amount" - } - }, - "required": [ - "name" - ] - } - } - ], - "description": "Update the project" - }, - "patch": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a project status", - "description": "This method updates the status of a project.", - "operationId": "ProjectsUpdateStatus", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier.", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "The project status.", - "title": "Status", - "default": "INPROGRESS", - "enum": [ - "INPROGRESS", - "CLOSED" - ] - } - }, - "required": [ - "status" - ] - } - } - ] - } - }, - "/Projects": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve projects", - "description": "Allows you to retrieve multiple projects", - "operationId": "ProjectsGetMultiple", - "parameters": [ - { - "name": "projectIds", - "in": "query", - "required": true, - "type": "string", - "description": "Search for all projects that match a comma separated list of projectIDs.", - "x-ms-summary": "projectIDs", - "x-ms-url-encoding": "single" - } - ] - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a project", - "description": "This method creates a project for the specified contact.", - "operationId": "ProjectsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "contactId": { - "type": "string", - "description": "Identifier of the contact this project was created for.", - "title": "Contact ID" - }, - "name": { - "type": "string", - "description": "Name of the project.", - "title": "Name" - }, - "deadlineUtc": { - "type": "string", - "description": "Deadline for the project. UTC Date Time in ISO-8601 format.", - "title": "Deadline UTC" - }, - "estimateAmount": { - "type": "number", - "format": "float", - "description": "Estimate for the project.", - "title": "Estimate amount" - } - }, - "required": [ - "contactId", - "name" - ] - } - } - ] - } - }, - "/projects/{projectId}/tasks/{taskId}": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve a task", - "description": "Allows you to retrieve a task.", - "operationId": "TasksGet", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "taskId", - "in": "path", - "required": true, - "type": "string", - "description": "The task identifier", - "x-ms-summary": "taskID", - "x-ms-url-encoding": "single" - } - ] - }, - "put": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Update a task", - "description": "This method updates the details of a task.", - "operationId": "TasksUpdate", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier.", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "taskId", - "in": "path", - "required": true, - "type": "string", - "description": "The task identifier.", - "x-ms-summary": "taskID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": false, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the task. Max length 100 characters.", - "title": "Name" - }, - "rate": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "description": "The currency abreviation", - "title": "Currency" - }, - "value": { - "type": "number", - "format": "float", - "description": "The rate amount", - "title": "Value" - } - }, - "description": "rate", - "required": [ - "currency", - "value" - ] - }, - "chargeType": { - "type": "string", - "description": "Defines how the task will be charged. Use `TIME` when you want to charge per hour and `FIXED` to charge as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.", - "title": "Charge type", - "default": "TIME", - "enum": [ - "TIME", - "FIXED", - "NON_CHARGEABLE" - ] - }, - "estimateMinutes": { - "type": "integer", - "format": "int32", - "description": "Estimated time to perform the task. Estimate minutes has to be greater than 0 if provided.", - "title": "Estimate minutes" - } - }, - "required": [ - "rate", - "chargeType" - ] - } - } - ] - }, - "delete": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Delete a task", - "operationId": "TasksDelete", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier.", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "taskId", - "in": "path", - "required": true, - "type": "string", - "description": "The task identifier.", - "x-ms-summary": "taskID", - "x-ms-url-encoding": "single" - } - ], - "description": "This method will delete a task. Note that if the task has a service associated or has a status `INVOICED`, it will not be removed." - } - }, - "/projects/{projectId}/tasks": { - "get": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Retrieve multiple tasks", - "operationId": "TasksGetMultiple", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier.", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "Task IDs", - "in": "query", - "required": true, - "type": "string", - "description": "Search for all tasks that match a comma separated list of taskIDs.", - "x-ms-summary": "taskID", - "x-ms-url-encoding": "single" - }, - { - "name": "Charge type", - "in": "query", - "required": false, - "type": "string", - "description": "Filters based on charge type", - "x-ms-summary": "chargeType", - "x-ms-url-encoding": "single", - "enum": [ - "TIME", - "FIXED", - "NON_CHARGEABLE" - ] - }, - { - "name": "Page", - "in": "query", - "required": false, - "type": "integer", - "default": 1, - "description": "The requested number of the page in paged response - Must be a number greater than 0.", - "x-ms-summary": "pageID", - "x-ms-url-encoding": "single" - }, - { - "name": "Page size", - "in": "query", - "required": false, - "type": "integer", - "default": 50, - "description": "The number of items to return per page in a paged response - Must be a number between 1 and 500.", - "x-ms-summary": "pageSize", - "x-ms-url-encoding": "single" - } - ], - "description": "Allows you to retrieve multiple tasks" - }, - "post": { - "responses": { - "default": { - "description": "default", - "schema": {} - } - }, - "summary": "Create a task", - "description": "This method creates a new task for a given project.", - "operationId": "TasksCreate", - "parameters": [ - { - "name": "projectId", - "in": "path", - "required": true, - "type": "string", - "description": "The project identifier", - "x-ms-summary": "projectID", - "x-ms-url-encoding": "single" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the task. Max length 100 characters.", - "title": "Name" - }, - "rate": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "description": "The currency abreviation", - "title": "Currency" - }, - "value": { - "type": "number", - "format": "float", - "description": "The rate amount", - "title": "Value" - } - }, - "description": "rate", - "required": [ - "currency", - "value" - ] - }, - "chargeType": { - "type": "string", - "description": "Defines how the task will be charged. Use `TIME` when you want to charge per hour and `FIXED` to charge as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.", - "title": "Charge type", - "default": "TIME", - "enum": [ - "TIME", - "FIXED", - "NON_CHARGEABLE" - ] - }, - "estimateMinutes": { - "type": "integer", - "format": "int32", - "description": "Estimated time to perform the task. Estimate minutes has to be greater than 0 if provided.", - "title": "Estimate minutes" - } - }, - "required": [ - "rate", - "chargeType" - ] - } - } - ] - } - } - }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": { - "oauth2_auth": { - "type": "oauth2", - "flow": "accessCode", - "authorizationUrl": "https://login.xero.com/identity/connect/authorize", - "tokenUrl": "https://identity.xero.com/connect/token", - "scopes": { - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read": "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - } - } - }, - "security": [ - { - "oauth2_auth": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ] - } - ], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://www.xero.com/us/" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://www.xero.com/us/about/legal/privacy/" - }, - { - "propertyName": "Categories", - "propertyValue": "Finance;Data" - } - ] -} diff --git a/independent-publisher-connectors/Xero Projects/apiProperties.json b/independent-publisher-connectors/Xero Projects/apiProperties.json deleted file mode 100644 index d28e4d0e16..0000000000 --- a/independent-publisher-connectors/Xero Projects/apiProperties.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "properties": { - "connectionParameters": { - "token": { - "type": "oauthSetting", - "oAuthSettings": { - "identityProvider": "oauth2", - "clientId": "7B399A289E5E48AFB3426F38B5AA4C33", - "scopes": [ - "accounting.transactions accounting.transactions.read accounting.reports.read accounting.reports.tenninetynine.read accounting.journals.read accounting.settings accounting.settings.read accounting.contacts accounting.contacts.read accounting.attachments accounting.attachments.read" - ], - "redirectMode": "Global", - "redirectUrl": "https://global.consent.azure-apim.net/redirect", - "properties": { - "IsFirstParty": "False" - }, - "customParameters": { - "authorizationUrl": { - "value": "https://login.xero.com/identity/connect/authorize" - }, - "tokenUrl": { - "value": "https://identity.xero.com/connect/token" - }, - "refreshUrl": { - "value": "https://identity.xero.com/connect/token" - } - } - } - } - }, - "iconBrandColor": "#ffffff", - "capabilities": [], - "publisher": "Hitachi Solutions", - "stackOwner": "Xero" - } -} diff --git a/independent-publisher-connectors/Xero Projects/icon.png b/independent-publisher-connectors/Xero Projects/icon.png deleted file mode 100644 index ed10624430ac787fce71174da8a7527d7e3678ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9630 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 UIOz+x{|%ZNS>36={UqwY0ik!4ivR!s diff --git a/independent-publisher-connectors/Xero Projects/settings.json b/independent-publisher-connectors/Xero Projects/settings.json deleted file mode 100644 index b20740652c..0000000000 --- a/independent-publisher-connectors/Xero Projects/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "connectorId": "shared_msft-5fxero-20projects-5f1a2efd764356a300", - "environment": "056d0bbe-2bbd-4394-b9d5-b7e7002dd83f", - "apiProperties": "apiProperties.json", - "apiDefinition": "apiDefinition.swagger.json", - "icon": "icon.png", - "powerAppsUrl": "https://api.powerapps.com", - "powerAppsApiVersion": "2016-11-01" -} \ No newline at end of file From 909a3596b3858e528b81145083ab3c4c3570e90e Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Thu, 7 Oct 2021 15:55:59 -0400 Subject: [PATCH 20/25] Include iconBrandColor #da3b01 for IP --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6320b8b185..7ef049bb69 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ More information on the each of the properties are given below: * `connectionParameters`: Defines the connection parameter for the service. -* `iconBrandColor`: The icon brand color in HTML hex code for the custom connector. +* `iconBrandColor`: The icon brand color in HTML hex code for the custom connector. Independent Publisher connectors must set the color to "#da3b01". * `capabilities`: Describes the capabilities for the connector, e.g. cloud only, on-prem gateway etc. From a5633444dbc77dd7013ec02558e4b9679d65c624 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Thu, 7 Oct 2021 15:59:07 -0400 Subject: [PATCH 21/25] Include iconBrandColor #da3b01 in best practices --- independent-publisher-connectors/readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/independent-publisher-connectors/readme.md b/independent-publisher-connectors/readme.md index b824342539..61339122e2 100644 --- a/independent-publisher-connectors/readme.md +++ b/independent-publisher-connectors/readme.md @@ -15,6 +15,7 @@ If you're considering building and publishing a connector to a Microsoft first p - You can only submit one connector per PR. This ensures that our validation process runs smoothly. - The PR for your connector should follow the pattern "Connector Name (Independent Publisher)" - Please add an email to the support email section. This is in case we need to reach out to you! +- All Independent Publisher connectors must set iconBrandColor to "#da3b01". - Please make sure to fill in the privacy policy parameter with the privacy policy for the end service. - Please make sure that your operation descriptions are detailed. This ensures that the user can understand your operation. - If your connector uses OAuth, please make sure you provide detailed steps on how to create an app in the readme.md. Otherwise, our team will have to pause certification. From 52dfc8ae9c0658d1b73aa6eda81117bd90531915 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 8 Oct 2021 08:45:03 -0400 Subject: [PATCH 22/25] Rename README.template.md to readme.md --- templates/{README.template.md => readme.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename templates/{README.template.md => readme.md} (98%) diff --git a/templates/README.template.md b/templates/readme.md similarity index 98% rename from templates/README.template.md rename to templates/readme.md index a7259dd803..c27de0a337 100644 --- a/templates/README.template.md +++ b/templates/readme.md @@ -33,4 +33,4 @@ Answer to question 1 Answer to question 2 ## Deployment Instructions -Required. Add instructions on how to deploy this connector as custom connector. \ No newline at end of file +Required. Add instructions on how to deploy this connector as custom connector. From a72822c746865d7b2f6dbe535215423ff732c36e Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 8 Oct 2021 08:48:28 -0400 Subject: [PATCH 23/25] Add templates for IP --- .../apiDefinition.swagger.json | 39 +++++++++++++++++++ .../Independent Publisher/apiProperties.json | 9 +++++ 2 files changed, 48 insertions(+) create mode 100644 templates/Independent Publisher/apiDefinition.swagger.json create mode 100644 templates/Independent Publisher/apiProperties.json diff --git a/templates/Independent Publisher/apiDefinition.swagger.json b/templates/Independent Publisher/apiDefinition.swagger.json new file mode 100644 index 0000000000..d6f3146a4f --- /dev/null +++ b/templates/Independent Publisher/apiDefinition.swagger.json @@ -0,0 +1,39 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0", + "title": "Name of connector. Title cannot include words 'API', 'Connector', or a Power Platform product name.", + "description": "Short description of the connecting service, between 30 and 500 characters.", + "contact": { + "name": "Full name", + "url": "Contact URL", + "email": "Contact email address" + } + }, + "host": "The hostname of the API, e.g. github.com", + "basePath": "/", + "schemes": [], + "consumes": [], + "produces": [], + "paths": {}, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": {}, + "security": [], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "" + }, + { + "propertyName": "Categories", + "propertyValue": "" + } + ] +} \ No newline at end of file diff --git a/templates/Independent Publisher/apiProperties.json b/templates/Independent Publisher/apiProperties.json new file mode 100644 index 0000000000..03abfd8274 --- /dev/null +++ b/templates/Independent Publisher/apiProperties.json @@ -0,0 +1,9 @@ +{ + "properties": { + "connectionParameters": {}, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Full name or name of company or organization.", + "stackOwner": "Name of company or organization that connector is connecting to." + } +} \ No newline at end of file From bbea0cf836b0eed388f140207ebca53dbbc07bf9 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Thu, 14 Oct 2021 13:12:28 -0400 Subject: [PATCH 24/25] Fix typo --- templates/readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/readme.md b/templates/readme.md index c27de0a337..16e1a7b52a 100644 --- a/templates/readme.md +++ b/templates/readme.md @@ -5,7 +5,7 @@ Required. One paragraph, two to three sentences about the service and the connec Required for Independent-Publisher-Connector and should be a first and last name of an individual or it can be a company name. ​If there is more than one publisher, please separate the names with a comma.​ ## Prerequisites -Required. Any plans or licenses, tools requried from the connector.​ +Required. Any plans or licenses, tools required from the connector.​ ## Supported Operations Required. Describe actions, triggers, and other endpoints.​ @@ -15,7 +15,6 @@ Description of operation 1. ### Operation 2 Description of operation 2. - ## Obtaining Credentials Required. Explain the authentication method and how to get the credentials.​ From 815c3e048f829120f31728d4171d3d62c77386c1 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 15 Oct 2021 17:14:21 -0400 Subject: [PATCH 25/25] Add files via upload --- .../Unix Timestamp/apiDefinition.swagger.json | 149 ++++++++++++++++++ .../Unix Timestamp/apiProperties.json | 9 ++ .../Unix Timestamp/readme.md | 23 +++ 3 files changed, 181 insertions(+) create mode 100644 independent-publisher-connectors/Unix Timestamp/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Unix Timestamp/apiProperties.json create mode 100644 independent-publisher-connectors/Unix Timestamp/readme.md diff --git a/independent-publisher-connectors/Unix Timestamp/apiDefinition.swagger.json b/independent-publisher-connectors/Unix Timestamp/apiDefinition.swagger.json new file mode 100644 index 0000000000..0d384b0dd0 --- /dev/null +++ b/independent-publisher-connectors/Unix Timestamp/apiDefinition.swagger.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "title": "Unix Timestamp", + "description": "Converts Unix timestamps to DateTime objects and DateTime objects to Unix timestamps.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "showcase.api.linx.twenty57.net", + "basePath": "/UnixTime/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/fromunixtimestamp": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "Datetime": { + "type": "string", + "description": "The datetime.", + "title": "DateTime" + } + } + } + } + }, + "summary": "Unix Timestamp to UTC DateTime", + "description": "Converts Unix timestamp to UTC datetime (yyyy-MM-dd HH:mm:ss).", + "operationId": "Unix2UTCDateTime", + "parameters": [ + { + "name": "unixtimestamp", + "in": "query", + "required": false, + "type": "integer", + "description": "The Unix timestamp.", + "x-ms-summary": "Unix Timestamp" + } + ] + }, + "post": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "Datetime": { + "type": "string", + "description": "The datetime.", + "title": "Datetime" + } + } + } + } + }, + "summary": "Unix Timestamp to DateTime with Timezone", + "description": "Converts Unix timestamp to datetime with timezone (yyyy-MM-dd'T'HH:mm:ssXXX).", + "operationId": "Unix2DateTimeTimezone", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "UnixTimeStamp": { + "type": "string", + "description":"The Unix timestamp.", + "title": "UnixTimeStamp" + }, + "Timezone": { + "type": "string", + "description": "The timezone.", + "title": "Timezone" + } + } + } + } + ] + } + }, + "/tounixtimestamp": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "UnixTimeStamp": { + "type": "string", + "description": "The Unix timestamp.", + "title": "UnixTimeStamp" + } + } + } + } + }, + "summary": "DateTime to Unix Timestamp", + "description": "Converts datetime (multiple formats) to Unix timestamp.", + "operationId": "DateTime2UnixTimestamp", + "parameters": [ + { + "name": "datetime", + "in": "query", + "required": false, + "type": "string", + "default": "now", + "description": "The datetime.", + "x-ms-summary": "DateTime" + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": {}, + "security": [], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://unixtime.co.za/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://unixtime.co.za/" + }, + { + "propertyName": "Categories", + "propertyValue": "Data" + } + ] +} \ No newline at end of file diff --git a/independent-publisher-connectors/Unix Timestamp/apiProperties.json b/independent-publisher-connectors/Unix Timestamp/apiProperties.json new file mode 100644 index 0000000000..0b52c7816e --- /dev/null +++ b/independent-publisher-connectors/Unix Timestamp/apiProperties.json @@ -0,0 +1,9 @@ +{ + "properties": { + "connectionParameters": {}, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Troy Taylor, Hitachi Solutions", + "stackOwner": "Franz Rodenacker" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Unix Timestamp/readme.md b/independent-publisher-connectors/Unix Timestamp/readme.md new file mode 100644 index 0000000000..9fba483572 --- /dev/null +++ b/independent-publisher-connectors/Unix Timestamp/readme.md @@ -0,0 +1,23 @@ +# Unix Timestamp +Converts Unix timestamps to DateTime objects and DateTime objects to Unix timestamps. + +## Publisher: Troy Taylor, Hitachi Solutions + +## Prerequisites +There is no prerequisite for this service. + +## Obtaining Credentials +There are no credentials needed for this service. + + +## Supported Operations + +### DateTime to Unix Timestamp +Converts datetime (multiple formats) to Unix timestamp. +### Unix Timestamp to UTC DateTime +Converts Unix timestamp to UTC datetime (yyyy-MM-dd HH:mm:ss). +### Unix Timestamp to DateTime with Timezone +Converts Unix timestamp to datetime with timezone (yyyy-MM-dd'T'HH:mm:ssXXX). + +## Known Issues and Limitations +There are no known issues at this time.