openapi: 3.2.0 info: version: 0.25.7 title: Management Schema Mappings API contact: name: Supaglue email: docs@supaglue.com url: https://supaglue.com description: '#### Introduction Welcome to the Management API documentation. You can use this API to manage customer integrations and connections. #### Base API URL ``` https://api.supaglue.io/mgmt/v2 ```' servers: - url: https://api.supaglue.io/mgmt/v2 description: Supaglue API tags: - name: Schema Mappings description: A `Schema Mapping` is a mapping between a Schema field and fields in your customer's Provider object. paths: /field_mappings: parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' get: deprecated: true operationId: listFieldMappings summary: List schema mappings tags: - Schema Mappings 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' /field_mappings/_update_object: parameters: - $ref: '#/components/parameters/x-customer-id' - $ref: '#/components/parameters/x-provider-name' put: deprecated: true operationId: updateObjectFieldMappings summary: Update schema mappings tags: - Schema Mappings 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' components: schemas: 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 errors: type: array items: type: object properties: id: type: string description: A unique identifier for the instance of the error. Provide this to support when contacting Supaglue. example: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5 detail: type: string description: A detailed description of the error. example: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' problem_type: type: string description: The Supaglue error code associated with the error. example: MISSING_REQUIRED_FIELD deprecated: true title: type: string description: A brief description of the error. The schema and type of message will vary by Provider. example: 'Property values were not valid ' code: type: string description: The Supaglue error code associated with the error. example: MISSING_REQUIRED_FIELD status: type: string description: The HTTP status code associated with the error. example: '400' meta: type: object description: Additional metadata about the error. properties: cause: type: object description: The cause of the error. Usually the underlying error from the remote Provider. example: code: 400 body: status: error message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 category: VALIDATION_ERROR headers: access-control-allow-credentials: 'false' cf-cache-status: DYNAMIC cf-ray: 8053d17b9dae9664-SJC connection: close content-length: '361' content-type: application/json;charset=utf-8 date: Mon, 11 Sep 2023 23:51:22 GMT nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}' report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}' server: cloudflare strict-transport-security: max-age=31536000; includeSubDomains; preload vary: origin, Accept-Encoding x-content-type-options: nosniff x-envoy-upstream-service-time: '91' x-evy-trace-listener: listener_https x-evy-trace-route-configuration: listener_https/all x-evy-trace-route-service-name: envoyset-translator x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2 x-evy-trace-virtual-host: all x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-hubspot-ratelimit-interval-milliseconds: '10000' x-hubspot-ratelimit-max: '100' x-hubspot-ratelimit-remaining: '99' x-hubspot-ratelimit-secondly: '10' x-hubspot-ratelimit-secondly-remaining: '9' x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000 origin: type: string enum: - remote-provider - supaglue description: The origin of the error. example: remote-provider application_name: type: string description: The name of the application that generated the error. example: MyCompany Production required: - origin additionalProperties: true required: - id - detail - problem_type - title - code - status - meta example: - meta: cause: code: 400 body: status: error message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 category: VALIDATION_ERROR headers: access-control-allow-credentials: 'false' cf-cache-status: DYNAMIC cf-ray: 8053d17b9dae9664-SJC connection: close content-length: '361' content-type: application/json;charset=utf-8 date: Mon, 11 Sep 2023 23:51:22 GMT nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}' report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}' server: cloudflare strict-transport-security: max-age=31536000; includeSubDomains; preload vary: origin, Accept-Encoding x-content-type-options: nosniff x-envoy-upstream-service-time: '91' x-evy-trace-listener: listener_https x-evy-trace-route-configuration: listener_https/all x-evy-trace-route-service-name: envoyset-translator x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2 x-evy-trace-virtual-host: all x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-hubspot-ratelimit-interval-milliseconds: '10000' x-hubspot-ratelimit-max: '100' x-hubspot-ratelimit-remaining: '99' x-hubspot-ratelimit-secondly: '10' x-hubspot-ratelimit-secondly-remaining: '9' x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2 x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000 detail: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]' problem_type: MISSING_REQUIRED_FIELD title: 'Property values were not valid ' code: MISSING_REQUIRED_FIELD status: '400' id: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5 object_field_mapping: type: object properties: schema_field: type: string example: apolla_first_name mapped_field: type: string example: FirstName required: - schema_field 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 responses: conflict: description: Conflict 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' badRequest: description: Bad request 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' internalServerError: description: Internal server error 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' unauthorized: description: Unauthorized 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' parameters: 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 x-provider-name: name: x-provider-name in: header schema: type: string example: salesforce description: The provider name required: true securitySchemes: x-api-key: type: apiKey name: x-api-key in: header description: API key to allow developers to access the API 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