{ "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\n\nWelcome to the Management API documentation. You can use this API to manage customer integrations and connections.\n\n#### Base API URL\n\n```\nhttps://api.supaglue.io/mgmt/v2\n```\n" }, "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\nIf `force_delete_syncs` is set to true, any syncs for any deleted objects will be cascadingly deleted for all customers with this sync config.\n:::\n", "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\nIf `force_delete_syncs` is set to true, all syncs for all customers with this sync config will be cascadingly deleted.\n:::\n", "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.\n\nThe common schema User ID maps to the following 3rd-party provider object IDs:\n\n| Provider | Remote object ID |\n| ---------- | ----------------- |\n| Salesforce | User |\n| Hubspot | V3 Owner |\n| Dynamics | Azure System User |\n| Intercom | Admin |\n", "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\nsalesforce and apollo connections.\n", "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.\nOnly 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.\nOnly 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.\nDefault: true\n" }, "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.\n", "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.\n", "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\n" }, "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\n", "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" } } } } } }