OpenAPI Specification
openapi: 3.1.0
info:
title: Doximity 2.0 & OAuth OpenID Connect API
version: '1.0'
description: OAuth 2.0 authorization server and OpenID Connect provider that authenticates and identifies verified Doximity medical professionals against the Doximity medical database. Uses the Authorization Code grant with mandatory PKCE (S256), refresh tokens, and the device_code grant.
contact:
name: Doximity Business Development
email: bd@doximity.com
url: https://www.doximity.com/developers/documentation
termsOfService: https://www.doximity.com/terms-of-service
servers:
- url: https://auth.doximity.com
description: Production authorization server
security:
- doximityOAuth: []
tags:
- name: OpenID Connect
description: Identity and discovery endpoints
paths:
/oauth/userinfo:
get:
operationId: userinfo
tags:
- OpenID Connect
summary: Fetch the authenticated member's identity claims
description: Returns the OpenID Connect claims permitted by the granted scopes. Requires a bearer access token.
security:
- bearerAuth: []
responses:
'200':
description: UserInfo claims (JWT signed RS256 or JSON)
content:
application/json:
schema:
$ref: '#/components/schemas/UserInfo'
'401':
description: Missing or invalid access token
'403':
description: Insufficient scope
'429':
description: Rate limit exceeded
/oauth/logout:
get:
operationId: logout
tags:
- OpenID Connect
summary: End the Doximity session (RP-initiated logout)
parameters:
- name: id_token_hint
in: query
required: false
schema:
type: string
- name: post_logout_redirect_uri
in: query
required: false
schema:
type: string
format: uri
- name: state
in: query
required: false
schema:
type: string
responses:
'302':
description: Redirect to post_logout_redirect_uri
/oauth/session_state:
post:
operationId: sessionState
tags:
- OpenID Connect
summary: Check the OP session state (iframe-based)
responses:
'200':
description: Session state
content:
text/plain:
schema:
type: string
enum:
- changed
- unchanged
- error
/.well-known/openid-configuration:
get:
operationId: openidConfiguration
tags:
- OpenID Connect
summary: OpenID Connect discovery document
responses:
'200':
description: OIDC provider metadata
/.well-known/jwks.json:
get:
operationId: jwks
tags:
- OpenID Connect
summary: JSON Web Key Set for verifying id_token signatures
responses:
'200':
description: JWKS
components:
schemas:
UserInfo:
type: object
description: OpenID Connect claims, gated by granted scopes.
properties:
sub:
type: string
description: Stable subject identifier (UUID v4)
name:
type: string
given_name:
type: string
family_name:
type: string
middle_name:
type: string
credentials:
type: string
profile_photo_url:
type: string
format: uri
profile_uuid:
type: string
specialty:
type: string
primary_email:
type: string
format: email
emails:
type: array
items:
type: string
format: email
permissions:
type: array
items:
type: string
securitySchemes:
doximityOAuth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://auth.doximity.com/oauth/authorize
tokenUrl: https://auth.doximity.com/oauth/token
refreshUrl: https://auth.doximity.com/oauth/token
scopes:
openid: Enables the OpenID Connect id_token to be returned
search: Search the Doximity member directory
dialer: Access to Doximity Dialer functionality
docsgpt:access: Access to DocsGPT
hipaa:identified: Access identified data under HIPAA
jobs:read: Read job data
colleagues:read: Read the member's colleagues
colleagues:write: Modify the member's colleagues
login_context:inferred: Access inferred login context
sessions:linked: Access linked sessions
activities:read:cards: Read activity cards
activities:read:comments: Read activity comments
activities:read:likes: Read activity likes
activities:write:likes: Write activity likes
profile:read:basic: Read basic profile (name, credentials, specialty, photo)
profile:read:email: Read the member's email
profile:read:dialer_phone: Read the member's Dialer phone number
profile:read:experience: Read the member's experience
profile:read:office: Read the member's office information
profile:read:permissions: Read the member's permissions
profile:read:private_contact: Read the member's private contact information
openIdConnect:
type: openIdConnect
openIdConnectUrl: https://auth.doximity.com/.well-known/openid-configuration
clientBasic:
type: http
scheme: basic
description: HTTP Basic with client_id:client_secret (client_secret_basic)
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT