---
title: "Generate auto-login URL for Slack relay"
method: POST
path: "/internal/slack-auth/auto-login"
tags: ["Internal"]
---

# Generate auto-login URL for Slack relay

`POST /internal/slack-auth/auto-login`

## Request

- Base URL: `https://api.carbonvoice.app`
- URL: `https://api.carbonvoice.app/internal/slack-auth/auto-login`
- Auth: none declared

M2M endpoint called by cv-slack relay. Returns a one-time URL that logs the user into CV and redirects to the conversation.

## Request body

- SlackAutoLoginRequestDto
  - `cv_user_id` string, required: Carbon Voice user ID of the recipient
  - `slack_user_id` string, required: Slack user ID of the recipient
  - `email` string, required: Recipient email for login confirmation screen
  - `cv_conversation_id` string, required: CV channel/conversation GUID to redirect to
  - `first_name` string: Recipient first name (used when creating Slack identity)
  - `last_name` string: Recipient last name (used when creating Slack identity)
  - `image_url` string: Recipient profile image URL (used when creating Slack identity)

## Response `200`

Auto-login URL generated successfully

- SlackAutoLoginResponseDto
  - `url` string, required: One-time auto-login URL with embedded session token (short TTL)

## Other responses

- `401`: Invalid M2M credentials
- `404`: User or channel not found

---

[API](https://skmtc.dev/carbonvoice/apis/carbon-voice-api.md) · [All operations](https://skmtc.dev/carbonvoice/apis/carbon-voice-api/llms.txt) · [OpenAPI document](https://skmtc.dev/carbonvoice/apis/carbon-voice-api/revisions/b91c5c845122?raw)
