• Home
  • Visit Our Website
  • Home
  • Visit Our Website
Visit Our Website

Users

180
  • Getting Started
    • How to Log into Assette
    • The Assette Home Page
    • The Assette Navigation Bar
    • Glossary
  • Authoring Center
    • Smart Docs
      • Smart Docs
      • How to Create a Smart Doc
      • Copying and Restoring from Version History
      • Tracking Changes with Life Events
      • Smart Docs X-Ray View
      • Smart Doc Troubleshooting
      • Troubleshooting
        • Troubleshooting Smart Docs
    • Smart Pages
      • Creating & Editing Smart Pages
      • Smart Pages
      • How to Unlock a Smart Page
      • Deleting Smart Pages
      • Tracking Changes with Life Events
      • How to Insert Blank Columns and Rows
      • Changing a Smart Page’s Size
      • Supported PowerPoint Charts
      • Copying and Restoring from Version History
      • Smart Page X-Ray View
      • Smart Page Content Classifications
      • Compliance Tags
      • Assette Editors
        • PowerPoint Editor
          • How to Add New Series to a Chart
          • How to Insert Images Using the Assette Ribbon
          • Assette Ribbon
            • The “Un-Fabricate” Button
          • Troubleshooting
            • Resolving “Failed to Open” Errors in the Assette PPTX Editor
            • Installing the Assette PowerPoint Editor
            • How to Check Your Microsoft PowerPoint Version
          • Advanced Settings
            • Advanced Settings Overview
            • General Tab
            • Margin Tab
            • Zigzag Tab
    • Fixed Content
      • Fixed Content
    • Data Docs
      • Data Docs
    • Smart Shells
      • How to Preview Smart Shells
      • Coupled Shells
      • Smart Shells
      • Tracking Changes with Life Events
      • Copying and Restoring from Version History
      • Creating Smart Shells Using the Smart Shell Library
      • Editing Smart Shells Using the Smart Shell Library
      • Creating Smart Shells via Assette’s PowerPoint Editor
      • How to Refresh Smart Shells
      • Deleting Smart Shells
      • Renaming Smart Shells
      • Smart Shells X-Ray View
      • Smart Shell Content Classifications
      • Performance History Chart
      • Smart Shells Frequently Asked Questions (FAQ)
      • Creating an “As of Date” Smart Shell
    • Brand Themes
      • Assette Dynamic Brand Theme Setup
      • Brand Themes
      • Managing Multiple Themes Within a Single Brand Theme
      • Creating a Brand Theme
      • Shell Styling
      • Dynamic Brand Themes
      • Master Slide Layouts for Dynamic Brand Themes
      • Changing a Smart Page’s Size
    • Email Templates
      • Using Variables in Assette Email Templates
      • Email Templates
    • Additional Features
      • Using Quick View in Assette
      • Automatic Extension Correction
      • X-Ray View Overview
      • The Generation Screen
    • Authoring FAQs
      • Understanding the Difference Between My Workspace and Workrooms
      • What’s the Difference between Footnotes & Coupled Shells?
  • Content Hub
    • Library
      • Saved Trays in the Assette Library
      • Content Library
      • Content Generation and Sharing with Content Library
    • My Workspace
      • Adding Generated Content to a Workroom or Workspace
      • Editing Generated Content
      • Removing Content from My Workspace
      • Copying Content to My Workspace
      • My Workspace
    • RFPs & DDQs
      • Implementing the Assette RFP Module
      • Editing, Reordering, and Categorizing Questions
      • Editing an RFP Answer
      • Uploading an RFP to the Assette
      • RFPs & DDQs
    • Workrooms
      • Adding Generated Content to a Workroom or Workspace
      • Editing Generated Content
      • Removing Content from a Workroom
      • How to Edit Content in a Workroom
      • Copying Content to a Workroom
      • Workroom
    • Assette Viewer
      • Disabling or Removing the Assette Outlook Add-in
      • Assette Viewer Overview
      • Assette Viewer Basics
    • Content Center
      • How to Add a New Organization to the Organization Master
      • Content Plan Data Model
      • Content Plans
      • Content Types
      • Using Advanced Search in the Content Library
  • Data Engine
    • Input Center
      • Input Center Overview
      • Data Files Overview
      • Recipients
      • External Content Overview
    • Data Files
      • Troubleshooting Data Files Uploads
    • Data Validations
      • Data Validations
    • Qualitative Data
      • Adding and Editing People in Qualitative Data
      • Qualitative Info
      • Ownership Data
      • Firm Overview
      • People Data
      • Master Questionnaire
    • Disclosures
      • Managing Disclosure Fragment Categories
      • Creating or Editing a Disclosure Fragment
      • Disclosures versus Footnotes
      • Disclosures
  • Analytics
    • Usage Analytics
      • Content Sharing Analytics
    • Component Analytics
      • Component Analytics
      • Using X-Ray with Component Analytics
      • Templates Analytics
        • Templates Dashboard
      • Section Analytics
        • Sections Dashboard
      • Shell Analytics
        • Shells Dashboard
      • Data Block Analytics
        • Data Blocks Dashboard
  • Administration
    • Workbox
      • Workbox Basics
    • Content Types Master
      • Overview of the Content Types Master
      • Creating an Input File Content Type
      • Understanding Purpose in Content Types
      • Content Groups
      • Creating Content Types
      • Content Classes
      • Content Filename Aliases
    • Users
      • Work Group Basics
      • Internal Users
        • Internal User Roles & Responsibilities
        • Manually Creating Users in Assette
        • Reset or Unlock User’s Accounts
        • SSO Internal User Roles & Tasks
      • Work Groups
        • Creating & Editing Work Groups
        • Creating Subgroups
    • Workflows
      • Workflows Basics
      • Workflow Frequently Asked Questions (FAQ)
      • Workflow Management
        • Workflow Management Overview
        • Workflow Reassignment
      • Workflow Design
        • Client Portal User Approval Workflow
        • Editing or Deleting a Workflow
        • Creating a Workflow
        • Creating Conditional Workflows
    • Product Master
      • Composite vs. Rep Accounts
      • Product Master Overview
      • Deactivating & Deleting Products
      • Troubleshooting Product Master Errors
    • Classification Master
      • Classification Master Overview
      • How to Manage Content Classifications
      • Creating & Managing Labels
      • Labels
      • Limitations
      • Compliance Tags
      • Data Ingredients Overview
    • Configurations
      • Attribution Data Objects Configurations
      • Batch Configurations
        • Smart Doc Name Format
        • Batch Configurations
  • Client Portal
    • Security Overview for the Assette Client Portal
    • Client Portal Overview
    • Creating Notifications for Client Portal Users
    • Client Portal Users
      • Client Portal User Workflow Lifecycle
      • Client Portal Frequently Asked Questions (FAQ)
      • Client Portal Session Handling
      • Log into the Assette Client Portal
      • Managing User Access in the Client Portal
      • Creating a New Portal User
      • Editing or Creating Portal Users
      • Deleting a Client Portal User
      • Monitoring and Accessing User Login Activity for Client Portal
  • Tutorials
    • RFP Module Implementation Checklist
    • When to Create a New Artefact in Assette
    • Creating a Fixed-Row Zigzag Table
  • Legacy Support
    • Assette Centers [Legacy]
    • Data Validations [Legacy]
    • Assette Roles Overview [Legacy]
    • Create & Manage Attributes [Legacy]
    • Internal Users Management [Legacy]
    • Legacy Authoring Center
      • Data Object Library [Legacy]
      • Data Docs [Legacy]
      • Smart Shells [Legacy]
      • How to Create a New Smart Page [Legacy]
      • Legacy Smart Pages
        • Creating and Editing Smart Pages [Legacy]
      • Legacy Smart Docs
        • Creating a Smart Doc [Legacy]

