> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synci.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a user



## OpenAPI

````yaml /openapi/managed.json get /users/{userId}
openapi: 3.1.0
info:
  title: Synci
  version: '1.0'
  description: >-
    Register and manage the end users your Managed app pays for. Authenticate
    with HTTP Basic using your app's client id and client secret. See the
    Managed apps guide for the full flow.
servers:
  - url: https://api.synci.io/managed/v1
security:
  - basicAuth: []
tags:
  - name: Managed Users
  - name: Managed Connections
  - name: Managed Webhooks
paths:
  /users/{userId}:
    get:
      tags:
        - Managed Users
      summary: Get a user
      operationId: managed.users.show
      parameters:
        - name: userId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: '`ManagedUserResource`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ManagedUserResource'
                required:
                  - data
components:
  schemas:
    ManagedUserResource:
      type: object
      properties:
        user_id:
          type: string
        external_user_id:
          type: string
        email:
          type: string
        email_verified:
          type: boolean
          description: |-
            Whether this person has proven they control the address, by
            redeeming a sign-in code Synci emailed there. Arriving through a
            portal link you minted does not set it. While false, Synci cannot
            tell a working address from a mistyped one, so its connection
            emails (expiry, failure, disablement) may not reach them.
        onboarded_at:
          type: string
          description: First time they reached the portal, by either route.
        limits:
          type: object
          properties:
            financial_connections:
              type: string
              description: |-
                Every connection type the user may hold, brokerage and
                crypto included, not just bank. Named to match the plan-limit
                feature key of the same name.
          required:
            - financial_connections
        connections_count:
          type: integer
        created_at:
          type: string
      required:
        - user_id
        - external_user_id
        - email
        - email_verified
        - onboarded_at
        - limits
        - created_at
      title: ManagedUserResource
  securitySchemes:
    basicAuth:
      type: http
      description: |-
        **Username = your client id. Password = your client secret.**

        So the base64-encoded `username:password` described below is
        `client_id:client_secret`:

        ```
        Authorization: Basic base64(YOUR_CLIENT_ID:YOUR_CLIENT_SECRET)
        ```

        Most HTTP clients build that header for you:

        ```bash
        curl -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" \
             https://api.synci.io/managed/v1/users
        ```

        Both values come from **Developers → Apps → your app**. The
        secret is shown once at creation and is prefixed `oac_`.
      scheme: basic

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.