openapi: 3.1.0 info: version: 0.25.7 title: Management API contact: name: Supaglue email: docs@supaglue.com url: https://supaglue.com description: '#### Introduction Welcome to the Management API documentation. You can use this API to manage customer integrations and connections. #### Base API URL ``` https://api.supaglue.io/mgmt/v2 ``` ' servers: - url: https://api.supaglue.io/mgmt/v2 description: Supaglue API paths: /customers: get: operationId: getCustomers tags: - Customers security: - x-api-key: [] summary: List customers description: Get a list of customers responses: '200': description: Customers content: application/json: schema: type: array items: $ref: '#/components/schemas/simple_customer' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: operationId: upsertCustomer summary: Upsert customer tags: - Customers security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_update_customer' responses: '200': description: Customer upserted content: application/json: schema: $ref: '#/components/schemas/customer' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /customers/{customer_id}: get: operationId: getCustomer summary: Get customer tags: - Customers security: - x-api-key: [] responses: '200': description: Customer content: application/json: schema: $ref: '#/components/schemas/simple_customer' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: operationId: deleteCustomer summary: Delete customer tags: - Customers security: - x-api-key: [] responses: '204': description: Customer content: application/json: schema: $ref: '#/components/schemas/simple_customer' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: customer_id in: path required: true schema: type: string example: your-customers-unique-application-id /destinations: get: operationId: getDestinations tags: - Destinations security: - x-api-key: [] summary: List destinations description: Get a list of destinations responses: '200': description: Destinations content: application/json: schema: type: array items: $ref: '#/components/schemas/destination' example: - id: 92bc3460-a301-4116-8d1f-6e5f8252c2e2 application_id: 9b9a31bb-9fe4-4fa5-ba84-4c035a27f258 name: My Postgres Destination type: postgres config: host: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: 5432 database: my_database schema: public user: user password: password '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: operationId: createDestination summary: Create destination tags: - Destinations security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_destination' responses: '201': description: Destination created content: application/json: schema: $ref: '#/components/schemas/destination' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /destinations/{destination_id}: get: operationId: getDestination summary: Get destination tags: - Destinations security: - x-api-key: [] responses: '200': description: Destination content: application/json: schema: $ref: '#/components/schemas/destination' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: operationId: updateDestination summary: Update destination tags: - Destinations parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/update_destination' responses: '200': description: Destination content: application/json: schema: $ref: '#/components/schemas/destination' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: destination_id in: path required: true schema: type: string /magic_links: get: operationId: getMagicLinks tags: - Magic Links security: - x-api-key: [] summary: List magic links description: Get a list of magic links responses: '200': description: Magic Links content: application/json: schema: type: array items: $ref: '#/components/schemas/magic_link' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: operationId: createMagicLink summary: Create magic link tags: - Magic Links security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_magic_link' responses: '201': description: Entity created content: application/json: schema: $ref: '#/components/schemas/magic_link' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /magic_links/{magic_link_id}: delete: operationId: deleteMagicLink summary: Delete magic link tags: - Magic Links security: - x-api-key: [] responses: '204': description: Magic Link deleted '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: magic_link_id in: path required: true schema: type: string example: 6bf954f9-dba3-4c34-9275-3830dccb0030 /field_mappings: get: deprecated: true operationId: listFieldMappings summary: List schema mappings tags: - SchemaMappings security: - x-api-key: [] parameters: [] responses: '200': description: List of objects and their field mappings (if set) content: application/json: schema: type: array items: $ref: '#/components/schemas/object_field_mappings' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /field_mappings/_update_object: put: deprecated: true operationId: updateObjectFieldMappings summary: Update schema mappings tags: - SchemaMappings security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/update_object_field_mapping' responses: '200': description: List of objects and their field mappings (if set) content: application/json: schema: $ref: '#/components/schemas/object_field_mappings' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /entity_mappings: get: deprecated: true operationId: listEntityMappings summary: List entity mappings. tags: - EntityMappings security: - x-api-key: [] parameters: [] responses: '200': description: List of entity mappings content: application/json: schema: type: array items: $ref: '#/components/schemas/merged_entity_mapping' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /entity_mappings/{entity_id}: put: deprecated: true operationId: upsertEntityMapping summary: Upsert entity mapping tags: - EntityMappings parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/connection_entity_mapping' responses: '200': description: Entity Mapping '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: deprecated: true operationId: deleteEntityMapping summary: Delete entity mapping tags: - EntityMappings security: - x-api-key: [] responses: '204': description: Entity Mapping '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' - name: entity_id in: path required: true schema: type: string example: 0258cbc6-6020-430a-848e-aafacbadf4ae /schemas: get: deprecated: true operationId: getSchemas tags: - Schemas security: - x-api-key: [] summary: List schemas description: Get a list of schemas responses: '200': description: Schemas content: application/json: schema: type: array items: $ref: '#/components/schemas/schema' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: deprecated: true operationId: createSchema summary: Create schema tags: - Schemas security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_update_schema' responses: '201': description: Schema created content: application/json: schema: $ref: '#/components/schemas/schema' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /schemas/{schema_id}: get: deprecated: true operationId: getSchema summary: Get schema tags: - Schemas security: - x-api-key: [] responses: '200': description: Schema content: application/json: schema: $ref: '#/components/schemas/schema' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: deprecated: true operationId: updateSchema summary: Update schema tags: - Schemas security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_update_schema' responses: '200': description: Schema content: application/json: schema: $ref: '#/components/schemas/schema' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: deprecated: true operationId: deleteSchema summary: Delete schema tags: - Schemas security: - x-api-key: [] responses: '204': description: Schema content: application/json: schema: $ref: '#/components/schemas/schema' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: schema_id in: path required: true schema: type: string example: a821d59d-8b4c-4ad9-aeec-1292d2e28701 /entities: get: deprecated: true operationId: getEntities tags: - Entities security: - x-api-key: [] summary: List entities description: Get a list of entities responses: '200': description: Entities content: application/json: schema: type: array items: $ref: '#/components/schemas/entity' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: deprecated: true operationId: createEntity summary: Create entity tags: - Entities security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_update_entity' responses: '201': description: Entity created content: application/json: schema: $ref: '#/components/schemas/entity' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /entities/{entity_id}: get: deprecated: true operationId: getEntity summary: Get entity tags: - Entities security: - x-api-key: [] responses: '200': description: Entity content: application/json: schema: $ref: '#/components/schemas/entity' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '499': $ref: '#/components/responses/remoteProviderError' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: deprecated: true operationId: updateEntity summary: Update entity tags: - Entities parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_update_entity' responses: '200': description: Entity content: application/json: schema: $ref: '#/components/schemas/entity' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: deprecated: true operationId: deleteEntity summary: Delete entity tags: - Entities security: - x-api-key: [] responses: '204': description: Entity content: application/json: schema: $ref: '#/components/schemas/entity' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: entity_id in: path required: true schema: type: string /providers: get: operationId: getProviders tags: - Providers security: - x-api-key: [] summary: List providers description: Get a list of providers responses: '200': description: Providers content: application/json: schema: type: array items: $ref: '#/components/schemas/provider' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: operationId: createProvider summary: Create provider tags: - Providers security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_provider' responses: '201': description: Provider created content: application/json: schema: $ref: '#/components/schemas/provider' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /providers/{provider_id}: get: operationId: getProvider summary: Get provider tags: - Providers security: - x-api-key: [] responses: '200': description: Provider content: application/json: schema: $ref: '#/components/schemas/provider' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: operationId: updateProvider summary: Update provider tags: - Providers security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/update_provider' responses: '200': description: Provider content: application/json: schema: $ref: '#/components/schemas/provider' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: operationId: deleteProvider summary: Delete provider tags: - Providers security: - x-api-key: [] responses: '200': description: Provider content: application/json: schema: $ref: '#/components/schemas/provider' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: provider_id in: path required: true schema: type: string /sync_configs: get: operationId: getSyncConfigs tags: - SyncConfigs security: - x-api-key: [] summary: List Sync Configs description: Get a list of Sync Configs responses: '200': description: SyncConfigs content: application/json: schema: type: array items: $ref: '#/components/schemas/sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: operationId: createSyncConfig summary: Create Sync Config tags: - SyncConfigs security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/create_sync_config' responses: '201': description: SyncConfig created content: application/json: schema: $ref: '#/components/schemas/sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /sync_configs/{sync_config_id}: get: operationId: getSyncConfig summary: Get Sync Config tags: - SyncConfigs security: - x-api-key: [] responses: '200': description: SyncConfig content: application/json: schema: $ref: '#/components/schemas/sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: operationId: updateSyncConfig summary: Update Sync Config description: ':::danger If `force_delete_syncs` is set to true, any syncs for any deleted objects will be cascadingly deleted for all customers with this sync config. ::: ' tags: - SyncConfigs security: - x-api-key: [] parameters: - name: force_delete_syncs in: query required: false schema: type: boolean description: If true, any syncs for any deleted objects will be cascadingly deleted for all customers with this sync config requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/update_sync_config' responses: '200': description: SyncConfig content: application/json: schema: $ref: '#/components/schemas/sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: operationId: deleteSyncConfig summary: Delete Sync Config description: ':::danger If `force_delete_syncs` is set to true, all syncs for all customers with this sync config will be cascadingly deleted. ::: ' tags: - SyncConfigs security: - x-api-key: [] parameters: - name: force_delete_syncs in: query required: false schema: type: boolean description: If true, all syncs for all customers with this sync config will be cascadingly deleted responses: '200': description: SyncConfig content: application/json: schema: $ref: '#/components/schemas/sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: sync_config_id in: path required: true schema: type: string example: d583ec72-55d4-4f35-9668-f6c759674cc1 /connection_sync_configs: get: operationId: getConnectionSyncConfig summary: Get connection sync config tags: - ConnectionSyncConfigs security: - x-api-key: [] parameters: [] responses: '200': description: Connection Sync Config content: application/json: schema: $ref: '#/components/schemas/connection_sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '499': $ref: '#/components/responses/remoteProviderError' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' put: operationId: upsertConnectionSyncConfig summary: Upsert connection sync config description: Use this to override SyncConfig and Destination configurations on a per customer-connection basis. E.g. you can override the objects that are synced per customer-connection as well as override the table/collection that these objects are written into. tags: - ConnectionSyncConfigs security: - x-api-key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/upsert_connection_sync_config' responses: '200': description: Connection Sync Config content: application/json: schema: $ref: '#/components/schemas/connection_sync_config' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: operationId: deleteConnectionSyncConfig summary: Delete connection sync config tags: - ConnectionSyncConfigs security: - x-api-key: [] responses: '204': description: Connection Sync Config '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /customers/{customer_id}/connections: get: operationId: getConnections tags: - Connections security: - x-api-key: [] summary: List connections description: Get a list of connections responses: '200': description: Connections content: application/json: schema: type: array items: $ref: '#/components/schemas/connection' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' post: operationId: createConnection summary: Create a connection description: This endpoint is for providers that use API key or access key for authentication. Please use [Embedded Links](https://docs.supaglue.com/platform/managed-auth#oauth-20) for providers that support Oauth2 for authentication. tags: - Connections parameters: [] security: - x-api-key: [] requestBody: required: true content: application/json: schema: oneOf: - type: object title: apollo properties: provider_name: type: string enum: - apollo example: apollo type: type: string enum: - api_key example: api_key api_key: type: string description: API key for the connected customer. example: e0c5545d-77b8-458d-b4bf-fc701a9cecac required: - provider_name - type - api_key - type: object title: gong properties: provider_name: type: string enum: - gong example: gong type: type: string enum: - access_key_secret example: access_key_secret access_key: type: string description: Access key for the connected customer. example: e0c5545d-77b8-458d-b4bf-fc701a9cecac access_key_secret: type: string description: Access key secret for the connected customer. example: 258a80aa-2e9b-40b0-8d7a-28f858a856f3 required: - provider_name - type - access_key - access_key_secret - type: object title: salesforce properties: provider_name: type: string enum: - salesforce example: salesforce type: type: string enum: - oauth2 example: oauth2 refresh_token: type: string instance_url: type: string login_url: type: string required: - provider_name - type - refresh_token - instance_url - type: object title: hubspot properties: provider_name: type: string enum: - hubspot example: hubspot type: type: string enum: - oauth2 example: oauth2 refresh_token: type: string required: - provider_name - type - refresh_token responses: '200': description: Connection created content: application/json: schema: $ref: '#/components/schemas/connection' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: customer_id in: path required: true schema: type: string /customers/{customer_id}/connections/_provider_user_id: get: operationId: getProviderUserId summary: Get logged in User ID and details description: 'This endpoint returns the ID of the logged in (common schema) User and details. The common schema User ID maps to the following 3rd-party provider object IDs: | Provider | Remote object ID | | ---------- | ----------------- | | Salesforce | User | | Hubspot | V3 Owner | | Dynamics | Azure System User | | Intercom | Admin | ' tags: - Connections security: - x-api-key: [] parameters: - name: x-sg-minor-version in: header schema: type: string enum: - '1' example: 1 - name: provider_name in: query required: true schema: type: string enum: - hubspot - ms_dynamics_365_sales - intercom example: hubspot responses: '200': description: UserId content: application/json: schema: type: object properties: user_id: type: string description: The ID of the logged in user that originates from your customer's third-party Provider. Refer to the table above for the Provider ID mapping. raw_details: type: object additionalProperties: true description: The raw data from the your customer's third-party Provider. additional_raw_details: type: object additionalProperties: true description: For some third-party Providers, there may be additional data used to lookup the common schema User ID (e.g. with Hubspot) example: user_id: 70115e3c-2700-4112-b28f-2706e08570e6 raw_details: user_id: 70115e3c-2700-4112-b28f-2706e08570e6 user: test@something.com scopes: - contacts - automation - oauth '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '499': $ref: '#/components/responses/remoteProviderError' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: customer_id in: path required: true schema: type: string /customers/{customer_id}/connections/{provider_name}: get: operationId: getConnection summary: Get connection tags: - Connections security: - x-api-key: [] responses: '200': description: Connection content: application/json: schema: $ref: '#/components/schemas/connection' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' delete: operationId: deleteConnection summary: Delete connection tags: - Connections security: - x-api-key: [] responses: '204': description: An empty body is returned on successful deletion. '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - name: customer_id in: path required: true schema: type: string - name: provider_name in: path required: true schema: $ref: '#/components/schemas/provider_name' /customers/{customer_id}/connections/{provider_name}/_rate_limit_info: get: operationId: getConnectionRateLimitInfo summary: Get connection rate limit info description: 'Get rate limit info for a connection. This endpoint is only available for salesforce and apollo connections. ' tags: - Connections security: - x-api-key: [] responses: '200': description: Connection rate limit info content: application/json: schema: $ref: '#/components/schemas/rate_limit_info' parameters: - name: customer_id in: path required: true schema: type: string - name: provider_name in: path required: true schema: $ref: '#/components/schemas/provider_name' /syncs: get: operationId: getSyncs tags: - Syncs security: - x-api-key: [] summary: Get Syncs description: Get a list of Syncs. parameters: - name: cursor in: query schema: type: string example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw description: The pagination cursor value - name: page_size in: query schema: type: string example: '100' description: Number of results to return per page - name: customer_id in: query schema: type: string example: my-customer-1 description: The customer ID that uniquely identifies the customer in your application - name: provider_name in: query schema: type: string example: salesforce description: The provider name - name: object_type in: query schema: type: string enum: - common - standard - custom example: standard description: The object type to filter by - name: object in: query schema: type: string example: contact description: The object to filter by - name: entity_id deprecated: true in: query schema: type: string example: e74b5a4f-f252-4a6c-940c-f35873498543 description: The entity id to filter by responses: '200': description: Sync content: application/json: schema: allOf: - $ref: '#/components/schemas/pagination' - type: object properties: results: type: array items: $ref: '#/components/schemas/sync_with_provider_and_customer' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' /syncs/_pause: post: operationId: pauseSync summary: Pause sync tags: - Syncs security: - x-api-key: [] requestBody: required: true content: application/json: schema: oneOf: - type: object title: 'Data model: Objects' properties: object_type: type: string enum: - common - standard - custom example: standard description: The object type to filter by object: type: string example: Contact description: The Provider object to filter by (case sensitive) required: - object_type - object - type: object title: 'Data model: Common Schema' properties: object_type: type: string enum: - common example: common description: The object type to filter by object: type: string example: contact description: The Supaglue object to filter by required: - object_type - object - type: object title: 'Data model: Entities' deprecated: true properties: entity_id: type: string description: The entity id to filter by required: - entity_id responses: '200': description: Sync paused content: application/json: schema: $ref: '#/components/schemas/sync' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /syncs/_resume: post: operationId: resumeSync summary: Resume sync tags: - Syncs security: - x-api-key: [] requestBody: required: true content: application/json: schema: oneOf: - type: object title: 'Data model: Objects' properties: object_type: type: string enum: - common - standard - custom example: standard description: The object type to filter by object: type: string example: contact description: The object to filter by required: - object_type - object - type: object title: 'Data model: Entities' deprecated: true properties: entity_id: type: string example: cfba6060-c43a-4a63-8a8c-501c6099f8b0 description: The entity id to filter by required: - entity_id responses: '200': description: Sync resumed content: application/json: schema: $ref: '#/components/schemas/sync' example: id: 2caab904-3c7c-4894-8c82-4c28913b3419 type: entity entity_id: db602f88-7a8c-44f0-8932-c92f1e033494 connection_id: da732713-2ff7-4f3b-8728-257a026177cd sync_config_id: f2b3ea2a-6a1e-4983-91f1-92a4db4d7abd paused: false '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /syncs/_trigger: post: operationId: triggerSync summary: Trigger sync tags: - Syncs security: - x-api-key: [] requestBody: required: true content: application/json: schema: oneOf: - type: object title: 'Data model: Objects' properties: object_type: type: string enum: - standard - custom description: The object type to filter by example: standard object: type: string example: contact description: The Provider object to filter by (case sensitive) perform_full_refresh: type: boolean example: true required: - object_type - object - type: object title: 'Data model: Common Schema' properties: object_type: type: string enum: - common description: The object type to filter by example: common object: type: string example: contact description: The Supaglue object to filter by perform_full_refresh: type: boolean example: true required: - object_type - object - type: object title: 'Data model: Entities' deprecated: true properties: entity_id: type: string description: The entity id to filter by perform_full_refresh: type: boolean example: true required: - entity_id responses: '200': description: Sync triggered content: application/json: schema: $ref: '#/components/schemas/sync' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '422': $ref: '#/components/responses/unprocessableEntity' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' /sync-runs: get: operationId: getSyncRuns tags: - SyncRuns security: - x-api-key: [] summary: Get SyncRuns description: Get a list of SyncRuns. parameters: - name: cursor in: query schema: type: string example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw description: The pagination cursor value - name: page_size in: query schema: type: string example: '100' description: Number of results to return per page - name: customer_id in: query schema: type: string example: my-customer-1 description: The customer ID that uniquely identifies the customer in your application - name: provider_name in: query schema: type: string example: salesforce description: The provider name - name: object_type in: query schema: type: string enum: - common - standard - custom example: standard - name: object in: query schema: type: string example: account description: The object to filter by - name: entity_id deprecated: true in: query schema: type: string example: e74b5a4f-f252-4a6c-940c-f35873498543 description: The entity id to filter by - name: status in: query schema: type: string example: SUCCESS description: The status to filter by (case-insensitive) - name: start_timestamp in: query schema: type: string example: '>2021-01-06T03:24:53.434326Z' description: The start time to filter by. Should start with one of [`>`, `<`] followed by an ISO 8601 timestamp. - name: end_timestamp in: query schema: type: string example: '>2021-01-06T03:24:53.434326Z' description: The end time to filter by. Should start with [`>`, `<`] followed by an ISO 8601 timestamp. responses: '200': description: SyncRun content: application/json: schema: allOf: - $ref: '#/components/schemas/pagination' - type: object properties: results: type: array items: $ref: '#/components/schemas/sync_run' '400': $ref: '#/components/responses/badRequest' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '501': $ref: '#/components/responses/notImplemented' tags: - name: Customers description: A `Customer` represents one of your customers. - name: Connections description: A `Connection` represents a Customer's connection to a Provider. - name: ConnectionSyncConfigs description: A `ConnectionSyncConfig` is a configuration for how to sync a specific Customer's data from a Provider to a Destination on a schedule. - name: Destinations description: A `Destination` is a data store where we write data in your infrastructure. - name: Magic Links description: A `Magic Link` is a secure URL that allows your customers to connect their accounts to Supaglue. - name: Providers description: A `Provider` is a third-party SaaS tool we can connect to (e.g. Salesforce). - name: Schemas description: A [`Schema`](https://docs.supaglue.com/platform/objects/overview#schemas) allows you to normalize fields for customers across a single Provider object. Supaglue uses Schemas for Managed Syncs and Actions API. - name: Entities description: An [`Entity`](https://docs.supaglue.com/platform/entities/overview) allows you to represent your application data models in Supaglue so customers can map their different Provider objects and fields. Supaglue uses Entities for Managed Syncs and Actions API. - name: EntityMappings description: An [`Entity Mapping`](https://docs.supaglue.com/platform/entities/overview#entity-mapping) maps an [Entity](https://docs.supaglue.com/platform/entities/overview) to a customer's Provider object and fields. Use Entity Mappings when you use [Entities](https://docs.supaglue.com/platform/entities/overview) as your data model. - name: SchemaMappings description: A `Schema Mapping` is a mapping between a [Schema](https://docs.supaglue.com/platform/objects/overview#schemas) field and fields in your customer's Provider object. - name: SyncConfigs description: A `SyncConfig` is a configuration for how to sync your Customers' data from a Provider to a Destination on a schedule. - name: SyncRuns description: A `SyncRun` is a single execution of a Sync at a point in time. - name: Syncs description: A `Sync` is a way for a Customer to sync data from a Provider to a Destination on a schedule. - name: Webhooks description: A `Webhook` is a way for Supaglue to notify you when events have happened. components: securitySchemes: x-api-key: type: apiKey name: x-api-key in: header description: API key to allow developers to access the API schemas: pagination: type: object properties: next: type: string nullable: true example: eyJpZCI6IjQyNTc5ZjczLTg1MjQtNDU3MC05YjY3LWVjYmQ3MDJjNmIxNCIsInJldmVyc2UiOmZhbHNlfQ== previous: type: string nullable: true example: eyJpZCI6IjBjZDhmYmZkLWU5NmQtNDEwZC05ZjQxLWIwMjU1YjdmNGI4NyIsInJldmVyc2UiOnRydWV9 total_count: type: number example: 100 required: - next - previous customer: type: object properties: application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 customer_id: type: string example: your-customers-unique-application-id name: type: string example: MyCompany Inc email: type: string example: contact@mycompany.com connections: type: array items: $ref: '#/components/schemas/connection' required: - application_id - name - email - customer_id simple_customer: type: object properties: application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 customer_id: type: string example: your-customers-unique-application-id name: type: string example: MyCompany Inc email: type: string example: contact@mycompany.com required: - application_id - name - email - customer_id provider: type: object properties: id: type: string example: 0c4cb91f-e392-46f5-8934-17496371f932 application_id: type: string example: 273e1c75-3b6d-439a-9b8e-c6ac407df92a category: $ref: '#/components/schemas/category' auth_type: type: string enum: - oauth2 - api_key - access_key_secret example: oauth2 name: $ref: '#/components/schemas/provider_name' config: $ref: '#/components/schemas/create_provider_config' objects: $ref: '#/components/schemas/objects' entity_mappings: type: array deprecated: true description: This is for object/field mappings when you data model using [Entities](https://docs.supaglue.com/platform/entities/overview). The object/field mappings (aka [Entity Mappings](https://docs.supaglue.com/platform/entities/overview#entity-mapping)) here are set by you, the developer, and the mappings apply for all your customers. items: $ref: '#/components/schemas/provider_entity_mapping' required: - id - application_id - category - auth_type - name destination: example: id: 2cce5aed-e8fc-41b2-bff6-6ddbc1f99285 application_id: e52286c9-3038-4fa2-a2b8-3ec9759d20cb name: My Postgres Destination type: postgres config: host: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: 5432 database: postgres_prod_db schema: public user: myuser oneOf: - type: object title: postgres properties: id: type: string example: d455d20b-f6dc-4bc3-ab14-b4f21c4b4835 application_id: type: string example: 726fb798-d854-4c59-9a23-57e3e2f73eae name: type: string example: My Postgres Destination type: type: string enum: - postgres example: postgres config: $ref: '#/components/schemas/postgres_config_safe' version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - name - type - config - version - type: object title: supaglue description: A Supaglue-hosted Postgres database destination for Listing APIs. properties: id: type: string example: d455d20b-f6dc-4bc3-ab14-b4f21c4b4835 application_id: type: string example: 726fb798-d854-4c59-9a23-57e3e2f73eae type: type: string enum: - supaglue example: supaglue version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - type - version - type: object title: bigquery properties: id: type: string example: e888cedf-e9d0-42c5-9485-2d72984faef2 application_id: type: string example: 9572d08b-f19f-48cc-a992-1eb7031d3f6a name: type: string example: My BigQuery Destination type: type: string enum: - bigquery example: bigquery config: $ref: '#/components/schemas/bigquery_config_safe' version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - name - type - config - version - type: object title: snowflake properties: id: type: string example: e888cedf-e9d0-42c5-9485-2d72984faef2 application_id: type: string example: 9572d08b-f19f-48cc-a992-1eb7031d3f6a name: type: string example: My Snowflake Destination type: type: string enum: - snowflake example: snowflake config: $ref: '#/components/schemas/snowflake_config_safe' version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - name - type - config - version - type: object title: redshift properties: id: type: string example: e888cedf-e9d0-42c5-9485-2d72984faef2 application_id: type: string example: 9572d08b-f19f-48cc-a992-1eb7031d3f6a name: type: string example: My Redshift Destination type: type: string enum: - redshift example: redshift config: $ref: '#/components/schemas/redshift_config_safe' version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - name - type - config - version - type: object title: s3 properties: id: type: string example: e888cedf-e9d0-42c5-9485-2d72984faef2 application_id: type: string example: 9572d08b-f19f-48cc-a992-1eb7031d3f6a name: type: string example: My S3 Destination type: type: string enum: - s3 example: s3 config: $ref: '#/components/schemas/s3_config_safe' version: type: number example: 1 description: A monotonically increasing version number of the destination configuration required: - id - application_id - name - type - config - version postgres_config_safe: type: object properties: host: type: string example: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: type: number example: 5432 database: type: string example: postgres_prod_db schema: type: string example: public user: type: string example: myuser ssl_mode: type: string enum: - disable - no-verify - prefer - require - verify-ca - verify-full example: disable required: - host - port - database - schema - user bigquery_config_safe: type: object properties: project_id: type: string example: my-gcp-project-id dataset: type: string example: my_bigquery_dataset credentials: type: object properties: client_email: type: string example: my_bigquery_service_account@my_project.iam.gserviceaccount.com required: - client_email required: - project_id - dataset - credentials snowflake_config_safe: type: object properties: host: type: string example: paa05704.us-east-1 role: type: string example: supaglue warehouse: type: string example: compute database: type: string example: my_database schema: type: string example: schema username: type: string example: snowflake_user required: - host - role - warehouse - database - schema - username redshift_config_safe: type: object properties: host: type: string example: paa05704.us-east-1 port: type: number example: 5439 username: type: string example: redshift_user database: type: string example: my_database schema: type: string example: schema upload_method: type: string example: s3_staging s3_key_id: type: string example: AKIDFIAKFISDKFSI s3_bucket_name: type: string example: my_bucket s3_bucket_region: type: string example: us-west-2 required: - host - port - username - database - schema - upload_method - s3_key_id - s3_bucket_name - s3_bucket_region s3_config_safe: type: object properties: bucket: type: string example: s3://my-bucket-name region: type: string example: us-west-2 access_key_id: type: string example: AKIDFIAKFISDKFSI required: - bucket - region - access_key_id postgres_config_at_least_safe: type: object properties: host: type: string example: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: type: number example: 5432 database: type: string example: postgres_prod_db schema: type: string example: public user: type: string example: myuser password: type: string example: mysensitivepassword required: - host - port - database - schema - user bigquery_config_at_least_safe: type: object properties: project_id: type: string example: my-gcp-project-id dataset: type: string example: my_bigquery_dataset credentials: type: object properties: client_email: type: string example: my_bigquery_service_account@my_project.iam.gserviceaccount.com private_key: type: string example: '-----BEGIN PRIVATE KEY-----\nMII...' required: - client_email - private_key required: - project_id - dataset - credentials snowflake_config_at_least_safe: type: object properties: host: type: string example: paa05704.us-east-1 role: type: string example: supaglue warehouse: type: string example: compute database: type: string example: my_database schema: type: string example: schema username: type: string example: snowflake_user password: type: string example: 12345fakepassword required: - host - role - warehouse - database - schema - username - password redshift_config_at_least_safe: type: object properties: host: type: string example: paa05704.us-east-1 port: type: number example: 5439 username: type: string example: redshift_user database: type: string example: my_database schema: type: string example: schema upload_method: type: string example: s3_staging s3_key_id: type: string example: AKIDFIAKFISDKFSI s3_bucket_name: type: string example: my_bucket s3_bucket_region: type: string example: us-west-2 s3_access_key: type: string example: ASDFKSFSFKSDKFSK required: - host - port - username - database - schema - upload_method - s3_key_id - s3_bucket_name - s3_bucket_region - s3_access_key s3_config_at_least_safe: type: object properties: bucket: type: string example: s3://my-bucket-name region: type: string example: us-west-2 access_key_id: type: string example: AKIDFIAKFISDKFSI secret_access_key: type: string example: ASDFKSFSFKSDKFSK required: - bucket - region - access_key_id - secret_access_key postgres_config_unsafe: type: object properties: host: type: string example: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: type: number example: 5432 database: type: string example: postgres_prod_db schema: type: string example: public user: type: string example: myuser ssl_mode: type: string enum: - disable - no-verify - prefer - require - verify-ca - verify-full example: disable password: type: string example: mysensitivepassword server_ca_cert: type: string example: '---BEGIN CERTIFICATE-----' client_cert: type: string example: '---BEGIN CERTIFICATE-----' client_key: type: string example: '---BEGIN RSA PRIVATE KEY-----' server_name: type: string example: 1-dd8643d8-f1ce-420f-a867-66b78a4734be.us-central1.sql.goog required: - host - port - database - schema - user - password bigquery_config_unsafe: type: object properties: project_id: type: string example: my-gcp-project-id dataset: type: string example: my_bigquery_dataset credentials: type: object properties: client_email: type: string example: my_bigquery_service_account@my_project.iam.gserviceaccount.com private_key: type: string example: '-----BEGIN PRIVATE KEY-----\nMII...' required: - client_email - private_key required: - project_id - dataset - credentials snowflake_config_unsafe: type: object properties: host: type: string example: paa05704.us-east-1 role: type: string example: supaglue warehouse: type: string example: compute database: type: string example: my_database schema: type: string example: schema username: type: string example: snowflake_user password: type: string example: 12345fakepassword required: - host - role - warehouse - database - schema - username - password redshift_config_unsafe: type: object properties: host: type: string example: paa05704.us-east-1 port: type: number example: 5439 username: type: string example: redshift_user database: type: string example: my_database schema: type: string example: schema upload_method: type: string example: s3_staging s3_key_id: type: string example: AKIDFIAKFISDKFSI s3_bucket_name: type: string example: my_bucket s3_bucket_region: type: string example: us-west-2 s3_access_key: type: string example: ASDFKSFSFKSDKFSK required: - host - port - username - database - schema - upload_method - s3_key_id - s3_bucket_name - s3_bucket_region - s3_access_key s3_config_unsafe: type: object properties: bucket: type: string example: s3://my-bucket-name region: type: string example: us-west-2 access_key_id: type: string example: AKIDFIAKFISDKFSI secret_access_key: type: string example: ASDFKSFSFKSDKFSK required: - bucket - region - access_key_id - secret_access_key schema: type: object deprecated: true properties: id: type: string example: 649b1e49-2722-46a3-a7e7-10caae78a43f application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 name: type: string example: my-schema config: $ref: '#/components/schemas/schema_config' required: - id - application_id - name - config schema_config: type: object deprecated: true properties: fields: type: array items: type: object properties: name: type: string example: apolla_first_name description: Your application field name. mapped_name: type: string example: FirstName description: The field your customer maps. This is a Provider-specified field name. E.g. FirstName for Salesforce. required: - name allow_additional_field_mappings: type: boolean description: Specifies whether your customer can add new application field names. example: false required: - fields - allow_additional_field_mappings magic_link: type: object properties: id: type: string example: ec208408-db29-4705-b39e-4d33070b4ef6 status: type: string description: '`new` or `consumed`' example: new application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 customer_id: type: string example: my-customer-1 provider_id: type: string example: 677fcfca-cf89-4387-a189-71c885be67bc provider_name: $ref: '#/components/schemas/provider_name' url: type: string description: The magic link URL. example: https://app.hubspot.com/contacts/123456 return_url: type: string description: URL to redirect to after the connection is authorized. example: https://app.myapp.com/connections/123456 expires_at: type: string format: date-time example: '2023-02-23T00:00:00Z' description: Any ISO formatted date-time string indicating when the magic link expires. required: - id - status - application_id - customer_id - provider_id - provider_name - expires_at - url - return_url create_magic_link: type: object properties: customer_id: type: string example: my-customer-1 provider_name: $ref: '#/components/schemas/provider_name' return_url: type: string description: URL to redirect to after the connection is authorized. example: https://app.myapp.com/connections/123456 expiration_secs: type: number example: 18000 required: - customer_id - provider_name - expiration_secs - return_url entity: type: object deprecated: true properties: id: type: string example: 649b1e49-2722-46a3-a7e7-10caae78a43f application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 name: type: string example: my-entity config: $ref: '#/components/schemas/entity_config' required: - id - application_id - name - config entity_config: type: object deprecated: true properties: fields: type: array items: type: object properties: name: type: string example: apolla_first_name required: - name allow_additional_field_mappings: type: boolean required: - fields - allow_additional_field_mappings objects: type: object description: This is for field mappings when you data model using [Objects](https://docs.supaglue.com/platform/objects/overview). The field mappings (aka [Schemas](https://docs.supaglue.com/platform/objects/overview#schemas)) here are set by you, the developer, and the mappings apply for all your customers. properties: common: type: array items: type: object properties: name: type: string example: account schema_id: type: string description: If set, will sync these mapped fields into the raw_data column in addition to the common object. If not set, will fetch all fields as is. example: 328a8cb3-8345-4b02-b661-ee13b4f76806 required: - name standard: type: array items: type: object properties: name: type: string example: Account schema_id: type: string example: 777ea826-5776-4347-9ece-47bbb17ccdd4 required: - name object_field_mappings: type: object properties: object_name: type: string example: contact object_type: type: string enum: - common - standard allow_additional_field_mappings: type: boolean example: true schema_id: type: string example: 51797e8d-f081-496d-99ec-5e41b467df4b fields: type: array items: $ref: '#/components/schemas/merged_field_map' required: - object_name - object_type - allow_additional_field_mappings - schema_id - fields merged_field_map: type: object properties: name: type: string description: The name of the field as set in the schema example: email is_added_by_customer: type: boolean description: Whether the field was added by the customer (only applicable if the schema has allow_additional_field_mappings set to true) schema_mapped_name: type: string description: The mapped named of the field as set in the schema by the developer. If set, the customer cannot override. Only one of `schema_mapped_name` or `customer_mapped_name` should be set. customer_mapped_name: type: string description: The mapped name of the field as set by the customer. Only one of `schema_mapped_name` or `customer_mapped_name` should be set. required: - name - is_added_by_customer update_object_field_mapping: type: object properties: name: type: string example: contact type: type: string enum: - common - standard field_mappings: type: array items: $ref: '#/components/schemas/object_field_mapping' required: - name - type - field_mappings object_field_mapping: type: object properties: schema_field: type: string example: apolla_first_name mapped_field: type: string example: FirstName required: - schema_field connection: type: object properties: id: type: string example: e888cedf-e9d0-42c5-9485-2d72984faef2 application_id: type: string example: d8ceb3ff-8b7f-4fa7-b8de-849292f6ca69 customer_id: type: string example: my-customer-1 provider_id: type: string example: 677fcfca-cf89-4387-a189-71c885be67bc provider_name: $ref: '#/components/schemas/provider_name' category: $ref: '#/components/schemas/category' instance_url: type: string example: https://app.hubspot.com/contacts/123456 description: Instance URL for the connected customer. schema_mappings_config: description: This is for field mappings when you data model using [Objects](https://docs.supaglue.com/platform/objects/overview#schemas). The field mappings here are set by your customers using the [Field Mappings API](https://docs.supaglue.com/api/v2/mgmt/update-object-field-mappings). type: object deprecated: true properties: common_objects: type: array items: type: object properties: object: type: string example: Contact__c field_mappings: type: array items: $ref: '#/components/schemas/object_field_mapping' required: - object - field_mappings standard_objects: type: array items: type: object properties: object: type: string example: Contact field_mappings: type: array items: $ref: '#/components/schemas/object_field_mapping' example: null required: - object - field_mappings entity_mappings: type: array description: This is for object/field mappings when you data model using [Entities](https://docs.supaglue.com/platform/entities/overview#entity-mapping). The object/field mappings here are set by your customers using the [Entity Mappings API](https://docs.supaglue.com/api/v2/mgmt/upsert-entity-mapping). deprecated: true items: $ref: '#/components/schemas/connection_entity_mapping' example: [] connection_sync_config: $ref: '#/components/schemas/connection_sync_config' required: - id - application_id - customer_id - provider_id - provider_name - category - instance_url single_rate_limit_info: type: object properties: limit: type: integer example: 1000 remaining: type: integer example: 900 reset_time: type: integer description: The time (in epoch seconds) at which the rate limit will reset. If missing, the rate limit is a sliding window. example: 1615219200 required: - limit - remaining rate_limit_info: type: object properties: daily: $ref: '#/components/schemas/single_rate_limit_info' hourly: $ref: '#/components/schemas/single_rate_limit_info' other: type: object additionalProperties: $ref: '#/components/schemas/single_rate_limit_info' category: type: string enum: - crm - engagement - enrichment - marketing_automation - no_category example: crm sync_config: type: object properties: id: type: string example: 465fdcb7-26b4-4090-894c-67cab41022bb application_id: type: string example: 9572d08b-f19f-48cc-a992-1eb7031d3f6a destination_name: type: string example: postgres provider_name: $ref: '#/components/schemas/provider_name' config: $ref: '#/components/schemas/sync_config_data' required: - id - application_id - destination_name - provider_name - config sync_config_data: type: object properties: default_config: $ref: '#/components/schemas/sync_strategy_config' common_objects: description: A list of Supaglue objects to be synced. type: array items: type: object properties: object: type: string description: The Supaglue object name example: contact sync_strategy_override: $ref: '#/components/schemas/sync_strategy_config' associations_to_fetch: type: array description: "A list of associated objects to fetch when syncing this\ \ object. \nIf empty or unspecified, no additional associations\ \ will be fetched other than the ones required to populate the common\ \ model.\nOnly relevant for Hubspot.\n" items: type: string description: Name of the associated object to fetch example: account required: - object standard_objects: description: A list of case-sensitive Provider objects to be synced. type: array items: type: object properties: object: type: string description: The Provider object name (case sensitive) example: Contact sync_strategy_override: $ref: '#/components/schemas/sync_strategy_config' associations_to_fetch: type: array description: "A list of associated objects to fetch when syncing this\ \ object. \nIf empty or unspecified, no associations will be fetched.\n\ Only relevant for Hubspot.\n" items: type: string description: Name of the associated object to fetch example: account required: - object custom_objects: description: A list of case-sensitive custom objects to be synced. Only supported for Salesforce and Hubspot. type: array items: type: object properties: object: type: string description: The custom object name (case sensitive). For Salesforce, this should end with `__c`. example: MyCustomObject__c sync_strategy_override: $ref: '#/components/schemas/sync_strategy_config' associations_to_fetch: type: array description: "A list of associated objects to fetch when syncing this\ \ object. \nIf empty or unspecified, no associations will be fetched.\n\ Only relevant for Hubspot.\n" items: type: string description: Name of the associated object to fetch example: account required: - object entities: type: array deprecated: true items: type: object properties: entity_id: type: string example: 3a82409f-c98f-4d25-bbd8-3335de3f12cc required: - entity_id required: - default_config sync_strategy_config: type: object description: Configuration options for "how" to sync. properties: period_ms: type: integer minimum: 60000 example: 60000 description: The period (in milliseconds) to run the sync. strategy: type: string enum: - full then incremental - full only description: \"full then incremental\" will run a full sync on the first run, then incremental syncs. \"full only\" will run a full sync on every run. auto_start_on_connection: type: boolean description: 'If true, the sync will start automatically when the connection is created. Default: true ' full_sync_every_n_incrementals: type: number description: If set, Supaglue will run a full sync after N consecutive incremental syncs. required: - period_ms - strategy create_provider_config: type: object description: An object that stores Oauth2/API key/access key related credentials. properties: provider_app_id: type: string example: my_app_id use_managed_oauth: type: boolean description: 'True: use Supaglue''s OAuth application credentials. False: Use the provided OAuth application credentials.' example: true oauth: type: object properties: oauth_scopes: type: array items: type: string example: - crm.objects.contacts.read - crm.objects.companies.read - crm.objects.deals.read - crm.objects.owners.read - crm.objects.contacts.write - crm.objects.companies.write - crm.objects.deals.write credentials: type: object properties: oauth_client_id: type: string example: 7393b5a4-5e20-4648-87af-b7b297793fd1 oauth_client_secret: type: string example: 941b846a-5a8c-48b8-b0e1-41b6d4bc4f1a required: - oauth_client_id - oauth_client_secret required: - oauth_scopes - credentials required: - provider_app_id - oauth update_provider_config: type: object description: An object that stores Oauth2/API key/access key related credentials. properties: provider_app_id: type: string oauth: type: object properties: oauth_scopes: type: array items: type: string credentials: type: object properties: oauth_client_id: type: string oauth_client_secret: type: string required: - oauth_client_id - oauth_client_secret required: - oauth_scopes - credentials required: - provider_app_id - oauth example: provider_app_id: my_app_id oauth: oauth_scopes: - crm.objects.contacts.read - crm.objects.companies.read - crm.objects.deals.read - crm.objects.owners.read - crm.objects.contacts.write - crm.objects.companies.write - crm.objects.deals.write credentials: oauth_client_id: 7393b5a4-5e20-4648-87af-b7b297793fd1 oauth_client_secret: 941b846a-5a8c-48b8-b0e1-41b6d4bc4f1a provider_name: type: string enum: - hubspot - salesforce - pipedrive - zendesk_sell - ms_dynamics_365_sales - zoho_crm - capsule - outreach - gong - apollo - salesloft - intercom - linear - clearbit - 6sense - marketo - salesforce_marketing_cloud_account_engagement - slack example: hubspot provider_name_crm: type: string enum: - hubspot - salesforce - pipedrive - zendesk_sell - ms_dynamics_365_sales - zoho_crm - capsule provider_name_engagement: type: string enum: - outreach - apollo - salesloft provider_name_no_category: type: string enum: - intercom - gong - linear sync: oneOf: - type: object title: 'Data model: Objects' properties: id: type: string example: 7026e4e8-15d7-48d8-b997-f2592b654619 type: type: string enum: - object example: object object_type: type: string enum: - common - standard - custom example: standard object: type: string example: contact description: The Provider's object name (case sensitive) connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 sync_config_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e5 paused: type: boolean example: false required: - id - type - object_type - object - connection_id - sync_config_id - paused - type: object title: 'Data model: Common Schema' properties: id: type: string example: 7026e4e8-15d7-48d8-b997-f2592b654619 type: type: string enum: - object example: object object_type: type: string enum: - common example: standard object: type: string example: contact description: Supaglue's object name connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 sync_config_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e5 paused: type: boolean example: false required: - id - type - object_type - object - connection_id - sync_config_id - paused - type: object title: 'Data model: Entities' deprecated: true properties: id: type: string example: 7026e4e8-15d7-48d8-b997-f2592b654619 type: type: string enum: - entity example: entity entity_id: type: string example: 94e6cb6c-0ec8-423f-8873-21054979a6b1 connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 sync_config_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e5 paused: type: boolean example: false required: - id - type - entity_id - connection_id - sync_config_id - paused sync_with_provider_and_customer: oneOf: - type: object title: 'Data model: Objects' properties: id: type: string example: 971cb76d-9558-42fe-8f3b-8a531c32bd5f type: type: string enum: - object example: object object_type: type: string enum: - common - standard - custom example: standard object: type: string example: contact connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 sync_config_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e5 paused: type: boolean example: false provider_name: type: string example: hubspot customer_id: type: string example: my-customer-1 required: - id - type - object_type - object - connection_id - sync_config_id - paused - provider_name - customer_id - type: object title: 'Data model: Entities' properties: id: type: string example: 971cb76d-9558-42fe-8f3b-8a531c32bd5f type: type: string enum: - entity example: entity entity_id: type: string example: 70da3830-b717-49cb-91f0-22fb3f09a97a connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 sync_config_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e5 paused: type: boolean example: false provider_name: type: string example: hubspot customer_id: type: string example: my-customer-1 required: - id - type - entity_id - connection_id - sync_config_id - paused - provider_name - customer_id sync_run: oneOf: - type: object title: 'Data model: Objects' properties: id: type: string example: 20eb4da3-6b38-4ec6-a82d-ecee59a9d6d9 sync_id: type: string example: 629525f8-f6f7-436c-80fa-1cb23acc5bf8 object_type: type: string enum: - common - standard - custom object: type: string error_message: type: string nullable: true start_timestamp: type: string example: '2023-02-22T19:55:17.559537Z' end_timestamp: type: string nullable: true example: '2023-02-22T20:55:17.559537Z' application_id: type: string example: 974125fa-ffb6-47fc-b12f-44c566fc5da1 customer_id: type: string example: my-customer-1 provider_name: $ref: '#/components/schemas/provider_name' category: $ref: '#/components/schemas/category' connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 status: type: string enum: - SUCCESS - IN_PROGRESS - FAILURE num_records_synced: type: number nullable: true example: 100 required: - id - sync_id - object_type - object - start_timestamp - end_timestamp - application_id - customer_id - status - error_message - provider_name - category - connection_id - num_records_synced - type: object title: 'Data model: Entities' deprecated: true properties: id: type: string example: 20eb4da3-6b38-4ec6-a82d-ecee59a9d6d9 sync_id: type: string example: 629525f8-f6f7-436c-80fa-1cb23acc5bf8 entity_id: type: string deprecated: true error_message: type: string nullable: true start_timestamp: type: string example: '2023-02-22T19:55:17.559537Z' end_timestamp: type: string nullable: true example: '2023-02-22T20:55:17.559537Z' application_id: type: string example: 974125fa-ffb6-47fc-b12f-44c566fc5da1 customer_id: type: string example: my-customer-1 provider_name: $ref: '#/components/schemas/provider_name' category: $ref: '#/components/schemas/category' connection_id: type: string example: 3217ea51-11c8-43c9-9547-6f197e02e5e4 status: type: string enum: - SUCCESS - IN_PROGRESS - FAILURE num_records_synced: type: number nullable: true example: 100 required: - id - sync_id - entity_id - start_timestamp - end_timestamp - application_id - customer_id - status - error_message - provider_name - category - connection_id - num_records_synced create_update_customer: type: object properties: customer_id: type: string example: your-customers-unique-application-id name: type: string example: MyCompany Inc email: type: string example: contact@mycompany.com required: - name - email - customer_id create_provider: oneOf: - type: object title: crm properties: auth_type: type: string enum: - oauth2 config: $ref: '#/components/schemas/create_provider_config' objects: $ref: '#/components/schemas/objects' category: type: string enum: - crm name: $ref: '#/components/schemas/provider_name_crm' required: - auth_type - config - category - name - type: object title: engagement properties: auth_type: type: string enum: - oauth2 config: $ref: '#/components/schemas/create_provider_config' objects: $ref: '#/components/schemas/objects' category: type: string enum: - engagement name: $ref: '#/components/schemas/provider_name_engagement' required: - auth_type - config - category - name - type: object title: no category properties: auth_type: type: string enum: - api_key category: type: string enum: - no_category name: $ref: '#/components/schemas/provider_name_no_category' required: - auth_type update_provider: oneOf: - type: object title: crm properties: auth_type: type: string enum: - oauth2 config: $ref: '#/components/schemas/update_provider_config' objects: $ref: '#/components/schemas/objects' entity_mappings: type: array items: $ref: '#/components/schemas/provider_entity_mapping' category: type: string enum: - crm name: $ref: '#/components/schemas/provider_name_crm' required: - auth_type - config - category - name - type: object title: engagement properties: auth_type: type: string enum: - oauth2 config: $ref: '#/components/schemas/update_provider_config' objects: $ref: '#/components/schemas/objects' entity_mappings: type: array items: $ref: '#/components/schemas/provider_entity_mapping' category: type: string enum: - engagement name: $ref: '#/components/schemas/provider_name_engagement' required: - auth_type - config - category - name - type: object title: no category properties: auth_type: type: string enum: - oauth2 config: $ref: '#/components/schemas/update_provider_config' objects: $ref: '#/components/schemas/objects' entity_mappings: type: array items: $ref: '#/components/schemas/provider_entity_mapping' category: type: string enum: - no_category name: $ref: '#/components/schemas/provider_name_no_category' required: - auth_type - config - category - name create_update_schema: type: object properties: name: type: string example: my-schema config: $ref: '#/components/schemas/schema_config' required: - name - config create_update_entity: type: object properties: name: type: string example: my-entity config: $ref: '#/components/schemas/entity_config' required: - name - config create_destination: oneOf: - type: object title: postgres properties: name: type: string example: My Postgres Destination type: type: string enum: - postgres example: postgres config: $ref: '#/components/schemas/postgres_config_unsafe' required: - name - type - config - type: object title: supaglue description: A Supaglue-hosted Postgres database destination for Listing APIs. properties: type: type: string enum: - supaglue example: supaglue required: - type - type: object title: bigquery properties: name: type: string example: My BigQuery Destination type: type: string enum: - bigquery example: bigquery config: $ref: '#/components/schemas/bigquery_config_unsafe' required: - name - type - config - type: object title: snowflake properties: name: type: string example: My Snowflake Destination type: type: string enum: - snowflake example: snowflake config: $ref: '#/components/schemas/snowflake_config_unsafe' required: - name - type - config - type: object title: redshift properties: name: type: string example: My Redshift Destination type: type: string enum: - redshift example: redshift config: $ref: '#/components/schemas/redshift_config_unsafe' required: - name - type - config update_destination: example: name: My Postgres Destination type: postgres config: host: production-db-new.cluster-cdhnnutnlctj.us-west-2.rds.amazonaws.com port: 5432 database: postgres_prod_db schema: public user: myuser password: mysensitivepassword oneOf: - type: object title: postgres properties: name: type: string example: My Postgres Destination type: type: string enum: - postgres example: postgres config: $ref: '#/components/schemas/postgres_config_at_least_safe' version: type: number example: number required: - name - type - config - version - type: object title: bigquery properties: name: type: string example: My BigQuery Destination type: type: string enum: - bigquery example: bigquery config: $ref: '#/components/schemas/bigquery_config_at_least_safe' version: type: number example: number required: - name - type - config - version create_sync_config: type: object properties: destination_name: type: string example: object provider_name: $ref: '#/components/schemas/provider_name' config: $ref: '#/components/schemas/sync_config_data' required: - destination_name - provider_name - config update_sync_config: type: object properties: config: $ref: '#/components/schemas/sync_config_data' required: - config webhook-payload: oneOf: - type: object title: Sync Finished Event properties: type: enum: - SYNC_SUCCESS - SYNC_ERROR payload: type: object properties: connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: type: string enum: - hubspot - salesforce example: hubspot history_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d num_records_synced: type: integer example: 100 object_type: type: string enum: - common - standard object: type: string example: contact error_message: type: string required: - connection_id - customer_id - history_id - num_records_synced - object_type - object required: - type - payload - type: object title: Connection Created Event properties: type: enum: - CONNECTION_SUCCESS - CONNECTION_ERROR payload: type: object properties: customer_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: type: string example: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: $ref: '#/components/schemas/category' provider_name: $ref: '#/components/schemas/provider_name' required: - customer_id - provider_id - category - provider_name required: - type - payload upsert_connection_sync_config: type: object properties: destination_config: description: An object to override the default Destination configuration per connection. oneOf: - description: Config specific to Postgres destination type: object title: Postgres properties: type: type: string enum: - postgres schema: type: string description: The schema you'd like to sync to. This schema must already exist. Supaglue will not create it. If not specified, the schema specified in the Postgres Destination will be used. example: customer_1_schema required: - type - schema standard_objects: description: A list of case-sensitive Provider standard objects to by synced. If specified, this list will take override the custom_objects list in SyncConfig. type: array items: oneOf: - type: object title: All properties: object: type: string description: The Provider object name (case sensitive) example: Contact required: - object - type: object title: Postgres (Preview) properties: object: type: string description: The Provider object name (case sensitive) example: Contact table: type: string description: The table to write the object to. If specified, this will override the default table used by Supaglue. example: my_contacts required: - object - table custom_objects: description: '(Preview) A list of case-sensitive Provider custom objects to be synced. If specified, this list will take override the custom_objects list in SyncConfig. ' type: array items: oneOf: - type: object title: All properties: object: type: string description: The Provider object name (case sensitive) example: Contact__c required: - object - type: object title: Postgres (Preview) properties: object: type: string description: The Provider object name (case sensitive) example: Contact__c table: type: string description: The table to write the object to. If specified, this will override the default table used by Supaglue. example: my_contacts required: - object - table standard_object: type: object properties: type: type: string enum: - standard example: standard name: type: string example: Contact required: - type - name standard_or_custom_object: type: object properties: type: type: string enum: - standard - custom name: type: string required: - type - name provider_entity_mapping: type: object deprecated: true properties: entity_id: type: string example: apolla_contact object: $ref: '#/components/schemas/standard_object' field_mappings: type: array items: $ref: '#/components/schemas/entity_field_mapping' required: - entity_id connection_entity_mapping: type: object deprecated: true properties: entity_id: type: string object: $ref: '#/components/schemas/standard_or_custom_object' field_mappings: type: array items: $ref: '#/components/schemas/entity_field_mapping' required: - entity_id merged_entity_mapping: type: object properties: entity_id: type: string entity_name: type: string allow_additional_field_mappings: type: boolean object: allOf: - $ref: '#/components/schemas/standard_or_custom_object' - type: object properties: from: type: string enum: - developer - customer required: - from field_mappings: type: array items: type: object properties: entity_field: type: string mapped_field: type: string from: type: string enum: - developer - customer is_additional: type: boolean required: - entity_field - is_additional required: - entity_id - entity_name - allow_additional_field_mappings - field_mappings entity_field_mapping: type: object deprecated: true properties: entity_field: type: string description: The name of the field in your application. example: apolla_first_name mapped_field: type: string description: The name of the field in your customer's third-party Provider tool (e.g. Salesforce). example: FirstName required: - entity_field - mapped_field connection_sync_config: type: object properties: destination_config: description: An object to override the default Destination configuration per connection. oneOf: - description: Config specific to Postgres destination type: object title: Postgres properties: type: type: string enum: - postgres schema: type: string description: The schema you'd like to sync to. This schema must already exist. Supaglue will not create it. If not specified, the schema specified in the Postgres Destination will be used. example: customer_1_schema required: - type - schema - description: Config specific to BigQuery destination type: object title: BigQuery properties: type: type: string enum: - bigquery dataset: type: string description: The dataset you'd like to sync to. This dataset must already exist. Supaglue will not create it. If not specified, the dataset specified in the BigQuery Destination will be used. example: customer_1_dataset required: - type - dataset standard_objects: description: A list of case-sensitive Provider standard objects to by synced. If specified, this list will take override the custom_objects list in SyncConfig. type: array items: oneOf: - type: object title: All properties: object: type: string description: The Provider object name (case sensitive) example: Contact required: - object - type: object title: Postgres/BigQuery (Preview) properties: object: type: string description: The Provider object name (case sensitive) example: Contact table: type: string description: The table to write the object to. If specified, this will override the default table used by Supaglue. example: my_contacts required: - object - table custom_objects: description: '(Preview) A list of case-sensitive Provider custom objects to be synced. If specified, this list will take override the custom_objects list in SyncConfig. ' type: array items: oneOf: - type: object title: All properties: object: type: string description: The Provider object name (case sensitive) example: Contact__c required: - object - type: object title: Postgres/BigQuery (Preview) properties: object: type: string description: The Provider object name (case sensitive) example: Contact__c table: type: string description: The table to write the object to. If specified, this will override the default table used by Supaglue. example: my_contacts required: - object - table errors: type: array items: type: object properties: id: type: string description: A unique identifier for the instance of the error. Provide this to support when contacting Supaglue. example: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5 detail: type: string description: A detailed description of the error. example: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' problem_type: type: string description: The Supaglue error code associated with the error. example: MISSING_REQUIRED_FIELD deprecated: true title: type: string description: A brief description of the error. The schema and type of message will vary by Provider. example: 'Property values were not valid ' code: type: string description: The Supaglue error code associated with the error. example: MISSING_REQUIRED_FIELD status: type: string description: The HTTP status code associated with the error. example: '400' meta: type: object description: Additional metadata about the error. properties: cause: type: object description: The cause of the error. Usually the underlying error from the remote Provider. example: code: 400 body: status: error message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 category: VALIDATION_ERROR headers: access-control-allow-credentials: 'false' cf-cache-status: DYNAMIC cf-ray: 8053d17b9dae9664-SJC connection: close content-length: '361' content-type: application/json;charset=utf-8 date: Mon, 11 Sep 2023 23:51:22 GMT nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}' report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}' server: cloudflare strict-transport-security: max-age=31536000; includeSubDomains; preload vary: origin, Accept-Encoding x-content-type-options: nosniff x-envoy-upstream-service-time: '91' x-evy-trace-listener: listener_https x-evy-trace-route-configuration: listener_https/all x-evy-trace-route-service-name: envoyset-translator x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2 x-evy-trace-virtual-host: all x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-hubspot-ratelimit-interval-milliseconds: '10000' x-hubspot-ratelimit-max: '100' x-hubspot-ratelimit-remaining: '99' x-hubspot-ratelimit-secondly: '10' x-hubspot-ratelimit-secondly-remaining: '9' x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000 origin: type: string enum: - remote-provider - supaglue description: The origin of the error. example: remote-provider application_name: type: string description: The name of the application that generated the error. example: MyCompany Production required: - origin additionalProperties: true required: - id - detail - problem_type - title - code - status - meta example: - meta: cause: code: 400 body: status: error message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 category: VALIDATION_ERROR headers: access-control-allow-credentials: 'false' cf-cache-status: DYNAMIC cf-ray: 8053d17b9dae9664-SJC connection: close content-length: '361' content-type: application/json;charset=utf-8 date: Mon, 11 Sep 2023 23:51:22 GMT nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}' report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}' server: cloudflare strict-transport-security: max-age=31536000; includeSubDomains; preload vary: origin, Accept-Encoding x-content-type-options: nosniff x-envoy-upstream-service-time: '91' x-evy-trace-listener: listener_https x-evy-trace-route-configuration: listener_https/all x-evy-trace-route-service-name: envoyset-translator x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2 x-evy-trace-virtual-host: all x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-hubspot-ratelimit-interval-milliseconds: '10000' x-hubspot-ratelimit-max: '100' x-hubspot-ratelimit-remaining: '99' x-hubspot-ratelimit-secondly: '10' x-hubspot-ratelimit-secondly-remaining: '9' x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000 detail: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' problem_type: MISSING_REQUIRED_FIELD title: 'Property values were not valid ' code: MISSING_REQUIRED_FIELD status: '400' id: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5 parameters: cursor: name: cursor in: query schema: type: string example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw description: The pagination cursor value page_size: name: page_size in: query schema: type: string example: 123 description: 'Number of results to return per page. (Max: 1000)' customer_id: name: customer_id in: query schema: type: string example: 1bae5050-b8ff-472e-8b9f-01f29a81d1ee description: The customer ID that uniquely identifies the customer in your application provider_name: name: provider_name in: query schema: type: string example: salesforce description: The provider name x-provider-name: name: x-provider-name in: header schema: type: string example: salesforce description: The provider name required: true x-customer-id: name: x-customer-id in: header schema: type: string example: my-customer-1 description: The customer ID that uniquely identifies the customer in your application required: true responses: badRequest: description: Bad request content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' conflict: description: Conflict content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' forbidden: description: Forbidden content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' internalServerError: description: Internal server error content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' notFound: description: Not found content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' notImplemented: description: Not implemented content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' remoteProviderError: description: Remote provider error content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' unauthorized: description: Unauthorized content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' unprocessableEntity: description: Unprocessable entity content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/errors' x-webhooks: sync.complete: post: summary: Sync complete description: Notification of the completion of a sync operationId: syncComplete x-event-type: sync.complete tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: sync.complete run_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: salesforce type: object object_type: standard object: contact result: ERROR error_message: Error message schema: oneOf: - type: object title: Object Sync Complete properties: webhook_event_type: type: string enum: - sync.complete example: sync.complete run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR num_records_synced: type: integer example: 100 error_message: type: string example: Error message type: type: string enum: - object object_type: type: string enum: - common - standard - custom object: type: string example: contact required: - webhook_event_type - run_id - connection_id - customer_id - provider_name - result - type - object_type - object - type: object title: Entity Sync Complete properties: webhook_event_type: type: string enum: - sync.complete example: sync.complete run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR num_records_synced: type: integer example: 100 error_message: type: string example: Error message type: type: string enum: - entity entity_id: type: string entity_name: type: string required: - webhook_event_type - run_id - connection_id - customer_id - provider_name - result - type - entity_id - entity_name responses: '200': description: Return a 200 status to indicate that the data was received successfully sync.paused: post: summary: Sync paused description: Notification after a sync is paused operationId: syncPaused x-event-type: sync.paused tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: sync.paused connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: salesforce type: object object_type: standard object: contact schema: type: object title: Object Sync Paused properties: webhook_event_type: type: string enum: - sync.paused example: sync.paused run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' type: type: string enum: - object object_type: type: string enum: - common - standard - custom object: type: string example: contact pause_reason: type: string required: - webhook_event_type - connection_id - customer_id - provider_name - type - object_type - object responses: '200': description: Return a 200 status to indicate that the data was received successfully connection.created: post: summary: Customer connection created description: Notification of the creation of a connection for a customer operationId: connectionCreated x-event-type: connection.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: connection.created customer_id: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: crm provider_name: salesforce result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - connection.created example: connection.created customer_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: type: string example: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: $ref: '#/components/schemas/category' provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR required: - webhook_event_type - customer_id - provider_id - category - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully connection.deleted: post: summary: Customer connection deleted description: Notification of the deletion of a connection for a customer operationId: connectionDeleted x-event-type: connection.deleted tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: connection.deleted connection_id: 6b0abaf8-076d-48e7-9cdf-f12c68e86e2b customer_id: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: crm provider_name: salesforce result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - connection.deleted example: connection.deleted connection_id: type: string example: 6b0abaf8-076d-48e7-9cdf-f12c68e86e2b customer_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: type: string example: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: $ref: '#/components/schemas/category' provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR required: - webhook_event_type - connection_id - customer_id - provider_id - category - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.created: post: deprecated: true summary: Entity mapping created description: Notification of the creation of an entity mapping operationId: entityEntityMappingCreated x-event-type: entity.entity_mapping.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.created entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.created example: entity.entity_mapping.created entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.updated: post: deprecated: true summary: Entity mapping updated description: Notification of an update to an entity mapping operationId: entityEntityMappingUpdated x-event-type: entity.entity_mapping.updated tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.updated entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.updated example: entity.entity_mapping.updated entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.deleted: post: deprecated: true summary: Entity mapping deleted description: Notification of the deletion of an entity mapping operationId: entityEntityMappingDeleted x-event-type: entity.entity_mapping.deleted tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.deleted entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.deleted example: entity.entity_mapping.deleted entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully object.field_mapping.created: post: deprecated: true summary: Object field mapping created description: Notification of the creation of am object field mapping operationId: objectFieldMappingCreated x-event-type: object.field_mapping.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: object.field_mapping.created connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: salesforce object_name: Contact object_type: common schema_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: ERROR error_message: Error message schema: type: object properties: webhook_event_type: type: string enum: - object.field_mapping.created example: object.field_mapping.created connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: type: string example: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: $ref: '#/components/schemas/provider_name' object_name: type: string example: Contact object_type: type: string enum: - common - standard schema_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - connection_id - application_id - customer_id - provider_name - object_name - object_type - schema_id - result responses: '200': description: Return a 200 status to indicate that the data was received successfully object.field_mapping.updated: post: deprecated: true summary: Object field mapping updated description: Notification of an update to an object field mapping operationId: objectFieldMappingUpdated x-event-type: object.field_mapping.updated tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: object.field_mapping.updated connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: salesforce object_name: Contact object_type: common schema_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: ERROR error_message: Error message schema: type: object properties: webhook_event_type: type: string enum: - object.field_mapping.updated example: object.field_mapping.updated connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: type: string example: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: $ref: '#/components/schemas/provider_name' object_name: type: string example: Contact object_type: type: string enum: - common - standard schema_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - connection_id - application_id - customer_id - provider_name - object_name - object_type - schema_id - result responses: '200': description: Return a 200 status to indicate that the data was received successfully webhooks: sync.complete: post: summary: Sync complete description: Notification of the completion of a sync operationId: syncComplete x-event-type: sync.complete tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: sync.complete run_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: salesforce type: object object_type: standard object: contact result: ERROR error_message: Error message schema: oneOf: - type: object title: Object Sync Complete properties: webhook_event_type: type: string enum: - sync.complete example: sync.complete run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR num_records_synced: type: integer example: 100 error_message: type: string example: Error message type: type: string enum: - object object_type: type: string enum: - common - standard - custom object: type: string example: contact required: - webhook_event_type - run_id - connection_id - customer_id - provider_name - result - type - object_type - object - type: object title: Entity Sync Complete properties: webhook_event_type: type: string enum: - sync.complete example: sync.complete run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR num_records_synced: type: integer example: 100 error_message: type: string example: Error message type: type: string enum: - entity entity_id: type: string entity_name: type: string required: - webhook_event_type - run_id - connection_id - customer_id - provider_name - result - type - entity_id - entity_name responses: '200': description: Return a 200 status to indicate that the data was received successfully sync.paused: post: summary: Sync paused description: Notification after a sync is paused operationId: syncPaused x-event-type: sync.paused tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: sync.paused connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: salesforce type: object object_type: standard object: contact schema: type: object title: Object Sync Paused properties: webhook_event_type: type: string enum: - sync.paused example: sync.paused run_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 customer_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 provider_name: $ref: '#/components/schemas/provider_name' type: type: string enum: - object object_type: type: string enum: - common - standard - custom object: type: string example: contact pause_reason: type: string required: - webhook_event_type - connection_id - customer_id - provider_name - type - object_type - object responses: '200': description: Return a 200 status to indicate that the data was received successfully connection.created: post: summary: Customer connection created description: Notification of the creation of a connection for a customer operationId: connectionCreated x-event-type: connection.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: connection.created customer_id: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: crm provider_name: salesforce result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - connection.created example: connection.created customer_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: type: string example: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: $ref: '#/components/schemas/category' provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR required: - webhook_event_type - customer_id - provider_id - category - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully connection.deleted: post: summary: Customer connection deleted description: Notification of the deletion of a connection for a customer operationId: connectionDeleted x-event-type: connection.deleted tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: connection.deleted connection_id: 6b0abaf8-076d-48e7-9cdf-f12c68e86e2b customer_id: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: crm provider_name: salesforce result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - connection.deleted example: connection.deleted connection_id: type: string example: 6b0abaf8-076d-48e7-9cdf-f12c68e86e2b customer_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 provider_id: type: string example: 5a4dbac6-3a56-4ad9-8aa3-e7b7f00be024 category: $ref: '#/components/schemas/category' provider_name: $ref: '#/components/schemas/provider_name' result: type: string enum: - SUCCESS - ERROR required: - webhook_event_type - connection_id - customer_id - provider_id - category - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.created: post: deprecated: true summary: Entity mapping created description: Notification of the creation of an entity mapping operationId: entityEntityMappingCreated x-event-type: entity.entity_mapping.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.created entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.created example: entity.entity_mapping.created entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.updated: post: deprecated: true summary: Entity mapping updated description: Notification of an update to an entity mapping operationId: entityEntityMappingUpdated x-event-type: entity.entity_mapping.updated tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.updated entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.updated example: entity.entity_mapping.updated entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully entity.entity_mapping.deleted: post: deprecated: true summary: Entity mapping deleted description: Notification of the deletion of an entity mapping operationId: entityEntityMappingDeleted x-event-type: entity.entity_mapping.deleted tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: entity.entity_mapping.deleted entity_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: a7052919-e024-4985-bd08-856056b66f59 customer_id: 1a2b3c4d5e6f provider_name: salesforce object_name: opportunity object_type: standard result: SUCCESS schema: type: object properties: webhook_event_type: type: string enum: - entity.entity_mapping.deleted example: entity.entity_mapping.deleted entity_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 connection_id: type: string example: a7052919-e024-4985-bd08-856056b66f59 customer_id: type: string example: 1a2b3c4d5e6f provider_name: type: string example: salesforce object_name: type: string example: opportunity object_type: type: string enum: - standard - custom example: standard result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - entity_id - application_id - connection_id - customer_id - provider_name - result responses: '200': description: Return a 200 status to indicate that the data was received successfully object.field_mapping.created: post: deprecated: true summary: Object field mapping created description: Notification of the creation of am object field mapping operationId: objectFieldMappingCreated x-event-type: object.field_mapping.created tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: object.field_mapping.created connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: salesforce object_name: Contact object_type: common schema_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: ERROR error_message: Error message schema: type: object properties: webhook_event_type: type: string enum: - object.field_mapping.created example: object.field_mapping.created connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: type: string example: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: $ref: '#/components/schemas/provider_name' object_name: type: string example: Contact object_type: type: string enum: - common - standard schema_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - connection_id - application_id - customer_id - provider_name - object_name - object_type - schema_id - result responses: '200': description: Return a 200 status to indicate that the data was received successfully object.field_mapping.updated: post: deprecated: true summary: Object field mapping updated description: Notification of an update to an object field mapping operationId: objectFieldMappingUpdated x-event-type: object.field_mapping.updated tags: - Webhook Events requestBody: content: application/json: example: webhook_event_type: object.field_mapping.updated connection_id: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: salesforce object_name: Contact object_type: common schema_id: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: ERROR error_message: Error message schema: type: object properties: webhook_event_type: type: string enum: - object.field_mapping.updated example: object.field_mapping.updated connection_id: type: string example: e30cbb93-5b05-4186-b6de-1acc10013795 application_id: type: string example: 7bfcc74d-c98b-49de-8e8f-3dc7a17273f6 customer_id: type: string example: c7c5204a-61d3-44a7-b581-a1f29b239f89 provider_name: $ref: '#/components/schemas/provider_name' object_name: type: string example: Contact object_type: type: string enum: - common - standard schema_id: type: string example: 2fdbd03d-11f2-4e66-a5e6-2b731c71a12d result: type: string enum: - SUCCESS - ERROR error_message: type: string example: Error message required: - webhook_event_type - connection_id - application_id - customer_id - provider_name - object_name - object_type - schema_id - result responses: '200': description: Return a 200 status to indicate that the data was received successfully