openapi: 3.1.0 info: title: HubSpot Analytics Events Access Tokens Multi-Language Management API description: "The HubSpot Analytics Events API allows you to retrieve event completion data \nfrom your HubSpot account. Use this API to query event instances associated with \nCRM objects, filter by event types, and analyze user behavior and engagement patterns.\n\n## Key Features\n- Retrieve event instances for CRM objects\n- Filter events by type, date range, and object\n- Paginate through large result sets\n- Query available event types\n" version: 3.0.0 contact: name: HubSpot Developer Support url: https://developers.hubspot.com license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://api.hubapi.com description: HubSpot Production API Server tags: - name: Multi-Language Management description: Manage multi-language author groups and language variations paths: /cms/v3/blogs/authors/multi-language/detach-from-lang-group: post: tags: - Multi-Language Management operationId: detachBlogAuthorFromLanguageGroup summary: Hubspot Detach Author From Language Group description: Detach a blog author from their multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Author to detach from language group content: application/json: schema: $ref: '#/components/schemas/DetachFromLanguageGroupRequest' example: id: '12345678901' responses: '200': description: Successfully detached author from language group default: $ref: '#/components/responses/ErrorResponse' /cms/v3/blogs/authors/multi-language/set-new-lang-primary: put: tags: - Multi-Language Management operationId: setNewBlogAuthorLanguagePrimary summary: Hubspot Set New Primary Language description: Set a blog author as the primary language of a multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Author to set as primary language content: application/json: schema: $ref: '#/components/schemas/SetLanguagePrimaryRequest' example: id: '12345678901' responses: '204': description: Successfully set new primary language default: $ref: '#/components/responses/ErrorResponse' /cms/v3/blogs/authors/multi-language/attach-to-lang-group: post: tags: - Multi-Language Management operationId: attachBlogAuthorToLanguageGroup summary: Hubspot Attach Author to Language Group description: Attach a blog author to an existing multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Author and language group details content: application/json: schema: $ref: '#/components/schemas/AttachToLanguageGroupRequest' example: id: '12345678902' language: es primaryId: '12345678901' primaryLanguage: en responses: '200': description: Successfully attached author to language group default: $ref: '#/components/responses/ErrorResponse' /cms/v3/blogs/authors/multi-language/create-language-variation: post: tags: - Multi-Language Management operationId: createBlogAuthorLanguageVariation summary: Hubspot Create Language Variation description: Create a new language variation of an existing blog author. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Source author and target language content: application/json: schema: $ref: '#/components/schemas/CreateLanguageVariationRequest' example: id: '12345678901' language: fr responses: '200': description: Successfully created language variation content: application/json: schema: $ref: '#/components/schemas/BlogAuthor' examples: Success: $ref: '#/components/examples/BlogAuthorExample' default: $ref: '#/components/responses/ErrorResponse' /cms/v3/blogs/posts/multi-language/detach-from-lang-group: post: tags: - Multi-Language Management operationId: detachBlogPostFromLanguageGroup summary: Hubspot Detach Post From Language Group description: Detach a blog post from its multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Post to detach from language group content: application/json: schema: $ref: '#/components/schemas/DetachFromLanguageGroupRequest_2' example: id: '123456789012' responses: '200': description: Successfully detached post from language group default: $ref: '#/components/responses/ErrorResponse_2' /cms/v3/blogs/posts/multi-language/set-new-lang-primary: put: tags: - Multi-Language Management operationId: setBlogPostLanguagePrimary summary: Hubspot Set New Primary Language description: Set a blog post as the primary language of a multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Post to set as primary language content: application/json: schema: $ref: '#/components/schemas/SetLanguagePrimaryRequest_2' example: id: '123456789012' responses: '204': description: Successfully set new primary language default: $ref: '#/components/responses/ErrorResponse_2' /cms/v3/blogs/posts/multi-language/attach-to-lang-group: post: tags: - Multi-Language Management operationId: attachBlogPostToLanguageGroup summary: Hubspot Attach Post to Language Group description: Attach a blog post to an existing multi-language group. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Post and language group details content: application/json: schema: $ref: '#/components/schemas/AttachToLanguageGroupRequest_2' example: id: '123456789013' language: es primaryId: '123456789012' primaryLanguage: en responses: '200': description: Successfully attached post to language group default: $ref: '#/components/responses/ErrorResponse_2' /cms/v3/blogs/posts/multi-language/create-language-variation: post: tags: - Multi-Language Management operationId: createBlogPostLanguageVariation summary: Hubspot Create Language Variation description: Create a new language variation of an existing blog post. x-microcks-operation: dispatcher: SCRIPT dispatcherRules: 'return "Success" ' security: - OAuth2: - content - PrivateApp: [] requestBody: required: true description: Source post and target language content: application/json: schema: $ref: '#/components/schemas/CreateLanguageVariationRequest_2' example: id: '123456789012' language: fr responses: '200': description: Successfully created language variation content: application/json: schema: $ref: '#/components/schemas/BlogPost' examples: Success: $ref: '#/components/examples/BlogPostExample' default: $ref: '#/components/responses/ErrorResponse_2' components: schemas: DetachFromLanguageGroupRequest_2: type: object description: Request to detach from multi-language group properties: id: type: string description: ID of the post to detach example: '500123' required: - id CreateLanguageVariationRequest_2: type: object description: Request to create language variation properties: id: type: string description: ID of the source post example: '500123' language: type: string description: Language code for the new variation example: en required: - id - language AttachToLanguageGroupRequest: type: object description: Request to attach an author to a multi-language group properties: id: type: string description: ID of the author to attach example: '500123' language: type: string description: Language code for the author (e.g., es, fr, de) example: en primaryId: type: string description: ID of the primary language author example: '500123' primaryLanguage: type: string description: Language code of the primary author example: en required: - id - language - primaryId CreateLanguageVariationRequest: type: object description: Request to create a language variation of an author properties: id: type: string description: ID of the source author example: '500123' language: type: string description: Language code for the new variation example: en required: - id - language DetachFromLanguageGroupRequest: type: object description: Request to detach an author from a multi-language group properties: id: type: string description: ID of the author to detach example: '500123' required: - id ErrorDetail: type: object description: Detailed information about a specific error properties: message: type: string description: Human-readable error message example: This is an example description. code: type: string description: Machine-readable error code example: example-value subCategory: type: string description: Specific error subcategory example: standard in: type: string description: Location where the error occurred example: example-value context: type: object additionalProperties: type: array items: type: string description: Additional context about the error example: key: value required: - message ErrorDetail_2: type: object description: Detailed error information properties: message: type: string description: Error message example: This is an example description. code: type: string description: Error code example: example-value subCategory: type: string description: Error subcategory example: standard in: type: string description: Location of error example: example-value context: type: object additionalProperties: type: array items: type: string example: key: value required: - message Error_2: type: object description: Standard error response properties: category: type: string description: Error category example: standard correlationId: type: string format: uuid description: Unique tracking identifier example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 message: type: string description: Error message example: This is an example description. subCategory: type: string description: Error subcategory example: standard context: type: object additionalProperties: type: array items: type: string example: key: value links: type: object additionalProperties: type: string example: key: value errors: type: array items: $ref: '#/components/schemas/ErrorDetail_2' example: - message: This is an example description. code: example-value subCategory: standard in: example-value context: key: value required: - category - correlationId - message SetLanguagePrimaryRequest_2: type: object description: Request to set new primary language properties: id: type: string description: ID of the post to set as primary example: '500123' required: - id SetLanguagePrimaryRequest: type: object description: Request to set a new primary language for a multi-language group properties: id: type: string description: ID of the author to set as primary example: '500123' required: - id BlogPost: type: object description: Represents a blog post with all content and metadata properties: id: type: string description: Unique identifier for the blog post example: '500123' name: type: string description: Internal name of the blog post example: Example Record slug: type: string description: URL slug for the blog post example: example-value htmlTitle: type: string description: HTML title tag content example: Example Record postBody: type: string description: HTML content of the blog post body example: This is an example description. postSummary: type: string description: Summary or excerpt of the blog post example: example-value blogAuthorId: type: string description: ID of the associated blog author example: '500123' authorName: type: string description: Display name of the author example: Example Record contentGroupId: type: string description: ID of the blog this post belongs to example: '500123' campaign: type: string description: Campaign GUID associated with the post example: example-value categoryId: type: integer description: Category ID for the post example: 500123 state: type: string enum: - DRAFT - DRAFT_AB - AUTOMATED - PUBLISHED - SCHEDULED - AUTOMATED_DRAFT description: Current state of the blog post example: DRAFT currentState: type: string description: Current state description example: active publishDate: type: string format: date-time description: ISO 8601 timestamp when the post was/will be published example: '2025-03-15T14:30:00Z' created: type: string format: date-time description: ISO 8601 timestamp when the post was created example: '2025-03-15T14:30:00Z' updated: type: string format: date-time description: ISO 8601 timestamp when the post was last updated example: '2025-03-15T14:30:00Z' archivedAt: type: string format: date-time description: ISO 8601 timestamp when the post was archived example: '2025-03-15T14:30:00Z' currentlyPublished: type: boolean description: Whether the post is currently published example: true domain: type: string description: Domain where the post is published example: example.hubspot.com featuredImage: type: string description: URL of the featured image example: example-value featuredImageAltText: type: string description: Alt text for the featured image example: example-value metaDescription: type: string description: Meta description for SEO example: This is an example description. headHtml: type: string description: Custom HTML for the head section example: example-value footerHtml: type: string description: Custom HTML for the footer section example: example-value language: type: string description: Language code of the blog post example: en translatedFromId: type: string description: ID of the original post this was translated from example: '500123' tagIds: type: array items: type: integer description: Array of tag IDs associated with the post example: - 500123 useFeaturedImage: type: boolean description: Whether to display the featured image example: true url: type: string format: uri description: Full URL of the published post example: https://app.hubspot.com/contacts/12345 abStatus: type: string enum: - master - variant description: A/B test status example: master abTestId: type: string description: A/B test ID if part of a test example: '500123' folderId: type: string description: ID of the folder containing the post example: '500123' required: - id - name - created - updated BlogAuthor: type: object description: Represents a blog author profile with biographical and social information properties: id: type: string description: Unique identifier for the blog author example: '500123' name: type: string description: Full display name of the author example: Example Record slug: type: string description: URL-friendly identifier for the author example: example-value email: type: string format: email description: Author's email address example: jsmith@example.com bio: type: string description: Author biography or description example: example-value website: type: string format: uri description: Author's personal website URL example: https://app.hubspot.com/contacts/12345 twitter: type: string description: Author's Twitter/X handle example: example-value facebook: type: string description: Author's Facebook profile URL example: example-value linkedin: type: string description: Author's LinkedIn profile URL example: https://app.hubspot.com/contacts/12345 avatar: type: string format: uri description: URL to the author's avatar image example: https://app.hubspot.com/contacts/12345 language: type: string description: Language code for the author profile (e.g., en, es, fr) example: en translatedFromId: type: string description: ID of the original author this was translated from example: '500123' created: type: string format: date-time description: ISO 8601 timestamp when the author was created example: '2025-03-15T14:30:00Z' updated: type: string format: date-time description: ISO 8601 timestamp when the author was last updated example: '2025-03-15T14:30:00Z' deletedAt: type: string format: date-time description: ISO 8601 timestamp when the author was archived example: '2025-03-15T14:30:00Z' required: - id - name - created - updated Error: type: object description: Standard error response returned when an API request fails properties: category: type: string description: High-level error category example: standard correlationId: type: string format: uuid description: Unique identifier for tracking and debugging example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 message: type: string description: Human-readable error message example: This is an example description. subCategory: type: string description: Specific error subcategory example: standard context: type: object additionalProperties: type: array items: type: string description: Additional error context example: key: value links: type: object additionalProperties: type: string description: Related links for error resolution example: key: value errors: type: array items: $ref: '#/components/schemas/ErrorDetail' description: List of specific errors example: - message: This is an example description. code: example-value subCategory: standard in: example-value context: key: value required: - category - correlationId - message AttachToLanguageGroupRequest_2: type: object description: Request to attach to language group properties: id: type: string description: ID of the post to attach example: '500123' language: type: string description: Language code for the post example: en primaryId: type: string description: ID of the primary language post example: '500123' primaryLanguage: type: string description: Language code of the primary post example: en required: - id - language - primaryId examples: ErrorExample_2: summary: Validation error value: category: VALIDATION_ERROR correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf message: Invalid input parameters links: knowledge-base: https://www.hubspot.com/products/service/knowledge-base BlogPostExample: summary: Complete blog post value: id: '123456789012' name: How to Use HubSpot APIs slug: how-to-use-hubspot-apis htmlTitle: How to Use HubSpot APIs | Developer Guide postBody:

