# Merge Records

These groups of calls allow the merging of multiple person or team records.

They would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.

The calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`. There is NO merging of data fields at the person/team level.

## Merge two person records

> Merge the records of two persons

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Tennis","version":"v1"},"tags":[{"name":"Merge Records","description":"\nThese groups of calls allow the merging of multiple person or team records.\n\nThey would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.\n\nThe calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`.  There is NO merging of data fields at the person/team level.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"SuccessModel":{"type":"object","additionalProperties":false,"properties":{"success":{"description":"Was the call a success?","type":"boolean"}},"title":" model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/tennis/o/{organizationId}/persons/merge/from/{fromPersonId}/to/{toPersonId}":{"post":{"tags":["Merge Records"],"summary":"Merge two person records","description":"Merge the records of two persons","operationId":"person_merge","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Success Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/SuccessModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"name":"fromPersonId","description":"The unique identifier of the 'from' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"toPersonId","description":"The unique identifier of the 'to' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"title":"merge post body"}}}}}}}}
```

## For a given match, swap two person records

> For a given match, swap the records of two persons

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Tennis","version":"v1"},"tags":[{"name":"Merge Records","description":"\nThese groups of calls allow the merging of multiple person or team records.\n\nThey would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.\n\nThe calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`.  There is NO merging of data fields at the person/team level.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"SuccessModel":{"type":"object","additionalProperties":false,"properties":{"success":{"description":"Was the call a success?","type":"boolean"}},"title":" model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/tennis/o/{organizationId}/fixtures/{fixtureId}/persons/swap/from/{fromPersonId}/to/{toPersonId}":{"post":{"tags":["Merge Records"],"summary":"For a given match, swap two person records","description":"For a given match, swap the records of two persons","operationId":"person_swap","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Success Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/SuccessModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"name":"fixtureId","description":"The unique identifier of the fixture","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"name":"fromPersonId","description":"The unique identifier of the 'from' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"toPersonId","description":"The unique identifier of the 'to' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"title":"merge post body"}}}}}}}}
```

## For a given season, swap two team records

> For a given season, swap the records of two teams

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Tennis","version":"v1"},"tags":[{"name":"Merge Records","description":"\nThese groups of calls allow the merging of multiple person or team records.\n\nThey would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.\n\nThe calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`.  There is NO merging of data fields at the person/team level.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"SuccessModel":{"type":"object","additionalProperties":false,"properties":{"success":{"description":"Was the call a success?","type":"boolean"}},"title":" model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/tennis/o/{organizationId}/seasons/{seasonId}/entities/swap/from/{fromEntityId}/to/{toEntityId}":{"post":{"tags":["Merge Records"],"summary":"For a given season, swap two team records","description":"For a given season, swap the records of two teams","operationId":"entity_swap","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Success Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/SuccessModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"name":"fromEntityId","description":"The unique identifier of the 'from' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"seasonId","description":"The unique identifier of the season","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"name":"toEntityId","description":"The unique identifier of the 'to' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"title":"merge post body"}}}}}}}}
```

## Merge two team records

> Merge the records of two teams

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Tennis","version":"v1"},"tags":[{"name":"Merge Records","description":"\nThese groups of calls allow the merging of multiple person or team records.\n\nThey would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.\n\nThe calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`.  There is NO merging of data fields at the person/team level.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"SuccessModel":{"type":"object","additionalProperties":false,"properties":{"success":{"description":"Was the call a success?","type":"boolean"}},"title":" model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/tennis/o/{organizationId}/entities/merge/from/{fromEntityId}/to/{toEntityId}":{"post":{"tags":["Merge Records"],"summary":"Merge two team records","description":"Merge the records of two teams","operationId":"entity_merge","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Success Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/SuccessModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"name":"fromEntityId","description":"The unique identifier of the 'from' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"toEntityId","description":"The unique identifier of the 'to' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"title":"merge post body"}}}}}}}}
```

## Move a season to a different competition

> Move a season under a different competition

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Tennis","version":"v1"},"tags":[{"name":"Merge Records","description":"\nThese groups of calls allow the merging of multiple person or team records.\n\nThey would be used for example, if you find that the same person has been entered twice, but there are records/statistics assigned to both of them. By making this call the statistics and match records assigned to the duplicate person would be assigned to the original person.\n\nThe calls rewrite the statistics and data so instead of being assigned to `fromPersonId`/`fromEntityId` they are assigned to `toPersonId`/`toEntityId`.  There is NO merging of data fields at the person/team level.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:admin"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"SuccessModel":{"type":"object","additionalProperties":false,"properties":{"success":{"description":"Was the call a success?","type":"boolean"}},"title":" model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/tennis/o/{organizationId}/seasons/{seasonId}/move/from/competitions/{fromCompetitionId}/to/competitions/{toCompetitionId}":{"post":{"tags":["Merge Records"],"summary":"Move a season to a different competition","description":"Move a season under a different competition","operationId":"season_move","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Success Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/SuccessModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"name":"fromCompetitionId","description":"The unique identifier of the 'from' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"seasonId","description":"The unique identifier of the season","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"},{"name":"toCompetitionId","description":"The unique identifier of the 'to' record","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"title":"merge post body"}}}}}}}}
```
