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

#  Enroll In Card

> Enroll in a card – the current user will be given access to all child cards(that have been
published) within the specified card. If the user has already enrolled, this endpoint will
return all child cards to provide idempotency.



## OpenAPI

````yaml put /v1/cards/enroll/{card_id}
openapi: 3.1.0
info:
  title: supernotes
  description: The Supernotes API – a modern and fast API for quick card creation
  version: 3.2.1
servers: []
security: []
paths:
  /v1/cards/enroll/{card_id}:
    put:
      tags:
        - cards
      summary: ' Enroll In Card'
      description: >-
        Enroll in a card – the current user will be given access to all child
        cards(that have been

        published) within the specified card. If the user has already enrolled,
        this endpoint will

        return all child cards to provide idempotency.
      operationId: _enroll_in_card_v1_cards_enroll__card_id__put
      parameters:
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  '[card_id]':
                    $ref: '#/components/schemas/TransformedCardResponse'
                propertyNames:
                  format: uuid
                title: Response  Enroll In Card V1 Cards Enroll  Card Id  Put
        4XX:
          description: Unified Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    TransformedCardResponse:
      properties:
        data:
          $ref: '#/components/schemas/ExtendedCardDataResponse'
        membership:
          $ref: '#/components/schemas/ExtendedCardMembershipResponse'
        backlinks:
          items:
            type: string
          type: array
          title: Backlinks
        parents:
          properties:
            '[card_id]':
              $ref: '#/components/schemas/ExtendedCardParentResponse'
          propertyNames:
            format: uuid
          type: object
          title: Parents
      type: object
      required:
        - data
        - membership
        - backlinks
        - parents
      title: TransformedCardResponse
    UnifiedError:
      discriminator:
        mapping:
          auth: '#/components/schemas/AuthError'
          basic: '#/components/schemas/BasicError'
          card: '#/components/schemas/CardError'
          numeric: '#/components/schemas/NumericError'
          permission: '#/components/schemas/PermError'
          recaptcha: '#/components/schemas/RecaptchaError'
          turnstile: '#/components/schemas/TurnstileError'
          validation: '#/components/schemas/ValidationError'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/AuthError'
        - $ref: '#/components/schemas/BasicError'
        - $ref: '#/components/schemas/CardError'
        - $ref: '#/components/schemas/PermError'
        - $ref: '#/components/schemas/RecaptchaError'
        - $ref: '#/components/schemas/TurnstileError'
        - $ref: '#/components/schemas/ValidationError'
        - $ref: '#/components/schemas/NumericError'
    ExtendedCardDataResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        owner_id:
          type: string
          format: uuid
          title: Owner Id
        name:
          type: string
          title: Name
        markup:
          type: string
          title: Markup
        html:
          type: string
          title: Html
        ydoc:
          type: string
          title: Ydoc
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
        tags:
          items:
            type: string
          type: array
          title: Tags
        color:
          anyOf:
            - $ref: '#/components/schemas/CoreColor'
            - type: 'null'
        created_when:
          type: string
          format: date-time
          title: Created When
        modified_when:
          type: string
          format: date-time
          title: Modified When
        modified_by_id:
          type: string
          format: uuid
          title: Modified By Id
        synced_when:
          type: string
          format: date-time
          title: Synced When
        targeted_when:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Targeted When
        meta:
          additionalProperties:
            anyOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
          type: object
          title: Meta
        daily_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Daily Date
        h3_index:
          anyOf:
            - type: string
            - type: 'null'
          title: H3 Index
        link_cache:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Link Cache
        comment_count:
          type: integer
          title: Comment Count
        likes:
          type: integer
          title: Likes
        member_count:
          type: integer
          title: Member Count
        public_child_count:
          type: integer
          title: Public Child Count
      type: object
      required:
        - id
        - owner_id
        - name
        - markup
        - html
        - ydoc
        - icon
        - tags
        - color
        - created_when
        - modified_when
        - modified_by_id
        - synced_when
        - targeted_when
        - meta
        - daily_date
        - h3_index
        - link_cache
        - comment_count
        - likes
        - member_count
        - public_child_count
      title: ExtendedCardDataResponse
    ExtendedCardMembershipResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        liked:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Liked
        personal_tags:
          items:
            type: string
          type: array
          title: Personal Tags
        personal_color:
          anyOf:
            - $ref: '#/components/schemas/CoreColor'
            - type: 'null'
        perms:
          $ref: '#/components/schemas/Role'
        via_type:
          $ref: '#/components/schemas/MembershipCreatedVia'
        via_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Via Id
        created_when:
          type: string
          format: date-time
          title: Created When
        modified_when:
          type: string
          format: date-time
          title: Modified When
        enrolled_when:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Enrolled When
        opened_when:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Opened When
        auto_publish_children:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Auto Publish Children
        view:
          anyOf:
            - $ref: '#/components/schemas/StoredViewData'
            - type: 'null'
        flash_memory:
          anyOf:
            - $ref: '#/components/schemas/FlashMemory'
            - type: 'null'
        visibility:
          $ref: '#/components/schemas/Visibility'
        status:
          $ref: '#/components/schemas/Status'
        total_child_count:
          type: integer
          title: Total Child Count
        share_link_count:
          type: integer
          title: Share Link Count
      type: object
      required:
        - id
        - liked
        - personal_tags
        - personal_color
        - perms
        - via_type
        - via_id
        - created_when
        - modified_when
        - enrolled_when
        - opened_when
        - auto_publish_children
        - view
        - flash_memory
        - visibility
        - status
        - total_child_count
        - share_link_count
      title: ExtendedCardMembershipResponse
    ExtendedCardParentResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        owner_id:
          type: string
          format: uuid
          title: Owner Id
        parent_id:
          type: string
          format: uuid
          title: Parent Id
        child_id:
          type: string
          format: uuid
          title: Child Id
        created_when:
          type: string
          format: date-time
          title: Created When
        publishing_perms:
          anyOf:
            - $ref: '#/components/schemas/Role'
            - type: 'null'
        archived:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Archived
        parent_membership_status:
          $ref: '#/components/schemas/Status'
      type: object
      required:
        - id
        - owner_id
        - parent_id
        - child_id
        - created_when
        - publishing_perms
        - archived
        - parent_membership_status
      title: ExtendedCardParentResponse
    AuthError:
      properties:
        type:
          const: auth
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          enum:
            - APIKey
            - Bearer
            - Fresh
            - Refresh
          title: Meta
          type: string
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: AuthError
      type: object
    BasicError:
      properties:
        type:
          const: basic
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          title: Meta
          type: 'null'
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: BasicError
      type: object
    CardError:
      properties:
        type:
          const: card
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          format: uuid
          title: Meta
          type: string
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: CardError
      type: object
    PermError:
      properties:
        type:
          const: permission
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          $ref: '#/components/schemas/PermErrorMeta'
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: PermError
      type: object
    RecaptchaError:
      properties:
        type:
          const: recaptcha
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          title: Meta
          type: boolean
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: RecaptchaError
      type: object
    TurnstileError:
      properties:
        type:
          const: turnstile
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          items:
            type: string
          title: Meta
          type: array
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: TurnstileError
      type: object
    ValidationError:
      properties:
        type:
          const: validation
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          additionalProperties:
            type: string
          title: Meta
          type: object
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: ValidationError
      type: object
    NumericError:
      properties:
        type:
          const: numeric
          title: Type
          type: string
        detail:
          title: Detail
          type: string
        meta:
          anyOf:
            - type: number
            - type: integer
          title: Meta
        status:
          title: Status
          type: integer
      required:
        - type
        - detail
        - meta
        - status
      title: NumericError
      type: object
    CoreColor:
      enum:
        - blue
        - green
        - orange
        - pink
        - purple
        - red
        - yellow
      title: CoreColor
      type: string
    Role:
      enum:
        - -1
        - 0
        - 1318
        - 1382
        - 1398
        - 4094
        - 8190
      title: Role
      type: integer
    MembershipCreatedVia:
      type: integer
      enum:
        - 1
        - 2
        - 3
        - 4
      title: MembershipCreatedVia
    StoredViewData:
      properties:
        display_type:
          $ref: '#/components/schemas/ViewLayout'
        sort_type:
          $ref: '#/components/schemas/SortType'
        sort_ascending:
          title: Sort Ascending
          type: boolean
        broadsheet_cols:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Broadsheet Cols
        broadsheet_full_width:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          title: Broadsheet Full Width
        attempt_card_match:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          title: Attempt Card Match
        card_sizing:
          anyOf:
            - $ref: '#/components/schemas/CardSizing'
            - type: 'null'
          default: null
        map_position:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Map Position
      required:
        - display_type
        - sort_type
        - sort_ascending
      title: StoredViewData
      type: object
    FlashMemory:
      properties:
        due:
          title: Due
          type: integer
        stability:
          title: Stability
          type: number
        difficulty:
          title: Difficulty
          type: number
        elapsed_days:
          title: Elapsed Days
          type: integer
        scheduled_days:
          title: Scheduled Days
          type: integer
        reps:
          title: Reps
          type: integer
        lapses:
          title: Lapses
          type: integer
        state:
          $ref: '#/components/schemas/MemoryReviewState'
        last_review:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Last Review
      required:
        - due
        - stability
        - difficulty
        - elapsed_days
        - scheduled_days
        - reps
        - lapses
        - state
      title: FlashMemory
      type: object
    Visibility:
      enum:
        - -1
        - 0
        - 1
      title: Visibility
      type: integer
    Status:
      enum:
        - -2
        - -1
        - 0
        - 1
        - 2
      title: Status
      type: integer
    PermErrorMeta:
      properties:
        perm_name:
          title: Perm Name
          type: string
        perm_value:
          title: Perm Value
          type: integer
      required:
        - perm_name
        - perm_value
      title: PermErrorMeta
      type: object
    ViewLayout:
      enum:
        - 1
        - 2
        - 4
        - 5
        - 6
      title: ViewLayout
      type: integer
    SortType:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
      title: SortType
      type: integer
    CardSizing:
      enum:
        - 1
        - 2
        - 3
      title: CardSizing
      type: integer
    MemoryReviewState:
      enum:
        - 0
        - 1
        - 2
        - 3
      title: MemoryReviewState
      type: integer
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: Api-Key

````