Developers

209
  • Getting Started
    • The Assette Navigation Bar
    • User Login & Creation
      • Add Assette Users with Azure AD
      • Developer Roles & Permissions
      • How to Create & Assign Permission Groups
      • Permission Groups Overview
    • Implementation Overview
      • Introduction to Assette Implementation
      • The Assette Implementation Approach
      • What Data is Required to Start?
      • Connecting to Source Systems with Assette
      • Essential Data Blocks
      • Fields Synchronized with Assette
  • Developer Tools
    • Tool Setup
      • Developer Tools Overview
      • Assette Development Stack
      • Developer Center Configurations
      • Prohibited Data Block Keywords and Built-ins
      • Master Data Scheduler
      • Python Data Block Libraries & Keywords
      • Troubleshooting
        • Troubleshooting AxiosError-500 Errors
        • Assette VS Code Extension Troubleshooting
    • Data Block Editor
      • Using Nested Functions in Data Blocks
      • Importing Python Libraries
      • Import & Export Data Blocks
      • Data Block Unit Testing in Python
      • Data Block Editor Basics
        • Introduction to the Data Block Editor
        • Calculation Operators and Precedence
        • Secret Management
        • How to Copy & Delete Data Blocks
        • Creating & Editing Data Blocks
        • How to Freeze Data Blocks
      • Data Block Keywords
        • Understanding the “response” Keyword in Assette Data Blocks
        • Understanding the ‘read’ Keyword in Assette Data Blocks
      • Data Block Editor Metadata
        • How to Update Data Block Metadata
      • Data Block Editor Troubleshooting
        • Troubleshooting API Authentication Issues
    • Data Object Editor
      • Applying Row Filtration with Data Objects
      • Locking a Data Object
      • Introduction to the Data Object Editor
      • Dynamic Row Numbering
      • Force Unlocking a Data Object
      • Editing Data Objects
      • Creating Data Objects
      • Data Object KeyError
      • How to Copy & Delete Data Objects
      • Generation Time Data Settings
      • Importing & Exporting Data Objects
      • Design View
        • Data Settings Tab
          • Data Settings Tab
        • General Info Tab
          • General Info
          • Styling Classes
        • Data Source Tab
          • Data Source Tab
        • Columns Tab
          • Columns Tab
          • Date Formats
        • Groupings Tab
          • Grouping Tab
          • Group Expressions & Group Ordering
          • Creating Group Header Rows
          • Creating Group Summary Rows
          • How to Create “Group By” Data Settings
        • Sorting Tab
          • Sorting Tab
        • Summary Tab
          • Summary Tab
        • Row Types Tab
          • Row Types Tab
        • Title & Footnotes Tab
          • Title & Footnotes Tab
        • Legend Tab
          • Legend Tab
        • Output Variables Tab
          • Output Variable Tab
        • Internal Variables Tab
          • Internal Variables
          • Internal Variable Type Assignment
        • No Data Message Tab
          • No Data Message Tab
      • Expressions
        • The “round(value, n)” Expression
        • Expressions, Operators, & Functions
        • The “Contains()” Function
        • The “HasValue()” Function
        • The “NOT” Operator
        • The “OR” Operator
        • The “<> Not Equal To” Operator
        • The “>= Greater Than or Equal To” Operator
        • The “ADD” Expression
        • The “AND” Expression
        • The “Divide” Expression
        • The “Minus” Expression
        • The “Multiply” Expression
        • The “<= Less Than or Equal to” Operator
        • The > Greater Than Operator
        • The “==” Equals Operator
        • The Grouping Operator “()”
        • The < Less Than Operator
    • Dynamic Fields
      • Dynamic Fields
    • Footnote Editor
      • Footnote X-Ray View
      • Footnote Editor
      • How to Create & Edit Footnotes
      • Import Variables & Columns
    • Tenant Manager
      • Deployment Statuses
      • Tenant Manager Overview
      • Deploy Content Using the Assette Tenant Manager
      • Review Artifacts
      • Tenant Manager Troubleshooting
      • Tenants in the Tenant Manager
      • Deployment Processing & Error Logging
    • Visual Studio Code
      • Assette Visual Studio Code Extension
      • How to Find Where a Component is Used in the VS Code Extension
      • Error and Status Messages Reference
      • Signing Into the Assette VS Code Extension
      • VS Code Frequently Asked Questions (FAQs)
      • Installing the Assette Block Editor VS Code Extension
      • Assette VS Code Extension Troubleshooting
  • Data Blocks
    • Data Block Basics
      • Restricted Keywords and Functions
      • Stacking Decorator Blocks
      • Decorator Data Blocks
      • Publishing Data Blocks
      • Data Block Basics
      • Data Block Categories
      • Data Block Request Parameters
    • Data Blocks by Category
      • Understanding Assette Data Blocks
      • System Data Blocks
        • Organization Add Data Block
        • Organization Master Data Block
        • Get Recipient Info Salesforce Transform Data Block
        • Get Recipient Info Salesforce Data Blocks
        • Get Recipients LocalDB Data Block
        • Get Recipient Info Local Data Block
        • Recipient Master Data Block
        • Attribute Type Values Local Data Block
        • Brand Theme Selector Data Block
        • Brand Theme Extract Data Block
        • System Data Blocks Overview
        • Account Master Data Block
        • Asset Classes Local Data Block
        • As of Dates Data Block
        • Countries Data Block
        • Currency Codes Data Blocks
        • Product Master Data Block
        • Sub Accounts Client Database Data Block
        • Sub Accounts Local Database Data Block
        • Sector Schemes Data Blocks
        • Sectors Data Block
        • Sub Accounts Data Block
      • Sync Data Blocks
        • Sync Data Block Overview
        • Country List Sync Data Block
        • Product Master Sync Data Block
        • Attribute Type Values Sync Data Block
      • Source Data Blocks
        • Source Product Offer Countries Data Block
        • Source Sub-Accounts Relationship Data Block
        • Source List of Attribute Type Values Data Block
        • Source Extract Accounts Details Data Block
        • Source Account Attributes Values Data Block
        • Source List of Currency Codes Data Block
        • Source Product Master Extract Data Block
      • Transform Data Blocks
        • Validation Account Performance Factors Data Block
        • Assette Get Valid Periods Data Block
        • System Period Information Data Block
        • Assette Get Begin & End Date Data Block
        • Source Extract Accounts Details Data Block
      • Interface Data Blocks
        • Strategy Info for Product Data Block
        • Organization Read Local Data Block
        • Sectors Local Database Data Block
        • Assette Period Code Map Data Block
        • Account Attribute Mapping Local Database Data Block
        • Account Attributes Local Database Data Block
        • Source Product Master Extract Data Block
        • Source List of Currency Codes Data Block
        • Source Account Attributes Values Data Block
        • Product Master Local Data Base Data Block
      • Configuration Data Blocks
        • Salesforce Settings Data Block
        • Configuration Data Block Overview
        • Calculation Python Environment Data Block
        • Python Data Calculation Modules Data Block
        • Python Environment for Date Calculation Data Block
        • Demo Snowflake Setting Data Block
        • Snowflake Demo Certificate Data Block
        • Calculation Environment Data Block
    • Data Blocks by Functionality
      • Get Major Minor Ticker Data Block
      • Account Master
        • Account Master Data Block
        • Filtering the Account Master Using Account Codes
    • Example & Demo Blocks
      • Demo Asset Class Data Block
  • Data Objects
    • Data Objects
    • Data Object X-Ray View
    • Introduction to Data Objects
  • Integrations
    • Salesforce
      • Connecting Salesforce with Assette
    • Snowflake
      • Source Account Attributes Values Data Block
      • Snowflake Integration
    • Aprimo
      • Assette-Aprimo Integration Overview
      • Inserting Content with Aprimo
      • Aprimo Image Library Data Block
      • Aprimo Thumbnail Image Library API Data Block
      • Modifying the Aprimo API Records Data Block
      • Aprimo Data Blocks
        • Aprimo API Post Order Data Block
        • Aprimo Image Thumbnail Data Block
        • Aprimo API Single Record Data Block
        • Aprimo API Records Data Block
        • Aprimo API Order Status
        • Image Content Data Block
  • Developer FAQ
    • Batch Generation Architecture
    • How to Add a New Product to the Product Master
    • How to Add New Attributes to the Attribute Master
    • Data Blocks Frequently Asked Questions (FAQ)
    • Data Object Frequently Asked Questions (FAQ)
    • Tenant Manager Frequently Asked Questions (FAQ)
    • TLS Email Encryption via SendGrid
    • Data Block Cheat Sheet
    • Why Can’t I Edit a Data Object?
    • How Do Unit Tests Work in Assette?
    • Enable Assette Add-In in Case of Failure
    • How Do I Log into Snowflake?
    • Period Codes
    • Developer Tools FAQs
      • Removing Blank or NULL Columns
      • How to Display Different Values in the Account Code Dropdown in the Data Object Editor Preview
      • When and Why You See an Impact Change Message in the Developer Center
  • Tutorials
    • Creating a Correlation Matrix Table
    • Data Block Tutorials
      • Structuring Data for Time-Series Charts in PowerPoint
      • How to Cache Data Using Data Blocks
      • Creating a Certificate Data Block
      • Making Public API Calls Using Assette Data Blocks
      • Using Data Blocks to Make API Calls
    • Data Object Tutorials
      • Creating Dynamic Column Headings
