> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Get partner portal logged in user info

> Get the Partner Portal profile of the authenticated caller: name, the responsibilities they hold on their partner account, whether they are a Rhombus Certified Technical Professional, and their organization's reseller tier, partner level, channel account manager and purchasing vehicle. The response also includes whether the caller has been granted Partner Portal access; unlike the other partner portal endpoints, this endpoint answers 200 whenever the caller's Contact can be looked up, returning a null loggedInUser when no Contact matches and the grantPortalAccess flag otherwise, so clients can hide the portal UI. It still denies with 403 when the session has no organization or email, or the Salesforce lookup fails.

```http
POST https://api2.rhombussystems.com/api/partnerportal/getLoggedInUserInfo
```

EU organizations send the same request to `https://api2.eu.rhombussystems.com`.

## Authentication and parameters

- `x-auth-apikey` (header, required): Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
- `Authorization` (header): instead of an API key, an OAuth access token (`Bearer <token>`) with the `read` scope.
- `x-auth-scheme` (header, string, default: `partner-api-token`): Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters. One of: `api-token`, `api`, `api-oauth-token`, `federated-token`, `partner-api-token`, `partner-api`, `partner-api-oauth-token`.

## Request body

Content type: `application/json`. Request object for reading the Partner Portal profile of the authenticated caller. This request carries no fields: the partner organization and the caller's identity are resolved from the authenticated session.

No fields: send `{}`.

## Response 200

OK. Content type: `application/json`

- `error` (boolean | null)
- `errorCode` (string | null): Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
- `errorMsg` (string | null)
- `loggedInUser` (object): The Partner Portal profile of the authenticated caller, projected down to the fields a partner may see.
- `warningMsg` (string | null)

## Errors

Also 400, 401, 403, 429, 500, 503 with the standard error body (`errorCode`, `errorMsg`): https://developer.rhombus.com/errors

## OpenAPI

````yaml
openapi: 3.0.1
info:
  title: Rhombus API
  version: "1.0"
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/partnerportal/getLoggedInUserInfo:
    post:
      description: "Get the Partner Portal profile of the authenticated caller: name, the responsibilities they hold on their partner account, whether they are a Rhombus Certified Technical Professional, and their organization's reseller tier, partner level, channel account manager and purchasing vehicle. The response also includes whether the caller has been granted Partner Portal access; unlike the other partner portal endpoints, this endpoint answers 200 whenever the caller's Contact can be looked up, returning a null loggedInUser when no Contact matches and the grantPortalAccess flag otherwise, so clients can hide the portal UI. It still denies with 403 when the session has no organization or email, or the Salesforce lookup fails."
      operationId: getLoggedInUserInfo
      parameters:
        - description: "Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters."
          example: partner-api-token
          in: header
          name: x-auth-scheme
          required: false
          schema:
            default: partner-api-token
            enum:
              - api-token
              - api
              - api-oauth-token
              - federated-token
              - partner-api-token
              - partner-api
              - partner-api-oauth-token
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Partnerportal_GetPartnerPortalLoggedInUserInfoWSRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Partnerportal_GetPartnerPortalLoggedInUserInfoWSResponse"
          description: OK
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        "503":
          $ref: "#/components/responses/ServiceUnavailable"
      security:
        - ApiKeyAuth: []
        - oauth2:
            - read
      summary: Get partner portal logged in user info
      tags:
        - Partner Portal Webservice
components:
  schemas:
    Partnerportal_GetPartnerPortalLoggedInUserInfoWSRequest:
      description: "Request object for reading the Partner Portal profile of the authenticated caller. This request carries no fields: the partner organization and the caller's identity are resolved from the authenticated session."
      type: object
    Partnerportal_GetPartnerPortalLoggedInUserInfoWSResponse:
      description: Response object containing the Partner Portal profile of the authenticated caller.
      properties:
        error:
          nullable: true
          type: boolean
        errorCode:
          description: Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
          nullable: true
          type: string
        errorMsg:
          nullable: true
          type: string
        loggedInUser:
          $ref: "#/components/schemas/Partnerportal_PartnerPortalLoggedInUserWebType"
        warningMsg:
          nullable: true
          type: string
      type: object
    Partnerportal_PartnerPortalLoggedInUserWebType:
      description: The Partner Portal profile of the authenticated caller, projected down to the fields a partner may see.
      properties:
        camOwnerName:
          description: Name of the Channel Account Manager who owns the caller's partner organization, or null if none is assigned
          nullable: true
          type: string
        firstName:
          description: First name of the caller
          nullable: true
          type: string
        grantPortalAccess:
          description: Whether the caller has been granted Partner Portal access. Every other partner portal endpoint denies with 403 when this is not true; clients should hide the portal UI when it is false or absent.
          nullable: true
          type: boolean
        id:
          description: Salesforce Contact id of the caller
          nullable: true
          type: string
        lastName:
          description: Last name of the caller
          nullable: true
          type: string
        partnerLevel:
          description: Partner level of the caller's partner organization
          nullable: true
          type: string
        purchasingVehicle:
          description: Purchasing vehicle of the caller's partner organization
          nullable: true
          type: string
        resellerTier:
          description: Reseller tier of the caller's partner organization
          nullable: true
          type: string
        responsibilities:
          description: Responsibilities held by the caller on their partner account, as Salesforce multi-select picklist values (for example Account Profile Administrator). Empty, never null, when the caller holds none.
          items:
            description: Responsibilities held by the caller on their partner account, as Salesforce multi-select picklist values (for example Account Profile Administrator). Empty, never null, when the caller holds none.
            nullable: true
            type: string
          nullable: true
          type: array
        rhombusCertifiedTechnicalProfessional:
          description: Whether the caller is a Rhombus Certified Technical Professional, or null if unknown
          nullable: true
          type: boolean
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey
    oauth2:
      description: 'OAuth 2.0 authorization code flow with PKCE (`S256`). Send the access token as `Authorization: Bearer <token>`. Each operation lists the scopes it requires; a token without them is refused 403 with `WWW-Authenticate: Bearer error="insufficient_scope"`.'
      flows:
        authorizationCode:
          authorizationUrl: https://console.rhombus.com/oauth/authorize
          refreshUrl: https://auth-web.rhombussystems.com/oauth/token
          scopes:
            physical: Unlock doors and elevators, lockdown, alarms, speakers and robots
            read: View cameras, footage and settings
            write: Change settings and data
          tokenUrl: https://auth-web.rhombussystems.com/oauth/token
      type: oauth2
````
