> For the complete documentation index, see [llms.txt](https://developer.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.collibra.com/api/references/protect-partner/synchronizations.md).

# Synchronizations

Retrieval of detailed information on synchronizations.

## GET /synchronizations/byDataSource

> Returns the details of the synchronization for the provided data source.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Protect API - Partner","version":"1.0.0-beta"},"tags":[{"name":"Synchronizations","description":"Retrieval of detailed information on synchronizations."}],"servers":[{"url":"/rest/protect/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"The APIs require Basic HTTP authentication.","type":"http","scheme":"basic"}},"schemas":{"Synchronization":{"description":"All information needed to perform synchronization","type":"object","properties":{"id":{"description":"Operation id","type":"string"},"dataAccessRuleSet":{"$ref":"#/components/schemas/DataAccessRuleSet"}}},"DataAccessRuleSet":{"description":"All of the data access rules that need to be synchronized.","type":"object","properties":{"databases":{"type":"array","items":{"$ref":"#/components/schemas/Database"}}},"required":["databases"]},"Database":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/Provider"},"providerDetails":{"$ref":"#/components/schemas/ProviderDetails"},"id":{"type":"string","description":"The id of the database"},"name":{"type":"string","description":"The name of the database"},"schemas":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/DatabaseSchema"}},"tags":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseTag"}},"customMaskings":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseCustomMasking"}}},"required":["provider","id","name","schema","tags","customMaskings"]},"Provider":{"type":"string","description":"Value must be \"Snowflake\", \"GoogleBigQuery, or \"AWSLakeFormation\""},"ProviderDetails":{"description":"The provider specific details. For example, AWSLakeFormation contains the property awsRegion, which denotes in which region the database is located.","type":"object","additionalProperties":{"type":"string"}},"DatabaseSchema":{"type":"object","properties":{"id":{"type":"string","description":"The id of the database schema"},"name":{"type":"string","description":"The name of the database schema"},"tables":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseTable"}}},"required":["id","name","tables"]},"DatabaseTable":{"type":"object","properties":{"id":{"type":"string","description":"The id of the database table"},"name":{"type":"string","description":"The name of the database table"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseColumn"}},"accesses":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseTableAccessRule"}}},"required":["id","name","columns","accesses"]},"DatabaseColumn":{"type":"object","properties":{"id":{"type":"string","description":"The id of the database column"},"name":{"type":"string","description":"The name of the database column"},"dataType":{"description":"The data type as it is declared by the provider. For example: String, Integer, Varchar, Blob, Boolean, ...\n","type":"string"},"precision":{"type":"integer","description":"The precision of the column."},"scale":{"type":"integer","description":"The scale of the column."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseColumnTag"}},"accesses":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseColumnAccessRule"}}},"required":["id","name","tags","accesses"]},"DatabaseColumnTag":{"type":"object","properties":{"id":{"type":"string","description":"The id of database column tag"},"name":{"type":"string","description":"The name of database column tag"}},"required":["id","name"]},"DatabaseColumnAccessRule":{"type":"object","properties":{"group":{"type":"string","description":"The name of protect group"},"access":{"$ref":"#/components/schemas/Access"},"masking":{"$ref":"#/components/schemas/Masking"},"rowFilter":{"$ref":"#/components/schemas/RowFilter"}},"required":["group","access"]},"Access":{"type":"string","description":"Possible values are: `Read` or `NoChange`."},"Masking":{"oneOf":[{"$ref":"#/components/schemas/NoMasking"},{"$ref":"#/components/schemas/DefaultMasking"},{"$ref":"#/components/schemas/ConstantMasking"},{"$ref":"#/components/schemas/HashMasking"},{"$ref":"#/components/schemas/ShowLastMasking"},{"$ref":"#/components/schemas/CustomMasking"}],"discriminator":{"propertyName":"type","mapping":{"None":"#/components/schemas/NoMasking","Default":"#/components/schemas/DefaultMasking","Constant":"#/components/schemas/ConstantMasking","Hash":"#/components/schemas/HashMasking","ShowLast":"#/components/schemas/ShowLastMasking","Custom":"#/components/schemas/CustomMasking"}}},"NoMasking":{"allOf":[{"$ref":"#/components/schemas/BaseMasking"}]},"BaseMasking":{"type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/MaskingType"}}},"MaskingType":{"type":"string","description":"Possible values are: `None`, `Default`, `Constant`, `Hash` or `ShowLast`."},"DefaultMasking":{"description":"The masked value applied is source dependent and chosen based on the column data type.","allOf":[{"$ref":"#/components/schemas/BaseMasking"}]},"ConstantMasking":{"description":"This masked strategy is not supported by the Protect application therefore it is deprecated and it will be removed in new versions of the API. Use DefaultMasking instead.","allOf":[{"$ref":"#/components/schemas/BaseMasking"},{"type":"object","properties":{"constant":{"type":"string"}}}]},"HashMasking":{"allOf":[{"$ref":"#/components/schemas/BaseMasking"}]},"ShowLastMasking":{"allOf":[{"$ref":"#/components/schemas/BaseMasking"},{"type":"object","properties":{"numberOfCharacters":{"type":"integer","description":"The number of characters to display"}}}]},"CustomMasking":{"allOf":[{"$ref":"#/components/schemas/BaseMasking"},{"type":"object","properties":{"customMaskingId":{"type":"string","format":"uuid","description":"The id of custom masking"},"customMaskingName":{"type":"string","description":"The name of custom masking"}}}]},"RowFilter":{"type":"object","properties":{"operator":{"$ref":"#/components/schemas/RowFilterOperator"},"values":{"type":"array","items":{"type":"string","description":"The value of row filter"},"uniqueItems":true}}},"RowFilterOperator":{"type":"string","description":"Possible values are: `Equals` or `NotEquals`."},"DatabaseTableAccessRule":{"type":"object","properties":{"group":{"type":"string","description":"The name of protect group"},"access":{"$ref":"#/components/schemas/Access"}},"required":["group","access"]},"DatabaseTag":{"type":"object","properties":{"id":{"type":"string","description":"The id of database tag"},"name":{"type":"string","description":"The name of database tag"},"maskings":{"type":"array","items":{"$ref":"#/components/schemas/GroupMasking"}}},"required":["id","tag","maskings"]},"GroupMasking":{"type":"object","properties":{"group":{"type":"string","description":"The name of protect group"},"masking":{"$ref":"#/components/schemas/Masking"}},"required":["group","masking"]},"DatabaseCustomMasking":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The id of database custom masking"},"name":{"type":"string","description":"The name of database custom masking"},"mappings":{"type":"array","items":{"$ref":"#/components/schemas/MaskingMappings"}}}},"MaskingMappings":{"description":"a mapping of the data type and function name used to provide the custom mapping.","properties":{"dataType":{"type":"string","description":"The name of the data type (String, Number, Date ...). Data types name depend on the provider, a list of compatible types per provider is available in the documentation."},"functionName":{"type":"string","description":"The name of the function that will be used on the provider to provide the custom masking."}},"required":["dataType","functionName"]},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string","description":"The title of the error message."},"helpMessage":{"type":"string","description":"A message containing actions you can take regarding the error."},"userMessage":{"type":"string","description":"A user friendly error message."},"errorCode":{"type":"string","description":"An error code identifier."}}}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest500":{"description":"An unexpected error happened.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/synchronizations/byDataSource":{"get":{"tags":["Synchronizations"],"summary":"Returns the details of the synchronization for the provided data source.","operationId":"getSynchronizationByDataSource","parameters":[{"in":"query","description":"Name of the data source","name":"dataSource","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The set of data access rules to synchronize","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Synchronization"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"},"500":{"$ref":"#/components/responses/InvalidRequest500"}}}}}}
```
