> ## 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.

# List content resources

> Returns a page of content resources, newest first. Pass a page's `next_cursor` as `starting_after` to read the next one.



## OpenAPI

````yaml /openapi-v1.json get /v1/content_resources
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/content_resources:
    get:
      tags:
        - Content
      summary: List content resources
      description: >-
        Returns a page of content resources, newest first. Pass a page's
        `next_cursor` as `starting_after` to read the next one.
      operationId: listContentResources
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            description: How many rows to return, from 1 to 100.
            example: 20
          required: false
          description: How many rows to return, from 1 to 100.
          name: limit
          in: query
        - schema:
            type: string
            description: Opaque cursor from a previous page’s next_cursor.
          required: false
          description: Opaque cursor from a previous page’s next_cursor.
          name: starting_after
          in: query
        - schema:
            anyOf:
              - type: string
                pattern: ^cont_[a-zA-Z0-9]{12}$
              - type: array
                items:
                  type: string
                  pattern: ^cont_[a-zA-Z0-9]{12}$
                maxItems: 100
            description: Returns only rows whose id is one of these. Repeatable.
          required: false
          description: Returns only rows whose id is one of these. Repeatable.
          name: id
          in: query
          style: form
          explode: true
        - schema:
            type: string
            format: date-time
            description: RFC 3339. Returns only rows whose created_at is at or after this.
          required: false
          description: RFC 3339. Returns only rows whose created_at is at or after this.
          name: created_at[gte]
          in: query
        - schema:
            type: string
            format: date-time
            description: RFC 3339. Returns only rows whose created_at is at or before this.
          required: false
          description: RFC 3339. Returns only rows whose created_at is at or before this.
          name: created_at[lte]
          in: query
        - schema:
            anyOf:
              - type: string
                pattern: ^coll_[a-zA-Z0-9]{12}$
              - type: array
                items:
                  type: string
                  pattern: ^coll_[a-zA-Z0-9]{12}$
                maxItems: 100
            description: Returns only rows whose collection_id is one of these. Repeatable.
          required: false
          description: Returns only rows whose collection_id is one of these. Repeatable.
          name: collection_id
          in: query
          style: form
          explode: true
        - schema:
            type: string
            enum:
              - 'null'
              - notnull
            description: >-
              `null` returns only rows with no collection_id, `notnull` only
              rows that have one.
          required: false
          description: >-
            `null` returns only rows with no collection_id, `notnull` only rows
            that have one.
          name: collection_id[is]
          in: query
        - schema:
            anyOf:
              - type: string
                pattern: ^cevt_[a-zA-Z0-9]{12}$
              - type: array
                items:
                  type: string
                  pattern: ^cevt_[a-zA-Z0-9]{12}$
                maxItems: 100
            description: Returns only rows whose event_id is one of these. Repeatable.
          required: false
          description: Returns only rows whose event_id is one of these. Repeatable.
          name: event_id
          in: query
          style: form
          explode: true
        - schema:
            type: string
            enum:
              - 'null'
              - notnull
            description: >-
              `null` returns only rows with no event_id, `notnull` only rows
              that have one.
          required: false
          description: >-
            `null` returns only rows with no event_id, `notnull` only rows that
            have one.
          name: event_id[is]
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - url
                  - calendar_event
              - type: array
                items:
                  type: string
                  enum:
                    - url
                    - calendar_event
                maxItems: 100
            description: >-
              Returns only rows whose type is one of these. Repeatable. One of:
              `url`, `calendar_event`.
          required: false
          description: >-
            Returns only rows whose type is one of these. Repeatable. One of:
            `url`, `calendar_event`.
          name: type
          in: query
          style: form
          explode: true
        - schema:
            type: string
            description: Returns only rows whose search contains this.
          required: false
          description: Returns only rows whose search contains this.
          name: search[contains]
          in: query
        - schema:
            anyOf:
              - type: string
                pattern: ^tags_[a-zA-Z0-9]{12}$
              - type: array
                items:
                  type: string
                  pattern: ^tags_[a-zA-Z0-9]{12}$
                maxItems: 100
            description: Returns only rows whose tag_id is one of these. Repeatable.
          required: false
          description: Returns only rows whose tag_id is one of these. Repeatable.
          name: tag_id
          in: query
          style: form
          explode: true
        - schema:
            anyOf:
              - type: string
                enum:
                  - collection
                  - event
                  - cover_image_file
                  - created_by
                  - updated_by
                  - tag_links
              - type: array
                items:
                  type: string
                  enum:
                    - collection
                    - event
                    - cover_image_file
                    - created_by
                    - updated_by
                    - tag_links
                maxItems: 6
            description: >-
              Repeatable. Returns the named relation inline. One of:
              `collection`, `event`, `cover_image_file`, `created_by`,
              `updated_by`, `tag_links`.
          required: false
          description: >-
            Repeatable. Returns the named relation inline. One of: `collection`,
            `event`, `cover_image_file`, `created_by`, `updated_by`,
            `tag_links`.
          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/ContentResourceList'
        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:
    ContentResourceList:
      type: object
      properties:
        object:
          type: string
          enum:
            - list
          description: Always `list`.
        data:
          type: array
          items:
            $ref: '#/components/schemas/ContentResource'
          description: The rows on this page, in the order the list is read.
        url:
          type: string
          description: The path this list was read from.
        next_cursor:
          type: string
          description: >-
            Opaque cursor for the next page, to pass back as starting_after.
            Absent when no further pages exist, which is how a walk ends.
      required:
        - object
        - data
        - url
    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
    ContentResource:
      type: object
      properties:
        object:
          type: string
          enum:
            - content_resource
          description: Always `content_resource`.
        id:
          type: string
          description: Unique identifier for the object.
          example: cont_4h2o89z6qlpw
        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.
        title:
          type: string
          description: The title the resource is shown with.
        description:
          type:
            - string
            - 'null'
          description: A short summary of the resource. Null when not set.
        cover_image_url:
          type:
            - string
            - 'null'
          description: >-
            A cover image given as a URL. Alternative to cover_image_file_id,
            not derived from it: read the expanded file’s url first and fall
            back to this.
        position:
          type: integer
          description: >-
            The order Studio shows resources in within their collection; the
            list itself is ordered by created_at.
        type:
          type: string
          enum:
            - url
            - calendar_event
          description: >-
            What the resource points at. One of:

            - `url`: a link to a page, set in `url`.

            - `calendar_event`: an event on the community calendar, set in
            `event_id`.
        url:
          type:
            - string
            - 'null'
          description: Set for a url resource, null for a calendar_event one.
        collection_id:
          type:
            - string
            - 'null'
          example: coll_4h2o89z6qlpw
          description: Null once the collection it was filed under is deleted.
        collection:
          anyOf:
            - $ref: '#/components/schemas/ContentCollection'
            - type: 'null'
          description: >-
            The collection the resource is filed under. Present only when
            `collection` is expanded.
        event_id:
          type:
            - string
            - 'null'
          example: cevt_4h2o89z6qlpw
          description: Set for a calendar_event resource, null for a url one.
        event:
          anyOf:
            - $ref: '#/components/schemas/Event'
            - type: 'null'
          description: >-
            The event the resource points at. Present only when `event` is
            expanded.
        cover_image_file_id:
          type:
            - string
            - 'null'
          example: file_2b3c4d5e6f7g
          description: >-
            A cover image uploaded as a file. Alternative to cover_image_url;
            expand cover_image_file for its url.
        cover_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The cover image file. Present only when `cover_image_file` is
            expanded.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who created the resource. Null when no member
            is recorded as its creator.
          example: prof_9f2b8c1d4e5a
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who created the resource. Present only when `created_by`
            is expanded.
        updated_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who last changed the resource. Null until it is
            first changed, or when no member is recorded.
          example: prof_9f2b8c1d4e5a
        updated_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who last changed the resource. Present only when
            `updated_by` is expanded.
        tag_links:
          type: array
          items:
            $ref: '#/components/schemas/ContentResourceTagLink'
          description: The tags on the resource. Present only when `tag_links` is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - title
        - description
        - cover_image_url
        - position
        - type
        - url
        - collection_id
        - event_id
        - cover_image_file_id
        - created_by_id
        - updated_by_id
    ContentCollection:
      type: object
      properties:
        object:
          type: string
          enum:
            - content_collection
          description: Always `content_collection`.
        id:
          type: string
          description: Unique identifier for the object.
          example: coll_4h2o89z6qlpw
        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:
          type: string
          description: The name the collection is shown with.
        slug:
          type: string
          description: The URL segment of the collection's page on the community site.
        description:
          type:
            - string
            - 'null'
          description: What the collection holds. Null when not set.
        cover_image_url:
          type:
            - string
            - 'null'
          description: >-
            A cover image given as a URL. Alternative to cover_image_file_id,
            not derived from it: read the expanded file’s url first and fall
            back to this.
        position:
          type: integer
          description: >-
            The order Studio shows collections in; the list itself is ordered by
            created_at.
        resources_count:
          type: integer
          minimum: 0
          description: How many resources are filed under the collection.
        cover_image_file_id:
          type:
            - string
            - 'null'
          example: file_2b3c4d5e6f7g
          description: >-
            A cover image uploaded as a file. Alternative to cover_image_url;
            expand cover_image_file for its url.
        cover_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The cover image file. Present only when `cover_image_file` is
            expanded.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who created the collection. Null when no member
            is recorded as its creator.
          example: prof_9f2b8c1d4e5a
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who created the collection. Present only when
            `created_by` is expanded.
        updated_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who last changed the collection. Null until it
            is first changed, or when no member is recorded.
          example: prof_9f2b8c1d4e5a
        updated_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who last changed the collection. Present only when
            `updated_by` is expanded.
        tag_group_links:
          type: array
          items:
            $ref: '#/components/schemas/TagGroupContentCollectionLink'
          description: >-
            The tag groups whose tags can be put on resources in the collection.
            Present only when `tag_group_links` is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - name
        - slug
        - description
        - cover_image_url
        - position
        - resources_count
        - cover_image_file_id
        - created_by_id
        - updated_by_id
    Event:
      type: object
      properties:
        object:
          type: string
          enum:
            - event
          description: Always `event`.
        id:
          type: string
          description: Unique identifier for the object.
          example: cevt_4h2o89z6qlpw
        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.
        title:
          type: string
          description: The event title.
        slug:
          type: string
          description: The URL segment of the event's page on the community site.
        status:
          type: string
          enum:
            - draft
            - needs_approval
            - published
            - cancelled
          description: >-
            Where the event is in its life cycle. One of:

            - `draft`: saved but not live. A published event moved back to draft
            keeps the Slack announcements it already had.

            - `needs_approval`: submitted and waiting for an admin to approve
            it. Visible only to its creator and admins.

            - `published`: live: announced in its Slack channels and, when
            `publish_to_site` is on, shown on the community site.

            - `cancelled`: called off. Visible only to its creator and admins.
        start_date:
          type: string
          format: date-time
          description: When the event starts.
        end_date:
          type: string
          format: date-time
          description: When the event ends.
        show_end_date:
          type: boolean
          description: >-
            Whether the end date is displayed beside the start date in Slack and
            on the community site. A hidden end date still ends the event.
        description:
          type: object
          description: >-
            The event description as a rich text document. Rendered on the
            events endpoints only; null when the event is nested under another
            object.
        description_html:
          type:
            - string
            - 'null'
          description: >-
            The event description as sanitized HTML. Rendered on the events
            endpoints only; null when the event is nested under another object.
        recap:
          type: object
          description: >-
            A recap written after the event, as a rich text document. Rendered
            on the events endpoints only; null when the event is nested under
            another object.
        recap_html:
          type:
            - string
            - 'null'
          description: >-
            The recap as sanitized HTML. Rendered on the events endpoints only;
            null when the event is nested under another object.
        location:
          type:
            - string
            - 'null'
          description: Where the event takes place, as free text. Null when not set.
        link:
          type:
            - string
            - 'null'
          description: >-
            The event's URL, such as a video-call or registration link. Null
            when not set.
        recording_link:
          type:
            - string
            - 'null'
          description: A link to the event's recording. Null when not set.
        external_speakers:
          type:
            - string
            - 'null'
          description: >-
            Speakers who are not community members, as free text displayed with
            the event. Null when there are none.
        webhook_custom_metadata:
          type:
            - string
            - 'null'
          description: >-
            Passed through as `custom_metadata` on the
            `calendar_event.published`, `calendar_event.user_registered` and
            `calendar_event.user_unregistered` webhook payloads so the receiver
            can match it to its own record. Null when not set.
        cover_image_file_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the event's cover image file. Null when the event has no
            cover image.
          example: file_2b3c4d5e6f7g
        cover_image_file:
          anyOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
          description: >-
            The cover image file. Present only when `cover_image_file` is
            expanded.
        is_unlisted:
          type: boolean
          description: Whether the event is hidden from event listings.
        publish_to_site:
          type: boolean
          description: >-
            Whether the event shows on the community site. The site only shows
            published events, so on a draft this records where it goes once
            published.
        allow_public_guest_list:
          type: boolean
          description: >-
            Whether the attendee list and registrant count are shown to members
            who are neither admins nor the event owner, on the community site
            and in Slack.
        enable_registration_button:
          type: boolean
          description: >-
            Whether the event shows a registration button members click to sign
            up, with their attendance tracked in Tightknit.
        use_registration_btn_as_link:
          type: boolean
          description: >-
            Whether the registration button sends members to the event `link`
            instead of registering them in Tightknit, for sign-ups handled
            elsewhere.
        triggers_webhooks:
          type: boolean
          description: >-
            Whether the event sends payloads to the community's subscribed
            webhooks when it is published, when it ends, and as members register
            and unregister.
        reminders_config:
          type: array
          items:
            type: object
            properties:
              minutes:
                type: integer
                minimum: 0
                description: How many minutes before the start the reminder is sent.
            required:
              - minutes
          description: >-
            The reminders sent as Slack direct messages to the event's hosts,
            speakers and registrants. Only a published event sends them.
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who created the event. Null when no member is
            recorded as its creator.
          example: prof_5Yq7tVz2Hm3n
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who created the event. Present only when `created_by` is
            expanded.
        tag_links:
          type: array
          items:
            $ref: '#/components/schemas/EventTagLink'
          description: The tags on the event. Present only when `tag_links` is expanded.
        integrations:
          type: object
          properties:
            slack:
              type: object
              properties:
                published_channels:
                  type: array
                  items:
                    $ref: '#/components/schemas/EventPublishedChannel'
                  description: >-
                    The Slack channels the event is announced in, or will be
                    once published.
              required:
                - published_channels
              description: Present only when `slack_channels` is expanded.
            luma:
              type:
                - object
                - 'null'
              properties:
                event_id:
                  type:
                    - string
                    - 'null'
                  description: The id of the linked Luma event. Never null.
              required:
                - event_id
              description: >-
                The Luma event this event is linked to. Null when it is not
                linked to one.
          required:
            - luma
          description: What the event looks like in the services it is connected to.
      required:
        - object
        - id
        - created_at
        - updated_at
        - title
        - slug
        - status
        - start_date
        - end_date
        - show_end_date
        - description
        - description_html
        - recap
        - recap_html
        - location
        - link
        - recording_link
        - external_speakers
        - webhook_custom_metadata
        - cover_image_file_id
        - is_unlisted
        - publish_to_site
        - allow_public_guest_list
        - enable_registration_button
        - use_registration_btn_as_link
        - triggers_webhooks
        - reminders_config
        - created_by_id
        - integrations
    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.
    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
    ContentResourceTagLink:
      type: object
      properties:
        object:
          type: string
          enum:
            - content_resource_tag
          description: Always `content_resource_tag`.
        id:
          type: string
          description: Unique identifier for the object.
          example: crtg_4h2o89z6qlpw
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        tag_id:
          type: string
          description: The id of the tag on the content resource.
          example: tags_4h2o89z6qlpw
        tag:
          anyOf:
            - $ref: '#/components/schemas/Tag'
            - type: 'null'
          description: The tag on the content resource.
      required:
        - object
        - id
        - created_at
        - tag_id
        - tag
    TagGroupContentCollectionLink:
      type: object
      properties:
        object:
          type: string
          enum:
            - tag_group_content_collection
          description: Always `tag_group_content_collection`.
        id:
          type: string
          description: Unique identifier for the object.
          example: tgcc_4h2o89z6qlpw
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        tag_group_id:
          type: string
          description: >-
            The id of a tag group whose tags can be put on resources in the
            collection.
          example: tgrp_4h2o89z6qlpw
        tag_group:
          anyOf:
            - $ref: '#/components/schemas/TagGroup'
            - type: 'null'
          description: The tag group.
      required:
        - object
        - id
        - created_at
        - tag_group_id
        - tag_group
    EventTagLink:
      type: object
      properties:
        object:
          type: string
          enum:
            - event_tag
          description: Always `event_tag`.
        id:
          type: string
          description: Unique identifier for the object.
          example: evtg_4h2o89z6qlpw
        created_at:
          type: string
          format: date-time
          description: When the object was created.
        tag_id:
          type: string
          description: The id of the tag on the event.
          example: tags_4h2o89z6qlpw
        tag:
          anyOf:
            - $ref: '#/components/schemas/Tag'
            - type: 'null'
          description: The tag on the event.
      required:
        - object
        - id
        - created_at
        - tag_id
        - tag
    EventPublishedChannel:
      type: object
      properties:
        object:
          type: string
          enum:
            - event_published_channel
          description: Always `event_published_channel`.
        channel_id:
          type: string
          description: The Slack id of the channel.
          example: C01ABC123
        channel_name:
          type:
            - string
            - 'null'
          description: >-
            The channel's name in Slack. Null when the channel is not known to
            Tightknit.
        message_permalink:
          type:
            - string
            - 'null'
          description: >-
            A link to the Slack message announcing the event. Null until the
            announcement is posted.
        feed_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the feed the channel backs. Null when the channel has no
            feed.
          example: feed_7Kd2mQx4Lp9v
      required:
        - object
        - channel_id
        - channel_name
        - message_permalink
        - feed_id
    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
    Tag:
      type: object
      properties:
        object:
          type: string
          enum:
            - tag
          description: Always `tag`.
        id:
          type: string
          description: Unique identifier for the object.
          example: tags_4h2o89z6qlpw
        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 name the tag is shown with.
        slug:
          type: string
          description: >-
            A URL-safe name, made from the label when none is set. Renaming the
            label keeps it.
        section:
          type:
            - string
            - 'null'
          description: >-
            Free text that subdivides a tag group, not a fixed vocabulary: a
            group holds at most 10 distinct sections, and a tag with none reads
            null.
          example: format
        description:
          type:
            - string
            - 'null'
          description: What the tag is for. Null when not set.
        tag_group_id:
          type: string
          description: The id of the tag group the tag belongs to.
          example: tgrp_4h2o89z6qlpw
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who created the tag. Null when no member is
            recorded as its creator.
          example: prof_5Yq7tVz2Hm3n
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who created the tag. Present only when `created_by` is
            expanded.
        updated_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who last changed the tag. Null until it is
            first changed, or when no member is recorded.
          example: prof_5Yq7tVz2Hm3n
        updated_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who last changed the tag. Present only when `updated_by`
            is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - slug
        - section
        - description
        - tag_group_id
        - created_by_id
        - updated_by_id
    TagGroup:
      type: object
      properties:
        object:
          type: string
          enum:
            - tag_group
          description: Always `tag_group`.
        id:
          type: string
          description: Unique identifier for the object.
          example: tgrp_4h2o89z6qlpw
        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 name the tag group is shown with.
        slug:
          type: string
          description: >-
            A URL-safe name, made from the label when none is set. Renaming the
            label keeps it.
        description:
          type:
            - string
            - 'null'
          description: What the tag group is for. Null when not set.
        emoji_icon:
          type:
            - string
            - 'null'
          description: The emoji shown beside the tag group. Null when it has none.
        visibility:
          type: string
          enum:
            - public
            - internal
          description: >-
            Who sees the tag group and its tags. One of:

            - `public`: members, wherever tags show on the community site.

            - `internal`: hidden from members; only people who can manage tags
            see them, through Studio, MCP and this API.
          example: public
        created_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who created the tag group. Null when no member
            is recorded as its creator.
          example: prof_5Yq7tVz2Hm3n
        created_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who created the tag group. Present only when `created_by`
            is expanded.
        updated_by_id:
          type:
            - string
            - 'null'
          description: >-
            The id of the member who last changed the tag group. Null until it
            is first changed, or when no member is recorded.
          example: prof_5Yq7tVz2Hm3n
        updated_by:
          anyOf:
            - $ref: '#/components/schemas/Profile'
            - type: 'null'
          description: >-
            The member who last changed the tag group. Present only when
            `updated_by` is expanded.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The tags in the group. Present only when `tags` is expanded.
      required:
        - object
        - id
        - created_at
        - updated_at
        - label
        - slug
        - description
        - emoji_icon
        - visibility
        - created_by_id
        - updated_by_id
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Tightknit API key
      description: 'A Tightknit admin API key, sent as `Authorization: Bearer <key>`.'

````

## Related topics

- [MCP Server](https://docs.tightknit.ai/integrations/mcp.md)
- [Getting Started with Content Resource Libraries](https://docs.tightknit.ai/content-resource-library/getting-started.md)
- [List content collections](https://docs.tightknit.ai/v1/api-reference/content/list-content-collections.md)
- [Retrieve a content resource](https://docs.tightknit.ai/v1/api-reference/content/retrieve-a-content-resource.md)
- [Getting Started with Tags](https://docs.tightknit.ai/tags/getting-started.md)


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