# Transfer the basket to another system (e.g. a web shop). Transfer the basket over a common url or a QR code to another system (e.g. a web shop). The transfer token is valid for 1 minute only. Use POST /baskets/gusts with jayToken set to the transfer token to get access to the basket again. Endpoint: POST /baskets/users/{userId}/transfer Version: 2025-09-15 Security: Basket-API-Endpoints ## Path parameters: - `userId` (string, required) The platform specific user identifier representing a user. ## Query parameters: - `qr` (string) Create a QR code image to transfer the basket to another system (e.g. a web shop). Example: "true" - `provider_id` (string) Optional provider identifier to use as a fallback when tracking session is unavailable or does not contain provider information. This ensures tracking events can still be attributed to the correct provider. Example: "netflix" ## Header parameters: - `X-API-Key` (string, required) API access key for authorized use of the checkout endpoints. Partners, please contact Transfermedia to retrieve a valid key. - `X-JAY-Tracking` (string) Tracking session header for user tracking and analytics. This is set by the /playouts/tracking/session endpoint. Example: "eyJzZXNzaW9uX2lkIjoiZXhhbXBsZS1zZXNzaW9uLWlkLTEyMzQiLCJzdGFydF90aW1lIjoiMjAyNS0wMS0wMVQxMjowMDowMC4wMDAwMDAiLCJzb3VyY2UiOiJqYXkuYXBpLnBsYXlvdXQuZXhhbXBsZSJ9" - `x-jay-api-version` (string) The version of the API to use. Defaults to 2025-09-15. ## Request fields (application/json): - `url` (string) The URL to extend (e.g. to trigger a web shop action). The query parameters "jaySource" and "jayToken" will be added to this URL. ## Response 200 fields (application/json): - `data` (object) The response data. Example: {"expires":"string","jaySource":"string","jayToken":"string","url":"string","qrCodeImageUrl":"string","qrCodeImageBase64":"string"} - `data.expires` (string, required) The date and time as ISO 8601 string when the basket transfer token expire. Example: "string" - `data.jaySource` (string, required) The query parameter "jaySource" (not url-encoded) added to the URL carrying the name of the transfer source. Example: "string" - `data.jayToken` (string, required) The query parameter "jayToken" (not url-encoded) added to the URL. The token is valid for 1 minute only. Example: "string" - `data.url` (string) The extended URL (e.g. to trigger a web shop action). The url identifies the associated basket and is valid for 1 minute only.Use GET /baskets/guests?jayToken=... to create the basket credentials to access the basket again. Example: "string" - `data.qrCodeImageUrl` (string) The URL to the QR code image representing the URL. The url is valid for 1 minute. Example: "string" - `data.qrCodeImageBase64` (string) The base-64 encoded QR code image representing the URL. Example: "string" - `nextToken` (string) The token, which can be used to retrieve the next page of data. - `error` (object) Details of the error that occurred during the API request, including error code and message. This field is only present when the request results in an error. - `error.code` (integer, required) The API error code Enum: 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 4001, 4002, 5001, 5002, 5003, 5004, 200, 201, 202, 204, 400, 401, 403, 404, 405, 406, 422, 423, 501, 503 - `error.message` (string, required) The API error message. - `error.details` (any) The HTTP error details. ## Response 401 fields (application/json): - `data` (object) The response data. Example: {"expires":"string","jaySource":"string","jayToken":"string","url":"string","qrCodeImageUrl":"string","qrCodeImageBase64":"string"} - `data.expires` (string, required) The date and time as ISO 8601 string when the basket transfer token expire. Example: "string" - `data.jaySource` (string, required) The query parameter "jaySource" (not url-encoded) added to the URL carrying the name of the transfer source. Example: "string" - `data.jayToken` (string, required) The query parameter "jayToken" (not url-encoded) added to the URL. The token is valid for 1 minute only. Example: "string" - `data.url` (string) The extended URL (e.g. to trigger a web shop action). The url identifies the associated basket and is valid for 1 minute only.Use GET /baskets/guests?jayToken=... to create the basket credentials to access the basket again. Example: "string" - `data.qrCodeImageUrl` (string) The URL to the QR code image representing the URL. The url is valid for 1 minute. Example: "string" - `data.qrCodeImageBase64` (string) The base-64 encoded QR code image representing the URL. Example: "string" - `nextToken` (string) The token, which can be used to retrieve the next page of data. - `error` (object) Details of the error that occurred during the API request, including error code and message. This field is only present when the request results in an error. - `error.code` (integer, required) The API error code Enum: 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 4001, 4002, 5001, 5002, 5003, 5004, 200, 201, 202, 204, 400, 401, 403, 404, 405, 406, 422, 423, 501, 503 - `error.message` (string, required) The API error message. - `error.details` (any) The HTTP error details. ## Response 422 fields (application/json): - `data` (object) The response data. Example: {"expires":"string","jaySource":"string","jayToken":"string","url":"string","qrCodeImageUrl":"string","qrCodeImageBase64":"string"} - `data.expires` (string, required) The date and time as ISO 8601 string when the basket transfer token expire. Example: "string" - `data.jaySource` (string, required) The query parameter "jaySource" (not url-encoded) added to the URL carrying the name of the transfer source. Example: "string" - `data.jayToken` (string, required) The query parameter "jayToken" (not url-encoded) added to the URL. The token is valid for 1 minute only. Example: "string" - `data.url` (string) The extended URL (e.g. to trigger a web shop action). The url identifies the associated basket and is valid for 1 minute only.Use GET /baskets/guests?jayToken=... to create the basket credentials to access the basket again. Example: "string" - `data.qrCodeImageUrl` (string) The URL to the QR code image representing the URL. The url is valid for 1 minute. Example: "string" - `data.qrCodeImageBase64` (string) The base-64 encoded QR code image representing the URL. Example: "string" - `nextToken` (string) The token, which can be used to retrieve the next page of data. - `error` (object) Details of the error that occurred during the API request, including error code and message. This field is only present when the request results in an error. - `error.code` (integer, required) The API error code Enum: 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 4001, 4002, 5001, 5002, 5003, 5004, 200, 201, 202, 204, 400, 401, 403, 404, 405, 406, 422, 423, 501, 503 - `error.message` (string, required) The API error message. - `error.details` (any) The HTTP error details.