# Send Carousel ## Send `client.sendCarousel.send(SendCarouselSendParamsbody, RequestOptionsoptions?): SendCarouselSendResponse` **post** `/api/send-carousel` Send a carousel of images to a single recipient. Requires a V2 (Mac Mini) line. The carousel must contain between 2 and 20 HTTPS image URLs. For sending a single image, use `/api/send-message` with `media_url` instead. ### Parameters - `body: SendCarouselSendParams` - `from_number: string` Your Sendblue phone number in E.164 format (must be a V2/Mac Mini line) - `media_urls: Array` Array of HTTPS image URLs to send as a carousel (2-20 items) - `number: string` Recipient phone number in E.164 format - `metadata?: unknown` Additional metadata to attach to the message - `send_style?: "celebration" | "shooting_star" | "fireworks" | 10 more` The iMessage expressive message style - `"celebration"` - `"shooting_star"` - `"fireworks"` - `"lasers"` - `"love"` - `"confetti"` - `"balloons"` - `"spotlight"` - `"echo"` - `"invisible"` - `"gentle"` - `"loud"` - `"slam"` - `status_callback?: string` Webhook URL for message status updates ### Returns - `SendCarouselSendResponse` - `accountEmail?: string` Email of the account that sent the message - `from_number?: string` Sending phone number - `is_outbound?: boolean` - `media_url?: string` First media URL from the carousel - `message_handle?: string` Unique identifier for tracking the message - `message_type?: string` - `number?: string` Recipient phone number - `status?: string` ### Example ```typescript import SendblueAPI from 'sendblue'; const client = new SendblueAPI({ apiKey: process.env['SENDBLUE_API_API_KEY'], // This is the default and can be omitted apiSecret: process.env['SENDBLUE_API_API_SECRET'], // This is the default and can be omitted }); const response = await client.sendCarousel.send({ from_number: '+19998887777', media_urls: [ 'https://example.com/image1.jpg', 'https://example.com/image2.jpg', 'https://example.com/image3.jpg', ], number: '+19998887777', }); console.log(response.accountEmail); ```