Skip to main content
This page lists all breaking changes for the Paragon REST API. We make a best effort to keep our API endpoints backwards-compatible with existing usage, but in cases where that is not possible, we will provide advanced notice and guidance on how to adapt to the changes.
2026-04
Released April 2, 2026

Custom Integration identifiers are now immutable

Before this change, changing the display name of a Custom Integration would result in a change in the integration identifier/slug (used in paragon.connect) and the Paragraph source path (after a para pull). For example, changing “TaskLab” to “Apex Tasks” would result in a change from custom.tasklab to custom.apextasks.This identifier is now immutable and set at the time your Custom Integration is created. For existing Custom Integrations, the identifier will be set immutably to the same value it currently has in your project.
Existing Custom Integration identifiers are preservedAny hard-coded references you may use to existing Custom Integration identifiers will continue to work as expected, since the identifier has been set immutably to its current value. Any future changes to the display name will no longer impact this identifier.

What do I need to do?

  • Treat the slug returned by the API as the source of truth for Custom Integrations. If your application already uses the slug returned by the API as the source of truth for identifiers, no changes are required.
  • Replace any logic in your application that may derive Custom Integration identifiers from the display name with the slug property provided by the API. A published Custom Integration’s identifier will no longer change when its display name changes.
  • Upgrade the @useparagon/connect SDK to v2.3.1 or later.
    • @useparagon/connect SDK versions < 2.3.1 (which derive the identifier from the integration name) will continue to use name-derived identifiers and work without issue. You can upgrade to v2.3.1 or later to use the current, immutable identifiers.
  • Upgrade @useparagon/paragraph to v1.1.1 or later.

When were these changes released?

  • These changes were released on April 2, 2026. Platform versions of >= v2026.0402 will include this update.
2025-07
Released July 7, 2025

Updates to GET /sdk/integrations and Proxy API

To improve the ergonomics of the API, we are introducing a few changes to the GET /projects/:projectId/sdk/integrations and Proxy API endpoints for Custom Integrations.We are also removing some unnecessary fields from the response of the GET /projects/:projectId/sdk/integrations endpoint to improve performance. Please review these changes to ensure that your application is not using any of the fields scheduled for removal.Affected endpoints:
  • GET /projects/:projectId/sdk/integrations
  • Proxy API
Breaking changes:
  • In GET /projects/:projectId/sdk/integrations, the type field of Custom Integrations will now be the full slug that is used in paragon.connect() calls.
  • In GET /projects/:projectId/sdk/integrations, some unnecessary fields are being removed from Integrations:
    • To optimize the performance of this endpoint, some fields of Integrations are being removed. Please ensure that the following fields are not in use by your application:
      • integration.dateCreated
      • integration.dateUpdated
      • integration.resourceId
      • integration.configs[].dateCreated
      • integration.configs[].dateUpdated
      • integration.configs[].integrationId
      • integration.workflows[].dateCreated
      • integration.workflows[].dateUpdated
      • integration.workflows[].teamId
      • integration.workflows[].isOnboardingWorkflow
      • integration.workflows[].workflowVersion
      • integration.customIntegration.dateCreated
      • integration.customIntegration.dateUpdated
      • integration.customIntegration.projectId
      • integration.customIntegration.oauthScopes
      • integration.customIntegration.oauthIncludeClientAuthorizationHeader
      • integration.customIntegration.usePKCEInCodeExchange
      • integration.customIntegration.apiBaseUrl
      • integration.customIntegration.testEndpointPath
      • integration.customIntegration.isTestEndpointVerified
      • integration.customIntegration.apiAuthorization
      • integration.customIntegration.userProfileConfig
Other non-breaking changes:
  • Proxy API now supports using the custom.name format when sending Proxy requests for Custom Integrations
    • Instead of passing in a customIntegrationId, you will now be able to pass in custom.name (the same slug used for paragon.connect) directly to the Proxy API.
    • Example:
      - https://proxy.useparagon.com/projects/:projectId/sdk/proxy/custom/:customIntegrationId/:path
      + https://proxy.useparagon.com/projects/:projectId/sdk/proxy/custom.integrationName/:path
      
      

What do I need to do?

  • Verify that your use of integrations.type for Custom Integrations does not rely on the value being exactly "custom". The new type field will include the full slug value, e.g. custom.integrationName.
  • Verify that you are not using any of the fields scheduled for removal from the API.

When were these changes released?

  • These changes were released on July 7, 2025.