# Products

Get tokens to access products (other than datacore)

## Get an Access Token for access to a product.

> This API calls are used primarily by Synergy Sports internal systems to authenticate to products other than Datacore.

```json
{"openapi":"3.0.3","info":{"title":"Synergy Sports - Auth API","version":"1.0.0"},"tags":[{"name":"Products","description":"Get tokens to access products (other than datacore)"}],"servers":[{"url":"https://token.connect.sportradar.com/v1","description":"Production server"},{"url":"https://token.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"paths":{"/products/token":{"post":{"tags":["Products"],"summary":"Get an Access Token for access to a product.","description":"This API calls are used primarily by Synergy Sports internal systems to authenticate to products other than Datacore.","operationId":"getTokenProdUser","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"userIdentityToken":{"$ref":"#/components/schemas/UserIdentityToken"},"product":{"description":"The product you want the token for. Valid options available for the user can be obtained from the `products/list` call.","type":"string"},"customerId":{"description":"The customerId for the product you want a token for. Valid options available for the user can be obtained from the `customers/list` call.","type":"string"},"scopes":{"description":"A list of permission scopes that you want for this token.  If not provided then all available permissions will be added. You would use this if you want your token to have less permissions that you are normally allowed.","type":"array","uniqueItems":true,"items":{"type":"string"}}},"required":["userIdentityToken","product","customerId"]}}}},"responses":{"200":{"$ref":"#/components/responses/TokenResponse"},"default":{"$ref":"#/components/responses/ErrorResponse"}}}}},"components":{"schemas":{"UserIdentityToken":{"description":"A user token received on login to the single sign on system.","type":"string"},"ResponseMetaData":{"properties":{"code":{"description":"The HTTP response code for this request","type":"integer"},"codeVersion":{"description":"A string indicating the version of the code that handled this request","type":"string"},"generationTime":{"description":"The number of seconds taken to generate this request.","format":"float","type":"number"},"time":{"description":"The date/time this request was made (in UTC).","format":"date-time","type":"string"},"version":{"description":"The version of the API in use for this call","type":"string"}},"type":"object"},"ErrorModel":{"properties":{"code":{"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","type":"integer"},"errors":{"items":{"$ref":"#/components/schemas/ErrorListModel"},"type":"array"},"message":{"description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one.","type":"string"}},"type":"object"},"ErrorListModel":{"properties":{"code":{"description":"HTTP Error code indicating the type of error.","format":"int32","type":"integer"},"message":{"description":"A message indicating the reason for the error","type":"string"},"reason":{"description":"A short code indicating the type of error","enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR"]}},"type":"object"}},"responses":{"TokenResponse":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"token":{"type":"string","description":"A JWT giving you access to the resources you requested."},"tokenType":{"description":"The type of token","type":"string"},"expiresIn":{"description":"How long, in seconds, the token is valid for","type":"string","format":"number"}}},"meta":{"$ref":"#/components/schemas/ResponseMetaData"}}}}}},"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"properties":{"error":{"$ref":"#/components/schemas/ErrorModel"},"meta":{"$ref":"#/components/schemas/ResponseMetaData"}},"type":"object"}}}}}}}
```