implementation

Implementation

18
  • Getting Started
    • Welcome to the Assette Implementation Guide
  • Planning Your Implementation
    • Assette 101
    • The Three Layer Model
    • What to Expect from Implementation
  • Platform Layers
    • The Data Engine
    • Authoring Center
    • Content Hub
  • Assemble Your Implementation Team
    • Technical Environment & Tenant Setup
    • Building Your Implementation Dream Team
    • Scaling Your Implementation Across Strategies & Modules
  • Working With Data
    • Content Inputs
    • Prepare and Shape Your Data
    • Real-Word Examples
  • ACE Training
    • How ACE Training Works
    • ACE Syllabus
  • Implementation Process & Support
    • Implementation Steps
    • Analyze Backward, Build Forward
    • Assette Support & Roles
  • Home
  • Docs
  • Developers
  • Developer Tools
  • Data Block Editor
  • Data Block Editor Troubleshooting
  • Troubleshooting API Authentication Issues

Troubleshooting API Authentication Issues

4 min read

The steps outlined in this document are based on general principles of API authentication within Assette. Specific configurations and features may vary depending on your organization’s implementation and the APIs you are integrating with. Always refer to official documentation and consult with your system administrator or Assette support for guidance tailored to your environment.

When integrating external APIs with Assette, proper authentication is crucial to ensure secure and authorized data access. One common method of authentication is the OAuth2 Client Credentials Flow, which relies on a client ID and client secret to authenticate API requests. This help document provides guidance on troubleshooting API authentication issues within Assette, focusing on scenarios where unexpected authentication behavior occurs, such as successful authentication without a client secret.

