openapi: 3.1.0 info: title: Paragon ActionKit Credentials Sync API description: ActionKit is an API to give your AI agent or app access to Paragon's catalog of pre-built Integration Tools across 130+ SaaS applications. ActionKit exposes a Universal API (Tools API) for listing and executing synchronous CRUD actions, and is paired with a Triggers API for event subscriptions. Paragon also publishes an MCP server (github.com/useparagon/paragon-mcp) that wraps ActionKit so agents can call integration tools via the Model Context Protocol. Requests are scoped to a Connected User via Paragon User Token (JWT) Bearer authentication. version: 1.0.0 contact: name: Paragon url: https://www.useparagon.com license: name: Proprietary url: https://www.useparagon.com/terms-of-service servers: - url: https://actionkit.useparagon.com description: Paragon ActionKit API (Cloud) security: - bearerAuth: [] tags: - name: Sync description: Enable, monitor, and read records from Managed Sync pipelines. paths: /projects/{projectId}/sync/enable: post: operationId: enableSync summary: Paragon Enable A Sync description: Enables a sync pipeline for a Connected User and integration. Paragon begins fetching records on a configurable schedule. tags: - Sync parameters: - name: projectId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - integration - syncType properties: integration: type: string description: Integration identifier (e.g., googleDrive, salesforce). syncType: type: string description: The sync pipeline type (e.g., files, contacts, deals, tickets). frequency: type: string description: Sync frequency (e.g., 1m, 15m, 1h, 1d). responses: '201': description: Sync enabled. content: application/json: schema: $ref: '#/components/schemas/SyncStatus' /projects/{projectId}/sync/status: get: operationId: getSyncStatus summary: Paragon Get Sync Status description: Returns the state of a sync pipeline for the Connected User. tags: - Sync parameters: - name: projectId in: path required: true schema: type: string - name: integration in: query required: true schema: type: string - name: syncType in: query required: true schema: type: string responses: '200': description: Sync status. content: application/json: schema: $ref: '#/components/schemas/SyncStatus' /projects/{projectId}/sync/records: get: operationId: pullSyncedRecords summary: Paragon Pull Synced Records description: Returns a paginated list of normalized records for a given integration and sync type (e.g., Files, Contacts, Deals, Tickets). tags: - Sync parameters: - name: projectId in: path required: true schema: type: string - name: integration in: query required: true schema: type: string - name: syncType in: query required: true schema: type: string - name: cursor in: query required: false schema: type: string responses: '200': description: List of synced records. content: application/json: schema: type: object properties: records: type: array items: $ref: '#/components/schemas/SyncedRecord' nextCursor: type: string /projects/{projectId}/sync/records/{recordId}: get: operationId: getSyncedRecord summary: Paragon Get Synced Record description: Returns a single normalized synced record by ID. tags: - Sync parameters: - name: projectId in: path required: true schema: type: string - name: recordId in: path required: true schema: type: string responses: '200': description: The synced record. content: application/json: schema: $ref: '#/components/schemas/SyncedRecord' /projects/{projectId}/sync/records/{recordId}/content: get: operationId: downloadContent summary: Paragon Download File Content description: Downloads the binary content of a file-type synced record. Returns the raw file bytes with the appropriate Content-Type for the source file. tags: - Sync parameters: - name: projectId in: path required: true schema: type: string - name: recordId in: path required: true schema: type: string responses: '200': description: File content. content: application/octet-stream: schema: type: string format: binary components: schemas: SyncedRecord: type: object description: A normalized record produced by a Managed Sync pipeline. properties: id: type: string integration: type: string syncType: type: string sourceId: type: string data: type: object additionalProperties: true permissions: type: object description: Source-system permissions captured for this record. additionalProperties: true updatedAt: type: string format: date-time SyncStatus: type: object properties: integration: type: string syncType: type: string status: type: string enum: - SYNCING - IDLE - ERROR - DISABLED lastSyncedAt: type: string format: date-time recordCount: type: integer securitySchemes: bearerAuth: type: http scheme: bearer description: Paragon User Token. A signed JWT token used to authenticate a Connected User.