---
title: "Request Token (Stream –> DSP)"
method: POST
path: "/stream-dsp/v1/token"
---

# Request Token (Stream –> DSP)

`POST /stream-dsp/v1/token`

You will have to build this endpoint into your system. This is where Stream will request and refresh access tokens.

## Request body

- union
  - ExchangeTokenDto
    - `grant_type` string, required
    - `client_id` string, required — The client ID to be provided to Stream for identifying us.
    - `client_secret` string, required — The client secret to be provided to Stream for security.
    - `code` string, required — The authorization code received from successful authorization.
  - RefreshTokenDto
    - `grant_type` string, required
    - `client_id` string, required — The client ID to be provided to Stream for identifying us.
    - `client_secret` string, required — The client secret to be provided to Stream for security.
    - `refresh_token` string, required — The refresh token from the existing session for refresh

## Response `200`

- ExchangeTokenResponseDto
  - `access_token` string, required
  - `refresh_token` string, required
  - `expire_time` number, required — Access token expiration, set to UNIX epoch MS time of expiration
  - `refresh_token_expire_time` number — Refresh token expiration, only use if refresh token rotation not supported
  - `id` string — Provider Account ID for the integration, used to maintain one set of tokens per login

## Other responses

- `401` — Unauthorized token exchange

---

[API](https://skmtc.net/meet-jenna/apis/become-a-stream-dsp.md) · [All operations](https://skmtc.net/meet-jenna/apis/become-a-stream-dsp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/meet-jenna/become-a-stream-dsp/versions/a5d965f37379/schema)