Understanding OAuth2 Client Credentials Flow #

Before diving into troubleshooting, it’s important to understand how the OAuth2 Client Credentials Flow works:

  • Client ID and Client Secret: These are credentials provided by the API provider. The client ID identifies your application, while the client secret is used to authenticate your application securely. For more information on how to securely store the credentials in Assette, see Secret Management.
  • Token Endpoint: Your application requests an access token from the API’s token endpoint using the client ID and client secret.
  • Access Token: The token received is then used to authenticate subsequent API requests.

Common Authentication Issues #

Missing or Incorrect Client Secret #

Symptoms:

  • API requests succeed even when the client secret is missing or incorrect.
  • Expected authentication failures (e.g., 401 Unauthorized errors) do not occur.

Potential Causes:

  • The API configuration may not be properly enforcing authentication.
  • The client secret may not be correctly referenced or retrieved from Assette’s secret management system.
  • There might be a misconfiguration in the API setup within Assette.

Secret Management Integration Problems #

Symptoms:

  • Changes to secrets in the secret management system do not affect API authentication.
  • The API behaves the same regardless of the client secret’s presence or value.

Potential Causes:

  • The secret indexing or retrieval mechanism may not be functioning correctly.
  • The API configuration may not be properly linked to the secret stored in Assette’s secret management system.

