# Get Practice Group

Retrieves information regarding the authenticated Practice Group.

Endpoint: GET /v1/me
Version: 1.0.0
Security: apiKeyAuth, practiceGroupId

## Security:

  - `apiKeyAuth` (unknown)
    apiKey in header x-api-key

  - `practiceGroupId` (unknown)
    apiKey in header x-practice-group-id

## Response 200:

  - `200` (unknown)
    Ok

## Response 200 fields (application/json):

  - `id` (string, required)

  - `name` (string, required)

  - `sector` (string, required)
    Enum: "nhs", "paid"

  - `ods_code` (string, required)

  - `write_to_record` (boolean, required)

  - `ehr_partner` (string, required)
    Enum: "emis", "systm_one"

  - `ehr_partner_enabled` (boolean, required)

  - `custom_slot_to_slot` (boolean, required)

  - `use_partner_bookable_slots` (boolean, required)

  - `data_source_priorities` (array, required)

  - `time_zone` (string, required)
    IANA time zone the practice group operates in, eg Europe/London. Defaults to Europe/London where the practice group has none set.

  - `js_booking_service` (boolean, required)

  - `prescription_partner_enabled` (boolean, required)

  - `prescription_partner` (string, required)
    Enum: "signature_rx", "chem4u", "pharmacierge"

  - `prescription_partner_credentials` (object)

  - `prescription_partner_credentials.email` (string, required)

  - `address` (object, required)

  - `address.line_1` (string, required)

  - `address.postcode` (string, required)

  - `address.line_2` (string)

  - `address.line_3` (string)

  - `address.town` (string)

  - `address.county` (string)

  - `address.country` (string)

  - `authenticated_as` (object, required)

  - `authenticated_as.id` (string, required)

  - `authenticated_as.first_name` (string, required)

  - `authenticated_as.last_name` (string, required)

  - `authenticated_as.email` (string, required)

  - `authenticated_as.external_prescriber_id` (string, required)

  - `authenticated_as.signature` (string, required)

  - `authenticated_as.linked_practitioner_id` (string, required)

  - `authenticated_as.preferences` (object, required)

  - `authenticated_as.preferences.default_notification_channel` (string, required)
    Enum: "email", "sms", "nhs_app_email", "nhs_app_sms"

  - `authenticated_as.team_memberships` (array, required)

  - `authenticated_as.team_memberships.id` (string, required)

  - `authenticated_as.team_memberships.name` (string, required)

  - `authenticated_as.role` (object, required)
    The RBAC role held in the caller practice group

  - `authenticated_as.role.id` (string, required)

  - `authenticated_as.role.name` (string, required)

  - `authenticated_as.role.key` (string, required)
    Stable slug for Hero-wide (system) roles; null for practice-group roles

  - `authenticated_as.role.nhs_role_code` (string, required)
    NHS National RBAC access role code, e.g. R8009

  - `authenticated_as.role.system` (boolean, required)
    True for Hero-wide roles available to every practice group

  - `authenticated_as.role.grants` (array, required)
    Policies and wildcard patterns (e.g. `patients.*`, `*`) as stored on the role

  - `authenticated_as.role.policies` (array, required)
    The grants expanded to concrete policies

  - `authenticated_as.policies` (array, required)
    Effective policies in the caller practice group (role grants expanded); empty without a role

  - `authenticated_as.revoked_policies` (array, required)
    Policies the role grants that this membership has had withdrawn, expanded. Still present in policies, so subtract these to get what this admin may actually do. The API enforces that subtraction on its own endpoints.

  - `ehr_healthy` (boolean)

## Response 400:

  - `400` (unknown)
    Validation error

## Response 400 fields (application/json):

  - `error` (boolean, required)
    Example: true

  - `statusCode` (number, required)
    Example: 400

  - `message` (array, required)

  - `message.code` (string, required)
    Example: invalid_type

  - `message.expected` (string, required)
    Example: string

  - `message.path` (array, required)
    Example: ["patient_id"]

  - `message.message` (string, required)
    Example: Required

## Response 401:

  - `401` (unknown)
    Unauthorised

## Response 404:

  - `404` (unknown)
    Not found

## Response 429:

  - `429` (unknown)
    Too Many Requests

## Response 500:

  - `500` (unknown)
    Unknown error

