---
descriptions:
  widget_token: An ephemeral token to access WorkOS widgets.
  get_token:
    organization_id: 'An [Organization](/reference/organization) identifier.'
    user_id: 'A [User](/reference/authkit/user) identifier.'
    scopes: >-
      Scopes to include in the widget token. If a user_id is provided, the
      requested scopes will be also be restricted to the permissions that the
      user has in the requested organization.
reference:
  curl:
    - key: get_token
      id: get_token
      url: /reference/widgets/get-token
      title: /widgets/token
      type: POST
      parameters:
        - key: organization_id
          type: string
          description: (get_token.organization_id)
        - key: user_id
          type: string
          description: (get_token.user_id)
          optional: true
        - key: scopes
          type: '"widgets:users-table:manage"[]'
          description: (get_token.scopes)
      returns:
        - key: anonymous
          type: object
          unwrap: true
          properties:
            - key: token
              type: string
              description: (widget_token)
  ruby:
    - key: get_token
      id: get_token
      url: /reference/widgets/get-token
      title: Widgets.get_token()
      parameters:
        - key: organization_id
          type: String
          description: (get_token.organization_id)
        - key: user_id
          type: String
          description: (get_token.user_id)
        - key: scopes
          type: 'Array[WidgetScope]'
          description: (get_token.scopes)
      returns:
        - key: token
          type: String
          description: (widget_token)
  js:
    - key: getToken
      id: get_token
      url: /reference/widgets/get-token
      title: widgets.getToken()
      parameters:
        - key: options
          type: object
          unwrap: true
          properties:
            - key: organizationId
              type: string
              description: (get_token.organization_id)
            - key: userId
              type: string
              optional: true
              description: (get_token.user_id)
            - key: scopes
              type: '"widgets:users-table:manage"[]'
              description: (get_token.scopes)
      returns:
        - key: token
          type: String
          description: (widget_token)
  python:
    - key: get_token
      id: get_token
      url: /reference/widgets/get-token
      title: widgets.get_token()
      parameters:
        - key: organization_id
          type: str
          description: (get_token.organization_id)
        - key: user_id
          type: str
          description: (get_token.user_id)
        - key: scopes
          type: 'Sequence[WidgetScope]'
          description: (get_token.scopes)
      returns:
        - key: anonymous
          type: WidgetTokenResponse
          unwrap: true
          properties:
            - key: token
              type: str
              description: (widget_token)
  go:
    - key: GetToken
      id: get_token
      url: /reference/widgets/get-token
      title: widgets.GetToken()
      parameters:
        - (ctx)
        - key: opts
          type: widgets.GetTokenOpts
          expanded: true
          properties:
            - key: OrganizationId
              type: string
              description: (get_token.organization_id)
            - key: UserId
              type: string
              description: (get_token.user_id)
            - key: Scopes
              type: '[]WidgetScope'
              description: The scopes to grant the widget token.
      returns:
        - key: token
          type: string
          description: (widget_token)
        - (err)
  php:
    - key: getToken
      id: get_token
      url: /reference/widgets/get-token
      title: $widgets->getToken()
      parameters:
        - key: organization_id
          type: string
          description: (get_token.organization_id)
        - key: user_id
          type: string
          description: (get_token.user_id)
        - key: scopes
          type: array
          description: (get_token.scopes)
      returns:
        - key: anonymous
          type: array
          unwrap: true
          properties:
            - key: token
              type: string
              description: (widget_token)
  java:
    - key: get_token
      id: get_token
      url: /reference/widgets/get-token
      title: workos.widgets.getToken()
      parameters:
        - key: options
          type: GetTokenOptions
          expanded: true
          properties:
            - key: organizationId
              type: String
              description: (get_token.organization_id)
            - key: userId
              type: String
              description: (get_token.user_id)
            - key: scopes
              type: List<WidgetScope>
              description: The scopes to grant the widget token.
      returns:
        - key: response
          type: WidgetTokenResponse
          expanded: true
          properties:
            - key: token
              type: String
              description: (widget_token)
originalPath: .tmp-workos-clone/packages/docs/content/reference/widgets/get-token.mdx
---

## Generate a Widget token

Generate a widget token scoped to an organization and user with the specified scopes.

<CodeBlock referenceId="get_token">
  <CodeBlockTab title="Request" file="get-token-request" />
  <CodeBlockTab title="Response" file="get-token-response" />
</CodeBlock>