Incorrect API Endpoint or URL #

Symptoms:

  • Authentication issues persist despite correct credentials.
  • API returns unexpected responses.

Potential Causes:

  • The API endpoint URL may be incorrect.
  • There might be typos or misconfigurations in the API’s base URL or endpoints.

Troubleshooting Steps #

Step 1: Verify API Endpoint #

  • Action: Confirm that the API endpoint URL is correct.
  • How:
    • Check for typos or incorrect paths in the URL.
    • Ensure that the endpoint corresponds to the correct environment (e.g., production, staging).

Step 2: Check Client ID and Client Secret #

  • Action: Ensure that the client ID and client secret are correctly entered and stored.
  • How:
    • Verify the client ID and client secret provided by the API provider.
    • In Assette, confirm that the client secret is stored securely using the secret management system.
    • Ensure that the API configuration references the correct secret.

Step 3: Test Authentication with Correct Credentials #

  • Action: Perform a test API call using the correct client ID and client secret.
  • How:
    • Use a tool like Postman or Assette’s API testing functionality.
    • Confirm that the API returns the expected response when authenticated properly.

Step 4: Test Authentication Without Client Secret #

  • Action: Attempt an API call without the client secret to test authentication enforcement.
  • Expected Result: The API should return a 401 Unauthorized error.
  • If Successful:
    • Indicates that the API is correctly enforcing authentication.
  • If Not:
    • Suggests that the API may not be properly validating credentials.

Step 5: Review API Authentication Configuration in Assette #

  • Action: Examine the API settings within Assette to ensure proper configuration.
  • How:
    • Navigate to the API Definitions section in Assette.
    • Verify that the authentication method is set to OAuth2 Client Credentials.
    • Ensure that the client ID and client secret are correctly referenced.
    • Check for any misconfigurations or missing settings.