Learn how to integrate with HubSpot using our powerful APIs...

postSummary: A comprehensive guide to getting started with HubSpot APIs. blogAuthorId: '12345678901' authorName: Jane Smith contentGroupId: '9876543210' state: PUBLISHED publishDate: '2024-01-15T10:00:00Z' created: '2024-01-10T09:00:00Z' updated: '2024-01-15T10:00:00Z' currentlyPublished: true domain: blog.example.com featuredImage: https://example.com/images/hubspot-apis.jpg featuredImageAltText: HubSpot API documentation metaDescription: Learn how to integrate with HubSpot using APIs language: en tagIds: - 101 - 102 - 103 useFeaturedImage: true url: https://blog.example.com/how-to-use-hubspot-apis BlogAuthorExample: summary: Complete blog author profile value: id: '12345678901' name: Jane Smith slug: jane-smith email: jane.smith@example.com bio: Jane is a senior content strategist with 10 years of experience in digital marketing. website: https://janesmith.com twitter: '@janesmith' linkedin: https://linkedin.com/in/janesmith avatar: https://example.com/avatars/jane-smith.jpg language: en created: '2024-01-15T10:30:00Z' updated: '2024-01-20T14:45:00Z' ErrorExample: summary: Validation error response value: category: VALIDATION_ERROR correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf message: Invalid input (details will vary based on the error) links: knowledge-base: https://www.hubspot.com/products/service/knowledge-base responses: ErrorResponse: description: An error occurred while processing the request content: application/json: schema: $ref: '#/components/schemas/Error' examples: ValidationError: $ref: '#/components/examples/ErrorExample' ErrorResponse_2: description: An error occurred content: application/json: schema: $ref: '#/components/schemas/Error_2' examples: ValidationError: $ref: '#/components/examples/ErrorExample_2' securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://app.hubspot.com/oauth/authorize tokenUrl: https://api.hubapi.com/oauth/v1/token scopes: analytics.read: Read analytics data