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

# Retrieve a journey achievement

> Returns one journey achievement by its id.



## OpenAPI

````yaml /openapi-v1.json get /v1/journey_achievements/{journey_achievement_id}
openapi: 3.1.0
info:
  title: Tightknit Admin API
  version: 1.0.0
  description: Administrative access to a Tightknit community.
servers:
  - url: https://api.tightknit.ai
security:
  - Bearer: []
tags:
  - name: API keys
    description: Inspect the key a request authenticated with.
  - name: Awards
    description: Badges and certificates a community grants its members.
  - name: Events
    description: Read, create, update and delete events on the community calendar.
  - name: Journeys
    description: Read multi-step member programs and their milestones.
  - name: Tags
    description: The labels that classify events and content resources.
  - name: Groups
    description: The segments a community sorts its members into.
  - name: Content
    description: >-
      The collections a community files its content under, and the links and
      events in them.
  - name: Feeds
    description: The Slack channels and site-only spaces a community posts in.
  - name: Files
    description: Images and documents a community has uploaded.
  - name: Messages
    description: What a community has published.
  - name: Members
    description: The people in a community.
  - name: Slack messages
    description: >-
      Messages sent to Slack. Sending is the only operation: they cannot be
      read, edited or deleted here.
  - name: Compositions
    description: >-
      Message Blaster drafts: messages saved in Studio before, and kept after,
      they are sent to Slack channels and members. An API key sees only the
      compositions shared with every Studio user.
  - name: Follows
    description: What a member follows.
  - name: Polls
    description: The questions a community puts to its members in Slack.
  - name: Activity logs
    description: What members did in the community, and when.
  - name: System
    description: Service health.