Step 6: Inspect Secret Management Integration #

  • Action: Confirm that Assette’s secret management system is functioning correctly.
  • How:
    • Ensure that the secret is properly stored and indexed.
    • Verify that the API configuration references the secret using the correct identifier.
    • Test retrieving the secret independently, if possible.

Step 7: Check for Custom Authentication Mechanisms #

  • Action: Determine if the API uses a custom authentication system instead of standard OAuth2.
  • How:
    • Review the API documentation for any specific authentication requirements.
    • Consult with the API provider if necessary.
  • Note: If the API uses a custom system, adjust the authentication configuration in Assette accordingly.

Step 8: Examine Logs and Error Messages #

  • Action: Review any available logs or error messages to identify issues.
  • How:
    • Use Assette’s logging features to check for errors during API calls.
    • Look for authentication-related error messages or warnings.
  • Note: Access to certain logs may require additional permissions and/or further discussion with Assette.

Step 9: Collaborate with Team Members #

  • Action: Discuss the issue with colleagues who may have encountered similar problems.
  • How:
    • Share details of the issue and steps already taken.
    • Seek input or assistance from team members with relevant expertise.

Additional Considerations #

Verify API Provider Status #

  • Action: Check if the API provider is experiencing issues or has made changes to their authentication process.
  • How:
    • Visit the API provider’s status page or support forums.
    • Look for announcements regarding authentication or system updates.

Update Assette to Latest Version #

  • Action: Ensure that you are using the latest version of Assette.
  • How:
    • Check for any available updates or patches.
    • Apply updates that may address known issues with API integrations.

Consult Assette Support #

  • Action: Reach out to Assette’s support team for assistance.
  • How:
    • Provide detailed information about the issue.
    • Include steps taken during troubleshooting and any relevant logs or error messages.

Preventative Measures #

  • Regularly Update Secrets: Keep client secrets updated and rotate them according to security best practices.
  • Document Configurations: Maintain documentation of API configurations and authentication settings.
  • Monitor Logs: Regularly monitor logs for unusual activity or errors related to authentication.
  • Test Changes in a Safe Environment: Use a staging or development environment to test changes before applying them to production.

Authentication issues with APIs can stem from various factors, including misconfigurations, missing credentials, or integration problems with secret management systems. By systematically verifying each component of the authentication process and utilizing Assette’s tools and features, you can identify and resolve these issues effectively. Ensuring that APIs are correctly authenticated not only secures your data but also maintains the integrity and reliability of your reporting and data analysis within Assette.

Still stuck? How can we help?

How can we help?

Updated on December 4, 2024
Page Index
  • Understanding OAuth2 Client Credentials Flow
  • Common Authentication Issues
    • Missing or Incorrect Client Secret
    • Secret Management Integration Problems
    • Incorrect API Endpoint or URL
  • Troubleshooting Steps
    • Step 1: Verify API Endpoint
    • Step 2: Check Client ID and Client Secret
    • Step 3: Test Authentication with Correct Credentials
    • Step 4: Test Authentication Without Client Secret
    • Step 5: Review API Authentication Configuration in Assette
    • Step 6: Inspect Secret Management Integration
    • Step 7: Check for Custom Authentication Mechanisms
    • Step 8: Examine Logs and Error Messages
    • Step 9: Collaborate with Team Members
  • Additional Considerations
    • Verify API Provider Status
    • Update Assette to Latest Version
    • Consult Assette Support
  • Preventative Measures
Stay up to date on Assette news and updates with our Newsletter:
  • Platform
  • Modules
  • AssetteAI
  • Who We Are
  • Who We Work With
  • Platform
  • Modules
  • AssetteAI
  • Who We Are
  • Who We Work With
  • Platform
  • Modules
  • AssetteAI
  • Who We Are
  • Who We Work With
  • Platform
  • Modules
  • AssetteAI
  • Who We Are
  • Who We Work With
  • Blog
  • News
  • Events
  • Contact
  • Blog
  • News
  • Events
  • Contact
  • Blog
  • News
  • Events
  • Contact
  • Blog
  • News
  • Events
  • Contact

4 Faneuil Hall, 4th Floor
Boston, MA
02109 USA
Tel: +1.617.723.6161

Book a Demo
X-twitter Linkedin Youtube
  • Privacy Policy
  • © 2025 Assette. All Rights Reserved
  • Powered By Artrivo (PVT) Ltd.