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

# Get Current User Profile

> Get the current user's profile.

Returns user info, organization details, and all assignments with ship data.
Role is sourced from the JWT (authoritative) rather than the DB.
The avatar URL is resolved server-side — custom uploaded photo (if
any) wins over the WorkOS-provided URL.



## OpenAPI

````yaml /openapi.json get /api/v1/shared/users/me
openapi: 3.1.0
info:
  title: Seamind Backend
  version: 0.1.0
servers: []
security: []
paths:
  /api/v1/shared/users/me:
    get:
      tags:
        - shared-users
      summary: Get Current User Profile
      description: >-
        Get the current user's profile.


        Returns user info, organization details, and all assignments with ship
        data.

        Role is sourced from the JWT (authoritative) rather than the DB.

        The avatar URL is resolved server-side — custom uploaded photo (if

        any) wins over the WorkOS-provided URL.
      operationId: get_current_user_profile_api_v1_shared_users_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfileResponseDTO'
      security:
        - HTTPBearer: []
components:
  schemas:
    UserProfileResponseDTO:
      properties:
        user:
          $ref: '#/components/schemas/UserProfileDTO'
        organization:
          anyOf:
            - $ref: '#/components/schemas/OrganizationInfoDTO'
            - type: 'null'
        assignments:
          items:
            $ref: '#/components/schemas/AssignmentWithShipDTO'
          type: array
          title: Assignments
      type: object
      required:
        - user
        - organization
        - assignments
      title: UserProfileResponseDTO
      description: Complete profile response.
    UserProfileDTO:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        email:
          type: string
          title: Email
        emailVerified:
          type: boolean
          title: Emailverified
        firstName:
          type: string
          title: Firstname
        lastName:
          type: string
          title: Lastname
        profilePictureUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Profilepictureurl
        hasCustomProfilePicture:
          type: boolean
          title: Hascustomprofilepicture
          default: false
        role:
          type: string
          title: Role
        state:
          type: string
          title: State
        lastLogin:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Lastlogin
        createdAt:
          type: string
          format: date-time
          title: Createdat
      type: object
      required:
        - id
        - email
        - emailVerified
        - firstName
        - lastName
        - profilePictureUrl
        - role
        - state
        - lastLogin
        - createdAt
      title: UserProfileDTO
      description: |-
        User profile for /users/me endpoint.

        `profile_picture_url`: server-resolved. If the user has uploaded a
        custom photo this is a presigned URL for that upload's `thumb`
        derivative (256 px); otherwise it's the WorkOS-provided URL.

        `has_custom_profile_picture`: lets the FE show a "Remove photo"
        affordance only when there's a custom photo to remove.
    OrganizationInfoDTO:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
        - id
        - name
      title: OrganizationInfoDTO
      description: Organization info for profile.
    AssignmentWithShipDTO:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        shipName:
          type: string
          title: Shipname
        shipImoNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Shipimonumber
        role:
          type: string
          title: Role
        startDate:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Startdate
        endDate:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Enddate
        isActive:
          type: boolean
          title: Isactive
      type: object
      required:
        - id
        - shipName
        - role
        - startDate
        - endDate
        - isActive
      title: AssignmentWithShipDTO
      description: Assignment with ship details.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````