paths:
  /v1/journey_achievements/{journey_achievement_id}:
    get:
      tags:
        - Journeys
      summary: Retrieve a journey achievement
      description: Returns one journey achievement by its id.
      operationId: getJourneyAchievement
      parameters:
        - schema:
            type: string
            pattern: ^joac_[a-zA-Z0-9]{12}$
            description: The journey achievement's id.
          required: true
          description: The journey achievement's id.
          name: journey_achievement_id
          in: path
        - schema:
            anyOf:
              - type: string
                enum:
                  - journey
                  - profile
                  - award_assignment
              - type: array
                items:
                  type: string
                  enum:
                    - journey
                    - profile
                    - award_assignment
                maxItems: 3
            description: >-
              Repeatable. Returns the named relation inline. One of: `journey`,
              `profile`, `award_assignment`.
          required: false
          description: >-
            Repeatable. Returns the named relation inline. One of: `journey`,
            `profile`, `award_assignment`.
          name: expand
          in: query
          style: form
          explode: true
      responses:
        '200':
          description: Success
          headers:
            Request-Id:
              description: Identifier for this request, quote it in support tickets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JourneyAchievement'
        default:
          description: Error
          headers:
            Request-Id:
              description: Identifier for this request, quote it in support tickets.
              schema:
                type: string
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - Bearer: []
components:
  schemas:
    JourneyAchievement:
      type: object
      properties:
        object:
          type: string
          enum:
            - journey_achievement
          description: Always `journey_achievement`.
        id:
          type: string
          description: Unique identifier for the object.
          example: joac_6m2x9k4t8plz
        created_at:
          type: string
          format: date-time
          description: When the member completed the journey.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        journey_id:
          type: string
          description: The id of the journey completed.
        journey:
          anyOf:
            - $ref: '#/components/schemas/Journey'
            - type: 'null'
          description: The journey completed. Present only when `journey` is expanded.
        profile_id:
          type: string
          description: The id of the profile that completed the journey.
        profile:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who completed it. Present only when `profile` is
            expanded.
        award_assignment:
          anyOf:
            - $ref: '#/components/schemas/AwardAssignment'
            - type: 'null'
          description: >-
            The award given for the completion, null when none was. Present only
            when `award_assignment` is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - journey_id
        - profile_id
    Problem:
      type: object
      properties:
        type:
          type: string
          description: A URI naming the problem type. Always `about:blank`.
          example: about:blank
        title:
          type: string
          description: A short summary of the HTTP status.
          example: Not found
        status:
          type: integer
          description: The HTTP status code.
          example: 404
        detail:
          type: string
          description: What went wrong with this request, when there is more to say.
        code:
          type: string
          description: >-
            A stable, machine-readable error code to branch on, unlike `title`
            and `detail`.
          example: not_found
        param:
          type: string
          description: The request field or parameter the error is about, when one is.
        request_id:
          type: string
          description: >-
            The id of the request, also sent as the `Request-Id` header. Quote
            it in support tickets.
          example: req_9f2b8c1d4e5a6b7c8d9e0f1a2b3c4d5e
      required:
        - type
        - title
        - status
        - code
    Journey:
      type: object
      properties:
        object:
          type: string
          enum:
            - journey
          description: Always `journey`.
        id:
          type: string
          description: Unique identifier for the object.
          example: jour_3d7f9a2e5b1c
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        label:
          type: string
          description: The journey's name, as members see it.
        status:
          type: string
          enum:
            - inactive
            - scheduled
            - active
            - ended
          description: >-
            Where the journey is in its run. One of:

            - `scheduled`: before its start date.

            - `active`: running.

            - `ended`: its end date has passed, even though it is then switched
            off automatically. A journey with no end date never ends.

            - `inactive`: switched off (`is_active` false) before it ended.
          example: active
        is_active:
          type: boolean
          description: Whether the journey is switched on, so progress counts toward it.
        start_date:
          type: string
          format: date-time
          description: When the journey starts counting progress.
        end_date:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            When the journey stops counting progress. Null for a journey that
            never ends.
        completions_count:
          type: integer
          minimum: 0
          description: How many members have completed every milestone of the journey.
        award_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the award given for completing the journey. Null when none
            is.
        award:
          anyOf:
            - $ref: '#/components/schemas/Award'
            - type: 'null'
          description: The completion award. Present only when `award` is expanded.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile that created the journey. Null when no member
            is recorded as its creator.
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The profile that created the journey. Present only when `created_by`
            is expanded.
        updated_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile that last changed the journey. Null until it
            is first changed, or when no member is recorded.
        updated_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The profile that last changed the journey. Present only when
            `updated_by` is expanded.
        milestones:
          type: array
          items:
            $ref: '#/components/schemas/Milestone'
          description: >-
            The journey's milestones. Present only when `milestones` is
            expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - status
        - is_active
        - start_date
        - end_date
        - completions_count
        - award_id
        - created_by_id
        - updated_by_id
    Profile:
      type: object
      properties:
        object:
          type: string
          enum:
            - profile
          description: Always `profile`.
        id:
          type: string
          description: Unique identifier for the object.
          example: prof_9f2b8c1d4e5a
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The name the community shows for the member. With a linked Slack
            profile it follows the community’s name preference, or reads
            `🔒[private profile]` when `opt_out_of_public_profile` is true;
            without one it is `display_name`, falling back to `full_name`.
          example: Ada Lovelace
        full_name:
          type: string
          description: The member’s full name. Always set.
          example: Ada Lovelace
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The shorter name the member goes by, when they set one. Null
            otherwise.
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s first name, when known.
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s last name, when known.
        avatar_url:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The URL of the member’s avatar, from their Slack profile when one is
            linked. Null when they have none, or when a member with a linked
            Slack profile has `opt_out_of_public_profile` on.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s email address. Null when it is not known.
          example: ada@example.com
        email_domain:
          anyOf:
            - type: string
            - type: 'null'
          description: The lowercased domain of `email`, maintained by the database.
          example: example.com
        locale:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s language and region, such as `en-US`, when known.
        is_team_member:
          type: boolean
          description: >-
            Whether the member is staff of the community rather than one of its
            people.
        is_deactivated:
          type: boolean
          description: Whether the member has been deactivated in the community.
        opt_out_of_public_profile:
          type: boolean
          description: >-
            Whether the member asked to be left out of the public member
            directory.
        member_since:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When the member joined the community: their first site sign-in or
            Slack join. Null while they are invited and have not joined yet.
        invited_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When an admin added the member before they joined (Studio, Admin
            API, MCP or CSV import), whether or not an invitation was sent. Kept
            after they join; null for members never added this way.
        signed_up_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When the member first signed in to the community site. Unlike
            `member_since`, a Slack join never sets it. Null for members who
            have never signed in.
        source:
          type: string
          enum:
            - slack_sync
            - import
            - api
            - studio_signin
            - sso_signin
            - legacy
            - unknown
          description: >-
            How the profile was created. A Slack invitee who had not joined yet
            takes `api` or `import` when an admin then adds them. One of:

            - `slack_sync`: from Slack, through the member roster sync or the
            member joining or acting in the workspace.

            - `import`: from an admin’s bulk member import.

            - `api`: from the Admin API, Studio’s add-member form or the MCP
            server.

            - `studio_signin`: on an admin’s first Studio sign-in.

            - `sso_signin`: on a member’s first single sign-on (SSO) sign-in,
            where the site creates accounts automatically.

            - `legacy`: created before the origin was recorded.

            - `unknown`: created before the origin was recorded and before its
            Slack link, with no way left to tell how.
          example: slack_sync
        has_account:
          type: boolean
          description: >-
            Whether the member has a sign-in account. False for a Slack identity
            nobody has claimed.
        flair_group_id:
          anyOf:
            - type: string
            - type: 'null'
          description: The group whose flair the member shows beside their name.
          example: grup_7m3x9k4t8plz
        slack_profile_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Slack’s id for the member’s linked Slack profile. Null when the
            member has no Slack identity.
          example: U0BRY4S6LNQ
        integrations:
          type: object
          properties:
            slack:
              type: object
              properties:
                profile:
                  anyOf:
                    - $ref: '#/components/schemas/SlackProfile'
                    - type: 'null'
                  description: The linked Slack profile, or null when the member has none.
              required:
                - profile
              description: The member’s Slack identity.
          required:
            - slack
          description: >-
            Where the member connects to other platforms. Present only when
            `slack_profile` is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - name
        - full_name
        - display_name
        - first_name
        - last_name
        - avatar_url
        - email
        - email_domain
        - locale
        - is_team_member
        - is_deactivated
        - opt_out_of_public_profile
        - member_since
        - invited_at
        - signed_up_at
        - source
        - has_account
        - flair_group_id
        - slack_profile_id
    AwardAssignment:
      type: object
      properties:
        object:
          type: string
          enum:
            - award_assignment
          description: Always `award_assignment`.
        id:
          type: string
          description: Unique identifier for the object.
          example: awas_8n4q1w7e3rty
        created_at:
          type: string
          format: date-time
          description: When the award was issued, which is not always when it was earned.
        source:
          type: string
          enum:
            - milestone
            - journey
            - group
            - manual
          description: |-
            How the award was given. One of:
            - `milestone`: for completing a journey milestone.
            - `journey`: for completing a journey.
            - `group`: for joining a group that grants it.
            - `manual`: by a person, through Studio, Slack or the API.
        given_anonymously:
          type: boolean
          description: >-
            Whether the giver asked to stay hidden from the recipient and from
            any announcement. `given_by` still names them, so do not display it
            when this is true.
        award_id:
          type: string
          description: The id of the award given.
        award:
          anyOf:
            - $ref: '#/components/schemas/Award'
            - type: 'null'
          description: The award given. Always included.
        profile_id:
          type: string
          description: The id of the profile that received the award.
        profile:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: The recipient. Present only when `profile` is expanded.
        given_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile credited with giving the award. Null when
            nobody is.
        given_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: The giver. Present only when `given_by` is expanded.
        certificate_file_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the certificate generated for this recipient. Null when
            the award has no certificate, or until one is generated.
        certificate_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The generated certificate. Present only when `certificate_file` is
            expanded.
        milestone_achievement_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the milestone achievement that earned the award. Null
            unless `source` is `milestone`.
        journey_achievement_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the journey achievement that earned the award. Null unless
            `source` is `journey`.
        group_membership_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the group membership that granted the award. Null unless
            `source` is `group`.
        group_membership:
          anyOf:
            - $ref: '#/components/schemas/GroupMembership'
            - type: 'null'
          description: >-
            The granting membership, with its group. Present only when
            `group_membership` is expanded.
      required:
        - object
        - id
        - created_at
        - source
        - given_anonymously
        - award_id
        - award
        - profile_id
        - given_by_id
        - certificate_file_id
        - milestone_achievement_id
        - journey_achievement_id
        - group_membership_id
    Award:
      type: object
      properties:
        object:
          type: string
          enum:
            - award
          description: Always `award`.
        id:
          type: string
          description: Unique identifier for the object.
          example: awrd_7k3m2p9x4nqr
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            When the award was last changed. Null on awards not edited since
            before edits were tracked.
        label:
          type: string
          description: The award's name, as members see it.
        slug:
          type: string
          description: The award's path segment on the community site's achievements page.
          example: completion-badge
        description:
          type:
            - object
            - 'null'
          additionalProperties: {}
          description: >-
            What the award means and how it is earned, as a rich text document.
            Null when none is set.
        description_html:
          type:
            - string
            - 'null'
          description: The `description` rendered as sanitized HTML. Null when none is set.
        default_message:
          type:
            - object
            - 'null'
          additionalProperties: {}
          description: >-
            The message sent with the award notification when the giver writes
            none, as a rich text document. Null when none is set.
        default_message_html:
          type:
            - string
            - 'null'
          description: >-
            The `default_message` rendered as sanitized HTML. Null when none is
            set.
        requires_approval:
          type: boolean
          description: >-
            Whether the award is marked as needing admin approval when a
            non-admin gives it. Tightknit does not enforce it.
        can_be_given_by_non_admin:
          type: boolean
          description: >-
            Whether members with the give award permission may give it, rather
            than admins only.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile that created the award. Null when no member is
            recorded as its creator.
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The profile that created the award. Present only when `created_by`
            is expanded.
        badge_image_file_id:
          type:
            - string
            - 'null'
          description: The id of the badge image file. Null when the award has no badge.
        badge_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: The badge image. Present only when `badge_image_file` is expanded.
        overlay_frame_image_file_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the frame image overlaid on a recipient's profile photo.
            Null when the award has no frame.
        overlay_frame_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The profile photo frame image. Present only when
            `overlay_frame_image_file` is expanded.
        cert_template_image_file_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the background image certificates are generated on. Null
            when the award has no certificate.
        cert_template_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The certificate template image. Present only when
            `cert_template_image_file` is expanded.
        settings:
          type: object
          properties:
            generate_social_share_image:
              type: boolean
              description: >-
                Whether recipients should get a shareable social image. Recorded
                only: Tightknit does not act on it.
            certificate:
              type: object
              properties:
                show_date:
                  type: boolean
                  description: >-
                    Whether the date the award was given is printed on the
                    certificate.
                font_family:
                  type: string
                  description: The font the certificate's text is set in.
                text_color:
                  type: string
                  description: The color of the certificate's text, as a hex code.
                  example: '#000000'
              required:
                - show_date
                - font_family
                - text_color
              description: How generated certificates look.
            linkedin:
              type: object
              properties:
                show_add_button:
                  type: boolean
                  description: >-
                    Whether the award notification offers to add the award to
                    the recipient's LinkedIn licenses and certifications.
                show_share_button:
                  type: boolean
                  description: >-
                    Whether recipients are offered to share the award in a
                    LinkedIn post.
                prefill_text:
                  type:
                    - string
                    - 'null'
                  description: Text the LinkedIn post starts with. Null for none.
              required:
                - show_add_button
                - show_share_button
                - prefill_text
              description: What LinkedIn sharing the award notification offers.
          required:
            - generate_social_share_image
            - certificate
            - linkedin
          description: How the award is presented to recipients.
        integrations:
          type: object
          properties:
            slack:
              type:
                - object
                - 'null'
              properties:
                announcement_channel_id:
                  type: string
                  description: >-
                    The id of the Slack channel the award is announced in when
                    given.
                announcement_channel:
                  anyOf:
                    - $ref: '#/components/schemas/SlackChannel'
                    - type: 'null'
                  description: >-
                    The announcement channel. Present only when
                    `announcement_channel` is expanded.
              required:
                - announcement_channel_id
              description: >-
                Where the award is announced in Slack. Null when it is not
                announced.
          required:
            - slack
          description: The award's settings in connected platforms.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - slug
        - description
        - description_html
        - default_message
        - default_message_html
        - requires_approval
        - can_be_given_by_non_admin
        - created_by_id
        - badge_image_file_id
        - overlay_frame_image_file_id
        - cert_template_image_file_id
        - settings
        - integrations
    Milestone:
      type: object
      properties:
        object:
          type: string
          enum:
            - milestone
          description: Always `milestone`.
        id:
          type: string
          description: Unique identifier for the object.
          example: mile_5v8b1c6d2fgh
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        label:
          type: string
          description: The milestone’s name, as members see it.
        action:
          type: string
          enum:
            - join_workspace
            - register_for_event
            - num_reactions_given_not_to_self
            - num_reactions_received_not_from_self
            - send_post_in_channel
            - send_reply_in_channel_not_to_self
            - num_msgs_reacted_to_not_to_self
            - num_msgs_that_received_react_not_from_self
            - send_message_in_channel_not_to_self
            - num_polls_voted_in
            - log_in_to_forums_site
            - update_slack_profile_photo
            - num_replies_selected_as_answer_not_from_self
            - join_slack_channel
          description: >-
            What a member does to make progress on the milestone. One of:

            - `join_workspace`: the member joins the Slack workspace.

            - `register_for_event`: the member registers for an event, counted
            once per event.

            - `num_reactions_given_not_to_self`: the member reacts to another
            member’s message, counted per reaction.

            - `num_reactions_received_not_from_self`: the member receives a
            reaction from another member on their message, counted per reaction.

            - `send_post_in_channel`: the member sends a top-level message in a
            channel.

            - `send_reply_in_channel_not_to_self`: the member replies in a
            thread on another member’s message, counted once per thread.

            - `num_msgs_reacted_to_not_to_self`: the member reacts to another
            member’s message, counted once per message.

            - `num_msgs_that_received_react_not_from_self`: the member has a
            message receive a reaction from another member, counted once per
            message.

            - `send_message_in_channel_not_to_self`: the member sends a
            top-level message, or a reply to another member’s message, in a
            channel.

            - `num_polls_voted_in`: the member votes in a poll that is not
            anonymous, counted once per poll.

            - `log_in_to_forums_site`: the member signs in to the community
            site, counted per sign-in.

            - `update_slack_profile_photo`: the member sets a custom Slack
            profile photo in place of the default avatar.

            - `num_replies_selected_as_answer_not_from_self`: the member has a
            reply marked as an answer by someone else, counted once per reply.

            - `join_slack_channel`: the member joins one of the Slack channels
            the milestone names.
        sort_order:
          type: integer
          description: >-
            Where the milestone sits in its journey, lowest first. A journey’s
            `milestones` expansion comes in this order; a list of milestones
            comes newest first.
        multiplier:
          type:
            - integer
            - 'null'
          description: >-
            How many times the action must be done to complete the milestone.
            Null for a once-only action, and on older milestones saved without
            one, which cannot be completed.
        scoped_to_emoji_name:
          type:
            - string
            - 'null'
          description: >-
            The emoji a reaction must use to count, by its Slack name without
            colons or skin tone. A reaction with any skin tone of it counts.
            Null when any emoji counts.
        achievements_count:
          type: integer
          minimum: 0
          description: How many members have completed the milestone.
        journey_id:
          type: string
          description: The id of the journey the milestone belongs to.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile that created the milestone. Null when no
            member is recorded as its creator.
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The profile that created the milestone. Present only when
            `created_by` is expanded.
        integrations:
          type: object
          properties:
            slack:
              type:
                - object
                - 'null'
              properties:
                channel_ids:
                  type: array
                  items:
                    type: string
                  description: >-
                    The ids of the Slack channels the action must happen in. Any
                    one of them counts. Empty when every channel the milestone
                    was limited to is gone, so no activity counts toward it
                    until an admin picks channels again.
              required:
                - channel_ids
              description: >-
                The Slack channels the milestone is limited to. Null when the
                action counts in any channel.
          required:
            - slack
          description: The milestone’s settings in connected platforms.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - action
        - sort_order
        - multiplier
        - scoped_to_emoji_name
        - achievements_count
        - journey_id
        - created_by_id
        - integrations
    SlackProfile:
      type: object
      properties:
        object:
          type: string
          enum:
            - slack_profile
          description: Always `slack_profile`.
        id:
          type: string
          description: Slack’s id for the member.
          example: U0BRY4S6LNQ
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        workspace_id:
          type: string
          description: Slack’s id for the workspace the member belongs to.
          example: T01ABC123
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The display name the member set in Slack. Empty or null when they
            set none.
        real_name:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s full name in Slack. Null when Slack has none.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The email address on the Slack account. Null when Slack does not
            share it, as for bots.
          example: ada@example.com
        pronouns:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The pronouns the member set in Slack. Empty or null when they set
            none.
        avatar_url:
          anyOf:
            - type: string
            - type: 'null'
          description: The URL of the member’s Slack avatar. Null when Slack has none.
        locale:
          anyOf:
            - type: string
            - type: 'null'
          description: The member’s Slack language and region, such as `en-US`, when known.
        tz:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The member’s time zone in Slack, as an IANA name such as
            `America/New_York`, when known.
        is_bot:
          type: boolean
          description: Whether the account is a bot rather than a person.
        is_app_user:
          type: boolean
          description: >-
            Whether Slack reports the member as an authorized user of the
            Tightknit app.
        is_workflow_bot:
          type: boolean
          description: Whether the account is the bot behind a Slack workflow.
        is_admin:
          type: boolean
          description: Whether the member is an admin of the Slack workspace.
        is_owner:
          type: boolean
          description: Whether the member is an owner of the Slack workspace.
        is_restricted:
          type: boolean
          description: >-
            Whether the member is a Slack guest, limited to the channels they
            were invited to.
        is_invited_user:
          type: boolean
          description: Whether the member holds nothing but a still-open Slack invitation.
        is_deleted:
          type: boolean
          description: Whether Slack deactivated the account.
      required:
        - object
        - id
        - created_at
        - updated_at
        - workspace_id
        - display_name
        - real_name
        - email
        - pronouns
        - avatar_url
        - locale
        - tz
        - is_bot
        - is_app_user
        - is_workflow_bot
        - is_admin
        - is_owner
        - is_restricted
        - is_invited_user
        - is_deleted
    File:
      type: object
      properties:
        object:
          type: string
          enum:
            - file
          description: Always `file`.
        id:
          type: string
          description: Unique identifier for the object.
          example: file_2b3c4d5e6f7g
        name:
          type: string
          description: The file’s stored name, including its extension.
          example: cover.png
        title:
          type:
            - string
            - 'null'
          description: >-
            Alt text or a short description of the file. An upload without one
            takes the filename. Null when none was recorded.
        mimetype:
          type: string
          description: The file’s media type.
          example: image/png
        size:
          type: integer
          minimum: 0
          description: The file’s size in bytes.
        url:
          type: string
          description: Where to download the file.
        thumbnail_url:
          type:
            - string
            - 'null'
          description: A smaller preview of the file. Null when it has none.
        created_at:
          type: string
          format: date-time
          description: When the file was stored.
      required:
        - object
        - id
        - name
        - title
        - mimetype
        - size
        - url
        - thumbnail_url
        - created_at
      description: A file the community stored, uploaded or generated.
    GroupMembership:
      type: object
      properties:
        object:
          type: string
          enum:
            - group_membership
          description: Always `group_membership`.
        id:
          type: string
          description: Unique identifier for the object.
          example: gmem_4k8p2n6x1vqz
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        group_id:
          type: string
          description: The id of the group.
          example: grup_7m3x9k4t8plz
        group:
          anyOf:
            - $ref: '#/components/schemas/Group'
            - type: 'null'
          description: The group. Present only when `group` is expanded.
        profile_id:
          type: string
          description: The id of the member’s profile.
          example: prof_9f2b8c1d4e5a
        profile:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: The member’s profile. Present only when `profile` is expanded.
      required:
        - object
        - id
        - created_at
        - group_id
        - profile_id
    SlackChannel:
      type: object
      properties:
        object:
          type: string
          enum:
            - slack_channel
          description: Always `slack_channel`.
        id:
          type: string
          description: Slack’s id for the channel.
          example: C01ABC123
        name:
          type:
            - string
            - 'null'
          description: >-
            The channel’s name in Slack, without the `#`. Null when it is not
            known.
        is_private:
          type:
            - boolean
            - 'null'
          description: Whether the channel is private in Slack. Null when it is not known.
        is_archived:
          type:
            - boolean
            - 'null'
          description: Whether the channel is archived in Slack. Null when it is not known.
      required:
        - object
        - id
        - name
        - is_private
        - is_archived
    Group:
      type: object
      properties:
        object:
          type: string
          enum:
            - group
          description: Always `group`.
        id:
          type: string
          description: Unique identifier for the object.
          example: grup_7m3x9k4t8plz
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        updated_at:
          type: string
          format: date-time
          description: When the object was last changed.
        label:
          type: string
          description: The group’s name.
        slug:
          type: string
          description: The group’s path segment in community site URLs.
          example: founding-members
        visibility:
          type: string
          enum:
            - private
            - public
          description: |-
            Whether the community site shows the group. One of:
            - `public`: listed on the groups page and on its members’ profiles.
            - `private`: hidden from the community site.
        description:
          type: object
          description: >-
            What the group is about, as rich text. Rendered on the groups
            endpoints only; null when the group is nested under another object.
        description_html:
          type:
            - string
            - 'null'
          description: >-
            The group’s description as sanitized HTML. Rendered on the groups
            endpoints only; null when the group is nested under another object.
        flair_label:
          type:
            - string
            - 'null'
          description: >-
            The short badge text members of the group may show beside their
            name. Null when the group offers no flair.
        show_flair:
          type: boolean
          description: >-
            Whether the flair appears on posts and comments. It shows only when
            `flair_label` is set, the group is `public`, and the member chose
            this group’s flair.
        notify_new_members:
          type: boolean
          description: >-
            Whether members added to the group receive a Slack DM telling them
            so.
        members_count:
          type: integer
          minimum: 0
          description: How many members the group has.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the profile that created the group. Null when no member
            created it.
          example: prof_5Yq7tVz2Hm3n
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The profile that created the group. Present only when `created_by`
            is expanded.
        membership_award_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the award every member of the group holds while they
            belong to it. Null when the group grants none.
          example: awrd_7k3m2p9x4nqr
        membership_award:
          anyOf:
            - $ref: '#/components/schemas/Award'
            - type: 'null'
          description: >-
            The membership award. Present only when `membership_award` is
            expanded.
        banner_file_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the image shown at the top of the group’s page. Null when
            the group has no banner.
          example: file_2b3c4d5e6f7g
        banner_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The group’s banner image. Present only when `banner_file` is
            expanded.
        integrations:
          type: object
          properties:
            slack:
              type:
                - object
                - 'null'
              properties:
                channel_id:
                  type: string
                  description: Slack’s id for a channel.
                  example: C01ABC123
              required:
                - channel_id
              description: >-
                Always null: groups no longer sync their members with a Slack
                channel.
          required:
            - slack
          description: Where the group connects to other platforms.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - slug
        - visibility
        - description
        - description_html
        - flair_label
        - show_flair
        - notify_new_members
        - members_count
        - created_by_id
        - membership_award_id
        - banner_file_id
        - integrations
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Tightknit API key
      description: 'A Tightknit admin API key, sent as `Authorization: Bearer <key>`.'

````

## Related topics

- [Retrieve a milestone achievement](https://docs.tightknit.ai/v1/api-reference/journeys/retrieve-a-milestone-achievement.md)
- [Retrieve a journey](https://docs.tightknit.ai/v1/api-reference/journeys/retrieve-a-journey.md)
- [List journey achievements](https://docs.tightknit.ai/v1/api-reference/journeys/list-journey-achievements.md)
- [Journeys](https://docs.tightknit.ai/gamification/journeys.md)
- [Retrieve a milestone](https://docs.tightknit.ai/v1/api-reference/journeys/retrieve-a-milestone.md)


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