{ "openapi" : "3.0.1", "info" : { "title" : "CRM Projects", "description" : "CRM objects such as companies, contacts, deals, line items, products, tickets, and quotes are standard objects in HubSpot’s CRM. These core building blocks support custom properties, store critical information, and play a central role in the HubSpot application.\n\n## Supported Object Types\n\nThis API provides access to collections of CRM objects, which return a map of property names to values. Each object type has its own set of default properties, which can be found by exploring the [CRM Object Properties API](https://developers.hubspot.com/docs/methods/crm-properties/crm-properties-overview).\n\n|Object Type |Properties returned by default |\n|--|--|\n| `companies` | `name`, `domain` |\n| `contacts` | `firstname`, `lastname`, `email` |\n| `deals` | `dealname`, `amount`, `closedate`, `pipeline`, `dealstage` |\n| `products` | `name`, `description`, `price` |\n| `tickets` | `content`, `hs_pipeline`, `hs_pipeline_stage`, `hs_ticket_category`, `hs_ticket_priority`, `subject` |\n\nFind a list of all properties for an object type using the [CRM Object Properties](https://developers.hubspot.com/docs/methods/crm-properties/get-properties) API. e.g. `GET https://api.hubapi.com/properties/v2/companies/properties`. Change the properties returned in the response using the `properties` array in the request body.", "version" : "v3", "x-hubspot-product-tier-requirements" : { "marketing" : "FREE", "sales" : "FREE", "service" : "FREE", "cms" : "FREE", "commerce" : "FREE", "crmHub" : "FREE", "dataHub" : "FREE" } }, "servers" : [ { "url" : "https://api.hubapi.com" } ], "tags" : [ { "name" : "Advanced" }, { "name" : "Basic" }, { "name" : "Batch" }, { "name" : "Search" } ], "paths" : { "/crm/objects/v3/projects" : { "get" : { "tags" : [ "Basic" ], "summary" : "List", "description" : "Read a page of projects. Control what is returned via the `properties` query param.", "operationId" : "get-/crm/objects/v3/projects", "parameters" : [ { "name" : "after", "in" : "query", "description" : "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string", "example" : null } }, { "name" : "archived", "in" : "query", "description" : "Whether to return only results that have been archived.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "boolean", "example" : null, "default" : false } }, { "name" : "associations", "in" : "query", "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.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } }, { "name" : "limit", "in" : "query", "description" : "The maximum number of results to display per page.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "example" : null, "default" : 10 } }, { "name" : "properties", "in" : "query", "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.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } }, { "name" : "propertiesWithHistory", "in" : "query", "description" : "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CollectionResponseSimplePublicObjectWithAssociationsForwardPaging" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.read" ] } ] }, "post" : { "tags" : [ "Basic" ], "summary" : "Create", "description" : "Create a project with the given properties and return a copy of the object, including the ID.", "operationId" : "post-/crm/objects/v3/projects", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObjectInputForCreate" }, "example" : null } }, "required" : true }, "responses" : { "201" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObject" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/batch/archive" : { "post" : { "tags" : [ "Batch" ], "summary" : "Archive a batch of projects", "description" : "Archive multiple projects using their IDs.", "operationId" : "post-/crm/objects/v3/projects/batch/archive", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputSimplePublicObjectId" }, "example" : null } }, "required" : true }, "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/batch/create" : { "post" : { "tags" : [ "Batch" ], "summary" : "Create a batch of projects", "description" : "Create multiple projects in a single request.", "operationId" : "post-/crm/objects/v3/projects/batch/create", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputSimplePublicObjectBatchInputForCreate" }, "example" : null } }, "required" : true }, "responses" : { "201" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObject" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObjectWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/batch/read" : { "post" : { "tags" : [ "Batch" ], "summary" : "Read a batch of projects", "description" : "Retrieve records by record ID or include the idProperty parameter to retrieve records by a custom unique value property.", "operationId" : "post-/crm/objects/v3/projects/batch/read", "parameters" : [ { "name" : "archived", "in" : "query", "description" : "Whether to return only results that have been archived.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "boolean", "example" : null, "default" : false } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchReadInputSimplePublicObjectId" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObject" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObjectWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.read" ] } ] } }, "/crm/objects/v3/projects/batch/update" : { "post" : { "tags" : [ "Batch" ], "summary" : "Update a batch of projects", "description" : "Update multiple projects using their internal IDs or unique property values.", "operationId" : "post-/crm/objects/v3/projects/batch/update", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputSimplePublicObjectBatchInput" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObject" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicObjectWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/batch/upsert" : { "post" : { "tags" : [ "Batch" ], "summary" : "Create or update a batch of projects", "description" : "Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object.", "operationId" : "post-/crm/objects/v3/projects/batch/upsert", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchInputSimplePublicObjectBatchInputUpsert" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicUpsertObject" }, "example" : null } } }, "207" : { "description" : "multiple statuses", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchResponseSimplePublicUpsertObjectWithErrors" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/merge" : { "post" : { "tags" : [ "Advanced" ], "summary" : "Merge two projects", "description" : "Merge two project records. Learn more about [merging records](https://knowledge.hubspot.com/records/merge-records).", "operationId" : "post-/crm/objects/v3/projects/merge", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PublicMergeInput" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObject" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } }, "/crm/objects/v3/projects/search" : { "post" : { "tags" : [ "Search" ], "summary" : "Search for projects", "description" : "Search for projects by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request).", "operationId" : "post-/crm/objects/v3/projects/search", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PublicObjectSearchRequest" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CollectionResponseWithTotalSimplePublicObject" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.read" ] } ], "x-hubspot-rate-limit-exemptions" : [ "ten-secondly" ] } }, "/crm/objects/v3/projects/{projectId}" : { "get" : { "tags" : [ "Basic" ], "summary" : "Read", "description" : "Read an Object identified by `{projectId}`. `{projectId}` 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" : "get-/crm/objects/v3/projects/{projectId}", "parameters" : [ { "name" : "projectId", "in" : "path", "required" : true, "schema" : { "pattern" : ".+", "type" : "string", "example" : null } }, { "name" : "archived", "in" : "query", "description" : "Whether to return only results that have been archived.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "boolean", "example" : null, "default" : false } }, { "name" : "associations", "in" : "query", "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.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } }, { "name" : "idProperty", "in" : "query", "description" : "The name of a property whose values are unique for this object type", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string", "example" : null } }, { "name" : "properties", "in" : "query", "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.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } }, { "name" : "propertiesWithHistory", "in" : "query", "description" : "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObjectWithAssociations" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.read" ] } ] }, "delete" : { "tags" : [ "Basic" ], "summary" : "Archive", "description" : "Move an Object identified by `{projectId}` to the recycling bin.", "operationId" : "delete-/crm/objects/v3/projects/{projectId}", "parameters" : [ { "name" : "projectId", "in" : "path", "required" : true, "schema" : { "pattern" : ".+", "type" : "string", "example" : null } } ], "responses" : { "204" : { "description" : "No content", "content" : { } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] }, "patch" : { "tags" : [ "Basic" ], "summary" : "Update", "description" : "Perform a partial update of an Object identified by `{projectId}`or optionally a unique property value as specified by the `idProperty` query param. `{projectId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object. Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string.", "operationId" : "patch-/crm/objects/v3/projects/{projectId}", "parameters" : [ { "name" : "projectId", "in" : "path", "required" : true, "schema" : { "pattern" : ".+", "type" : "string", "example" : null } }, { "name" : "idProperty", "in" : "query", "description" : "The name of a property whose values are unique for this object type", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string", "example" : null } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObjectInput" }, "example" : null } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SimplePublicObject" }, "example" : null } } }, "default" : { "description" : "", "$ref" : "#/components/responses/Error" } }, "security" : [ { "oauth2" : [ "crm.objects.projects.write" ] } ] } } }, "components" : { "schemas" : { "AssociatedId" : { "required" : [ "id", "type" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The ID for the association type.", "example" : null }, "type" : { "type" : "string", "description" : "The type of associations.", "example" : "deal_to_contact" } }, "description" : "Contains the id and type of an association", "example" : null }, "AssociationSpec" : { "required" : [ "associationCategory", "associationTypeId" ], "type" : "object", "properties" : { "associationCategory" : { "type" : "string", "description" : "The category of the association, such as \"HUBSPOT_DEFINED\".", "example" : null, "enum" : [ "HUBSPOT_DEFINED", "INTEGRATOR_DEFINED", "USER_DEFINED", "WORK" ] }, "associationTypeId" : { "type" : "integer", "description" : "The ID representing the specific type of association.", "format" : "int32", "example" : null } }, "description" : "Defines the type, direction, and details of the relationship between two CRM objects.", "example" : null }, "BatchInputSimplePublicObjectBatchInput" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectBatchInput" } } }, "example" : null }, "BatchInputSimplePublicObjectBatchInputForCreate" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectBatchInputForCreate" } } }, "example" : null }, "BatchInputSimplePublicObjectBatchInputUpsert" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectBatchInputUpsert" } } }, "example" : null }, "BatchInputSimplePublicObjectId" : { "required" : [ "inputs" ], "type" : "object", "properties" : { "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectId" } } }, "example" : null }, "BatchReadInputSimplePublicObjectId" : { "required" : [ "inputs", "properties", "propertiesWithHistory" ], "type" : "object", "properties" : { "idProperty" : { "type" : "string", "example" : null }, "inputs" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectId" } }, "properties" : { "type" : "array", "description" : "Key-value pairs for setting properties for the new object.", "example" : null, "items" : { "type" : "string", "example" : null } }, "propertiesWithHistory" : { "type" : "array", "description" : "Key-value pairs for setting properties for the new object and their histories.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "description" : "Specifies the input for reading a batch of CRM objects, including arrays of object IDs, requested property names (with optional history), and an optional unique identifying property.", "example" : null }, "BatchResponseSimplePublicObject" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The timestamp when the batch processing was completed, in ISO 8601 format.", "format" : "date-time", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object containing relevant links related to the batch request.", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The timestamp when the batch request was initially made, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObject" } }, "startedAt" : { "type" : "string", "description" : "The timestamp when the batch processing began, in ISO 8601 format.", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The status of the batch processing request: \"PENDING\", \"PROCESSING\", \"CANCELLED\", or \"COMPLETE\"", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "description" : "A public object batch response object", "example" : null }, "BatchResponseSimplePublicObjectWithErrors" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The timestamp when the batch process was completed, in ISO 8601 format.", "format" : "date-time", "example" : null }, "errors" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/StandardError" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object containing relevant links related to the batch request.", "example" : null }, "numErrors" : { "type" : "integer", "description" : "The number of errors encountered during the batch process.", "format" : "int32", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The timestamp when the batch process was initiated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObject" } }, "startedAt" : { "type" : "string", "description" : "The timestamp when the batch process began execution, in ISO 8601 format.", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The status of the batch processing request - \"PENDING\", \"PROCESSING\", \"CANCELLED\", or \"COMPLETE\"", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "description" : "Represents the result of a batch operation on CRM objects, including the processing status, batch results, timestamps, and a list of any errors encountered during the operation.", "example" : null }, "BatchResponseSimplePublicUpsertObject" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The timestamp when the batch process was completed, in ISO 8601 format.", "format" : "date-time", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object containing relevant links related to the batch request.", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The timestamp when the batch process was initiated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicUpsertObject" } }, "startedAt" : { "type" : "string", "description" : "The timestamp when the batch process began execution, in ISO 8601 format.", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The status of the batch processing request. Can be: \"PENDING\", \"PROCESSING\", \"CANCELED\", or \"COMPLETE\".", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "description" : "Represents the result of a batch upsert operation, including the operation’s status, timestamps, and a list of successfully created or updated objects.", "example" : null }, "BatchResponseSimplePublicUpsertObjectWithErrors" : { "required" : [ "completedAt", "results", "startedAt", "status" ], "type" : "object", "properties" : { "completedAt" : { "type" : "string", "description" : "The timestamp when the batch process was completed, in ISO 8601 format.", "format" : "date-time", "example" : null }, "errors" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/StandardError" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "An object containing relevant links related to the batch request.", "example" : null }, "numErrors" : { "type" : "integer", "description" : "The number of errors encountered during the batch process.", "format" : "int32", "example" : null }, "requestedAt" : { "type" : "string", "description" : "The timestamp when the batch process was initiated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicUpsertObject" } }, "startedAt" : { "type" : "string", "description" : "The timestamp when the batch process began execution, in ISO 8601 format.", "format" : "date-time", "example" : null }, "status" : { "type" : "string", "description" : "The status of the batch processing request. Can be: \"PENDING\", \"PROCESSING\", \"CANCELLED\", or \"COMPLETE\".", "example" : null, "enum" : [ "CANCELED", "COMPLETE", "PENDING", "PROCESSING" ] } }, "description" : "Represents the response from a batch upsert operation, including the status, timestamps, successfully processed objects, and any errors that occurred during processing.", "example" : null }, "CollectionResponseAssociatedId" : { "required" : [ "results" ], "type" : "object", "properties" : { "paging" : { "$ref" : "#/components/schemas/Paging" }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/AssociatedId" } } }, "example" : null }, "CollectionResponseSimplePublicObjectWithAssociationsForwardPaging" : { "required" : [ "results" ], "type" : "object", "properties" : { "paging" : { "$ref" : "#/components/schemas/ForwardPaging" }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObjectWithAssociations" } } }, "example" : null }, "CollectionResponseWithTotalSimplePublicObject" : { "required" : [ "results", "total" ], "type" : "object", "properties" : { "paging" : { "$ref" : "#/components/schemas/Paging" }, "results" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/SimplePublicObject" } }, "total" : { "type" : "integer", "description" : "The number of available results", "format" : "int32", "example" : null } }, "description" : "Represents a list of simple objects returned from an API request, along with the total count of objects available.", "example" : null }, "Error" : { "required" : [ "category", "correlationId", "message" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "The error category", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "description" : "Context about the error condition", "example" : "{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}" }, "correlationId" : { "type" : "string", "description" : "A unique identifier for the request. Include this value with any error reports or support tickets", "format" : "uuid", "example" : "aeb5f871-7f07-4993-9211-075dc63e7cbf" }, "errors" : { "type" : "array", "description" : "further information about the error", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A map of link names to associated URIs containing documentation about the error or recommended remediation steps", "example" : null }, "message" : { "type" : "string", "description" : "A human readable message describing the error along with remediation steps where appropriate", "example" : "An error occurred" }, "subCategory" : { "type" : "string", "description" : "A specific category that contains more specific detail about the error", "example" : null } }, "example" : { "message" : "Invalid input (details will vary based on the error)", "correlationId" : "aeb5f871-7f07-4993-9211-075dc63e7cbf", "category" : "VALIDATION_ERROR", "links" : { "knowledge-base" : "https://www.hubspot.com/products/service/knowledge-base" } } }, "ErrorDetail" : { "required" : [ "message" ], "type" : "object", "properties" : { "code" : { "type" : "string", "description" : "The status code associated with the error detail", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "description" : "Context about the error condition", "example" : "{missingScopes=[scope1, scope2]}" }, "in" : { "type" : "string", "description" : "The name of the field or parameter in which the error was found.", "example" : null }, "message" : { "type" : "string", "description" : "A human readable message describing the error along with remediation steps where appropriate", "example" : null }, "subCategory" : { "type" : "string", "description" : "A specific category that contains more specific detail about the error", "example" : null } }, "example" : null }, "Filter" : { "required" : [ "operator", "propertyName" ], "type" : "object", "properties" : { "highValue" : { "type" : "string", "description" : "The upper boundary value when using ranged-based filters.", "example" : null }, "operator" : { "type" : "string", "description" : "The comparison operator used in the filter, such as \"EQ\" or \"GT\".", "example" : null, "enum" : [ "BETWEEN", "CONTAINS_TOKEN", "EQ", "GT", "GTE", "HAS_PROPERTY", "IN", "LT", "LTE", "NEQ", "NOT_CONTAINS_TOKEN", "NOT_HAS_PROPERTY", "NOT_IN" ] }, "propertyName" : { "type" : "string", "description" : "The name of the property to apply the filter to.", "example" : null }, "value" : { "type" : "string", "description" : "The value to match against the property.", "example" : null }, "values" : { "type" : "array", "description" : "The values to match against the property.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "description" : "Defines a single condition for searching CRM objects, specifying the property to filter on, the operator to use (such as equals, greater than, or contains), and the value(s) to compare against. ", "example" : null }, "FilterGroup" : { "required" : [ "filters" ], "type" : "object", "properties" : { "filters" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/Filter" } } }, "example" : null }, "ForwardPaging" : { "type" : "object", "properties" : { "next" : { "$ref" : "#/components/schemas/NextPage" } }, "example" : null }, "NextPage" : { "required" : [ "after" ], "type" : "object", "properties" : { "after" : { "type" : "string", "description" : "A paging cursor token for retrieving subsequent pages.", "example" : null }, "link" : { "type" : "string", "description" : "A URL that can be used to retrieve the next page results.", "example" : null } }, "description" : "Specifies the paging information needed to retrieve the next set of results in a paginated API response", "example" : { "after" : "NTI1Cg%3D%3D", "link" : "?after=NTI1Cg%3D%3D" } }, "Paging" : { "type" : "object", "properties" : { "next" : { "$ref" : "#/components/schemas/NextPage" }, "prev" : { "$ref" : "#/components/schemas/PreviousPage" } }, "example" : null }, "PreviousPage" : { "required" : [ "before" ], "type" : "object", "properties" : { "before" : { "type" : "string", "description" : "A paging cursor token for retrieving previous pages.", "example" : null }, "link" : { "type" : "string", "description" : "A URL that can be used to retrieve the previous pages' results.", "example" : null } }, "description" : "specifies the paging information needed to retrieve the previous set of results in a paginated API response", "example" : null }, "PublicAssociationsForObject" : { "required" : [ "to", "types" ], "type" : "object", "properties" : { "to" : { "$ref" : "#/components/schemas/PublicObjectId" }, "types" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/AssociationSpec" } } }, "example" : null }, "PublicMergeInput" : { "required" : [ "objectIdToMerge", "primaryObjectId" ], "type" : "object", "properties" : { "objectIdToMerge" : { "type" : "string", "description" : "The ID of the object that will be merged into the primary object.", "example" : null }, "primaryObjectId" : { "type" : "string", "description" : "The ID of the primary object into which another object will be merged.", "example" : null } }, "description" : "Input data for merging two records.", "example" : null }, "PublicObjectId" : { "required" : [ "id" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null } }, "description" : "Contains the Id of a Public Object", "example" : null }, "PublicObjectSearchRequest" : { "required" : [ "after", "filterGroups", "limit", "properties", "sorts" ], "type" : "object", "properties" : { "after" : { "type" : "string", "description" : "A paging cursor token for retrieving subsequent pages.", "example" : null }, "filterGroups" : { "type" : "array", "description" : "Up to 6 groups of filters defining additional query criteria.", "example" : null, "items" : { "$ref" : "#/components/schemas/FilterGroup" } }, "limit" : { "type" : "integer", "description" : "The maximum results to return, up to 200 objects.", "format" : "int32", "example" : null }, "properties" : { "type" : "array", "description" : "A list of property names to include in the response.", "example" : null, "items" : { "type" : "string", "example" : null } }, "query" : { "type" : "string", "description" : "The search query string, up to 3000 characters.", "example" : null }, "sorts" : { "type" : "array", "description" : "Specifies sorting order based on object properties.", "example" : null, "items" : { "type" : "string", "example" : null } } }, "description" : "Describes a search request", "example" : null }, "PublicObjectWarning" : { "required" : [ "category", "context", "message" ], "type" : "object", "properties" : { "category" : { "type" : "string", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "example" : null }, "message" : { "type" : "string", "example" : null } }, "example" : null }, "SimplePublicObject" : { "required" : [ "archived", "createdAt", "id", "properties", "updatedAt" ], "type" : "object", "properties" : { "archived" : { "type" : "boolean", "description" : "Whether the object is archived.", "example" : null }, "archivedAt" : { "type" : "string", "description" : "The timestamp when the object was archived, in ISO 8601 format.", "format" : "date-time", "example" : null }, "createdAt" : { "type" : "string", "description" : "The timestamp when the object was created, in ISO 8601 format.", "format" : "date-time", "example" : null }, "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null }, "objectWriteTraceId" : { "type" : "string", "description" : "An identifier used for tracing the write request for the object.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key-value pairs representing the properties of the object.", "example" : null }, "propertiesWithHistory" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/ValueWithTimestamp" } }, "description" : "Key-value pairs representing the properties of the object along with their history.", "example" : null }, "updatedAt" : { "type" : "string", "description" : "The timestamp when the object was last updated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "url" : { "type" : "string", "description" : "The URL associated with the object.", "example" : null }, "warnings" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/PublicObjectWarning" } } }, "description" : "A simple public object.", "example" : { "archived" : false, "createdAt" : "2019-10-30T03:30:17.883Z", "id" : "512", "properties" : { "property_checkbox" : "false", "property_date" : "1572480000000", "property_dropdown" : "choice_b", "property_multiple_checkboxes" : "chocolate;strawberry", "property_number" : "17", "property_radio" : "option_1", "property_string" : "value" }, "updatedAt" : "2019-12-07T16:50:06.678Z" } }, "SimplePublicObjectBatchInput" : { "required" : [ "id", "properties" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null }, "idProperty" : { "type" : "string", "description" : "The name of a unique identifier property, which can be used for identifying objects instead of the object ID.", "example" : "my_unique_property_name" }, "objectWriteTraceId" : { "type" : "string", "description" : "A unique identifier for tracing the request.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key-value pairs representing the properties of the object.", "example" : null } }, "description" : "Contains an array of CRM object records to be processed in a batch operation, each defined by their ID and properties.", "example" : null }, "SimplePublicObjectBatchInputForCreate" : { "required" : [ "associations", "properties" ], "type" : "object", "properties" : { "associations" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/PublicAssociationsForObject" } }, "objectWriteTraceId" : { "type" : "string", "description" : "An identifier used for tracing the creation or update request of the object.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key value pairs representing the properties of the object.", "example" : null } }, "description" : "An input object that contains a collection of objects to be created together in a batch.", "example" : null }, "SimplePublicObjectBatchInputUpsert" : { "required" : [ "id", "properties" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null }, "idProperty" : { "type" : "string", "description" : "The name of a unique identifier property, which can be used for identifying objects instead of the object ID.", "example" : null }, "objectWriteTraceId" : { "type" : "string", "description" : "An identifier for tracing the creation request.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key value pairs representing the properties of the object.", "example" : null } }, "description" : "Represents an object used in batch upsert operations, containing an object’s unique identifier, its properties, and optionally the unique property name and a write trace ID.", "example" : null }, "SimplePublicObjectId" : { "required" : [ "id" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : "430001" } }, "description" : "Contains the Id of a Public Object", "example" : null }, "SimplePublicObjectInput" : { "required" : [ "properties" ], "type" : "object", "properties" : { "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key value pairs representing the properties of the object.", "example" : null } }, "description" : "Represents the input required to create or update a CRM object, containing an object with property names and their corresponding values.", "example" : { "properties" : { "property_checkbox" : "false", "property_date" : "1572480000000", "property_dropdown" : "choice_b", "property_multiple_checkboxes" : "chocolate;strawberry", "property_number" : "17", "property_radio" : "option_1", "property_string" : "value" } } }, "SimplePublicObjectInputForCreate" : { "required" : [ "associations", "properties" ], "type" : "object", "properties" : { "associations" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/PublicAssociationsForObject" } }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key-value pairs for setting properties for the new object.", "example" : null } }, "description" : "Is the input object used to create a new CRM object, containing the properties to be set and optional associations to link the new record with other CRM objects.", "example" : null }, "SimplePublicObjectWithAssociations" : { "required" : [ "archived", "createdAt", "id", "properties", "updatedAt" ], "type" : "object", "properties" : { "archived" : { "type" : "boolean", "description" : "Whether the object is archived.", "example" : null }, "archivedAt" : { "type" : "string", "description" : "The timestamp when the object was archived, in ISO 8601 format.", "format" : "date-time", "example" : null }, "associations" : { "type" : "object", "additionalProperties" : { "$ref" : "#/components/schemas/CollectionResponseAssociatedId" }, "description" : "A list defining relationships with other objects.", "example" : null }, "createdAt" : { "type" : "string", "description" : "The timestamp when the object was created, in ISO 8601 format.", "format" : "date-time", "example" : null }, "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null }, "objectWriteTraceId" : { "type" : "string", "description" : "An identifier used for tracing the creation or update request of the object.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key value pairs representing the properties of the object.", "example" : null }, "propertiesWithHistory" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/ValueWithTimestamp" } }, "description" : "Key-value pairs representing the properties of the object along with their history.", "example" : null }, "updatedAt" : { "type" : "string", "description" : "The timestamp when the object was last updated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "url" : { "type" : "string", "description" : "The URL on the API that provide direct navigation to the corresponding UI pages for the connectors.", "example" : null }, "warnings" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/PublicObjectWarning" } } }, "description" : "Represents a CRM object along with its properties, timestamps, and a set of associated object IDs grouped by association type.", "example" : null }, "SimplePublicUpsertObject" : { "required" : [ "archived", "createdAt", "id", "new", "properties", "updatedAt" ], "type" : "object", "properties" : { "archived" : { "type" : "boolean", "description" : "Whether the object is archived.", "example" : null }, "archivedAt" : { "type" : "string", "description" : "The timestamp when the object was archived, in ISO 8601 format.", "format" : "date-time", "example" : null }, "createdAt" : { "type" : "string", "description" : "The timestamp when the object was created, in ISO 8601 format.", "format" : "date-time", "example" : null }, "id" : { "type" : "string", "description" : "The unique ID of the object.", "example" : null }, "new" : { "type" : "boolean", "description" : "Whether the property is new.", "example" : null }, "objectWriteTraceId" : { "type" : "string", "description" : "An identifier used for tracing the write request for the object.", "example" : null }, "properties" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "Key value pairs representing the properties of the object.", "example" : null }, "propertiesWithHistory" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/ValueWithTimestamp" } }, "description" : "Key-value pairs representing the properties of the object along with their history.", "example" : null }, "updatedAt" : { "type" : "string", "description" : "The timestamp when the object was last updated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "url" : { "type" : "string", "description" : "The URL associated with the object.", "example" : null }, "warnings" : { "type" : "array", "example" : null, "items" : { "$ref" : "#/components/schemas/PublicObjectWarning" } } }, "description" : "Represents a CRM object that has either been created or updated (upserted)", "example" : null }, "StandardError" : { "required" : [ "category", "context", "errors", "links", "message", "status" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "The main category of the error.", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "description" : "Additional context-specific information related to the error.", "example" : null }, "errors" : { "type" : "array", "description" : "The detailed error objects.", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "id" : { "type" : "string", "description" : "A unique ID for the error instance.", "example" : null }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "URLs linking to documentation or resources associated with the error.", "example" : null }, "message" : { "type" : "string", "description" : "A human-readable string describing the error and possible remediation steps.", "example" : null }, "status" : { "type" : "string", "description" : "The HTTP status code associated with the error.", "example" : null }, "subCategory" : { "type" : "object", "properties" : { }, "description" : "A more specific error category within each main category.", "example" : null } }, "description" : "Represents a standard error response in the HubSpot API, providing detailed information about an error that occurred during an API request.", "example" : null }, "ValueWithTimestamp" : { "required" : [ "sourceType", "timestamp", "value" ], "type" : "object", "properties" : { "sourceId" : { "type" : "string", "description" : "The unique ID of the property.", "example" : null }, "sourceLabel" : { "type" : "string", "description" : "A human-readable label.", "example" : null }, "sourceType" : { "type" : "string", "description" : "The property type.", "example" : null }, "timestamp" : { "type" : "string", "description" : "The timestamp when the property was updated, in ISO 8601 format.", "format" : "date-time", "example" : null }, "updatedByUserId" : { "type" : "integer", "description" : "The ID of the user who last updated the property.", "format" : "int32", "example" : null }, "value" : { "type" : "string", "description" : "The property value.", "example" : null } }, "description" : "Property model that includes timestamp.", "example" : null } }, "responses" : { "Error" : { "description" : "An error occurred.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Error" }, "example" : null } } } }, "securitySchemes" : { "developer_hapikey" : { "type" : "apiKey", "name" : "hapikey", "in" : "query" }, "oauth2" : { "type" : "oauth2", "flows" : { "authorizationCode" : { "authorizationUrl" : "https://app.hubspot.com/oauth/authorize", "tokenUrl" : "https://api.hubapi.com/oauth/v1/token", "scopes" : { "crm.objects.commercepayments.read" : "", "crm.objects.projects.read" : "", "crm.objects.projects.write" : "", "oauth" : "" } } } }, "private_apps" : { "type" : "apiKey", "name" : "private-app", "in" : "header" }, "private_apps_legacy" : { "type" : "apiKey", "name" : "private-app-legacy", "in" : "header" } } }, "x-hubspot-product-tier-requirements" : { "marketing" : "FREE", "sales" : "FREE", "service" : "FREE", "cms" : "FREE", "commerce" : "FREE", "crmHub" : "FREE", "dataHub" : "FREE" } }