## Autogenerated by Scribe. DO NOT MODIFY.

name: 'Remainder Managment'
description: |-

  APIs to manage Remainders records.

  These endpoints can be used to Query/Update/Delete [Remainder](#remainder) records.
endpoints:
  -
    httpMethods:
      - GET
    uri: 'api/v1/discord-users/{discord_user_id}/remainders'
    metadata:
      groupName: 'Remainder Managment'
      groupDescription: |-

        APIs to manage Remainders records.

        These endpoints can be used to Query/Update/Delete [Remainder](#remainder) records.
      subgroup: ''
      subgroupDescription: ''
      title: 'List of Remainder records.'
      description: 'Paginated list of [Remainder](#remainder) records belonging to the specified [DiscordUser](#discorduser).'
      authenticated: true
      custom: []
    headers:
      Authorization: 'Bearer {YOUR_AUTH_KEY}'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      discord_user_id:
        name: discord_user_id
        description: '[DiscordUser](#discorduser) ID.'
        required: true
        example: 42
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanUrlParameters:
      discord_user_id: 42
    queryParameters:
      page_size:
        name: page_size
        description: 'Items per page. Defaults to 100.'
        required: false
        example: 25
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
      page:
        name: page
        description: 'Page to query. Defaults to 1.'
        required: false
        example: 1
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanQueryParameters:
      page_size: 25
      page: 1
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        status: 200
        content: '{"data":[{"id":38,"discord_user_id":42,"channel_id":null,"due_at":1736259300,"message":"Update todo list","status":"new","error":null},{"id":121,"discord_user_id":42,"channel_id":null,"due_at":1736259480,"message":"Water plants","status":"new","error":null}],"meta":{"current_page":1,"from":1,"last_page":1,"per_page":25,"to":2,"total":2}}'
        headers: []
        description: success
        custom: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer DWg0pwbKhoC45vSEKiY7o2fqyuawN4F1yCC6bbiYee795197'
    controller: null
    method: null
    route: null
    custom: []
  -
    httpMethods:
      - POST
    uri: 'api/v1/discord-users/{discord_user_id}/remainders'
    metadata:
      groupName: 'Remainder Managment'
      groupDescription: |-

        APIs to manage Remainders records.

        These endpoints can be used to Query/Update/Delete [Remainder](#remainder) records.
      subgroup: ''
      subgroupDescription: ''
      title: 'Create a new Remainder record.'
      description: 'Creates a new [Remainder](#remainder) record with the provided parameters.'
      authenticated: true
      custom: []
    headers:
      Authorization: 'Bearer {YOUR_AUTH_KEY}'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      discord_user_id:
        name: discord_user_id
        description: '[DiscordUser](#discorduser) ID.'
        required: true
        example: 42
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanUrlParameters:
      discord_user_id: 42
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      due_at:
        name: due_at
        description: 'The "Due at" time ([timestamp](#timestamp)) of the remainder'
        required: true
        example: '1732550400'
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
      message:
        name: message
        description: 'The message to send to the discord user.'
        required: true
        example: 'Check maintance results!'
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
      channel_id:
        name: channel_id
        description: 'The [snowflake](#snowflake) of the channel to send the remainder to.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        custom: []
    cleanBodyParameters:
      due_at: '1732550400'
      message: 'Check maintance results!'
    fileParameters: []
    responses:
      -
        status: 200
        content: '{"data":{"id":18568,"discord_user_id":42,"channel_id":null,"due_at":1732550400,"message":"Check maintance results!","status":"new","error":null}}'
        headers: []
        description: ''
        custom: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer DWg0pwbKhoC45vSEKiY7o2fqyuawN4F1yCC6bbiYee795197'
    controller: null
    method: null
    route: null
    custom: []
  -
    httpMethods:
      - PUT
    uri: 'api/v1/discord-users/{discord_user_id}/remainders/{id}'
    metadata:
      groupName: 'Remainder Managment'
      groupDescription: |-

        APIs to manage Remainders records.

        These endpoints can be used to Query/Update/Delete [Remainder](#remainder) records.
      subgroup: ''
      subgroupDescription: ''
      title: 'Update the specified Remainder record.'
      description: 'Updates the specified [Remainder](#remainder) record with the provided parameters.'
      authenticated: true
      custom: []
    headers:
      Authorization: 'Bearer {YOUR_AUTH_KEY}'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      discord_user_id:
        name: discord_user_id
        description: '[DiscordUser](#discorduser) ID.'
        required: true
        example: 42
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
      id:
        name: id
        description: '[Remainder](#remainder) ID.'
        required: true
        example: 18568
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanUrlParameters:
      discord_user_id: 42
      id: 18568
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      due_at:
        name: due_at
        description: 'The "Due at" time ([timestamp](#timestamp)) of the remainder.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        custom: []
      message:
        name: message
        description: 'The message to send to the discord user.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        custom: []
      channel_id:
        name: channel_id
        description: 'The [snowflake](#snowflake) of the channel to send the remainder to.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        custom: []
      status:
        name: status
        description: |-
          Status of the [Remainder](#remainder).

          For possible values see: [RemainderStatus](#remainderstatus)
        required: false
        example: failed
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: true
        custom: []
      error:
        name: error
        description: 'Error description in case of failure.'
        required: false
        example: 'Unknow user'
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: true
        custom: []
    cleanBodyParameters:
      status: failed
      error: 'Unknow user'
    fileParameters: []
    responses:
      -
        status: 200
        content: '{"data":{"id":18568,"discord_user_id":42,"channel_id":null,"due_at":1732550400,"message":"Check maintance results!","status":"failed","error":"Unknow user"},"changes":{"status":{"old":"new","new":"failed"},"error":{"old":null,"new":"Unknow user"}}}'
        headers: []
        description: ''
        custom: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer DWg0pwbKhoC45vSEKiY7o2fqyuawN4F1yCC6bbiYee795197'
    controller: null
    method: null
    route: null
    custom: []
  -
    httpMethods:
      - DELETE
    uri: 'api/v1/discord-users/{discord_user_id}/remainders/{id}'
    metadata:
      groupName: 'Remainder Managment'
      groupDescription: |-

        APIs to manage Remainders records.

        These endpoints can be used to Query/Update/Delete [Remainder](#remainder) records.
      subgroup: ''
      subgroupDescription: ''
      title: 'Remove the specified Remainder record.'
      description: 'Removes the specified [Remainder](#remainder) record with the provided parameters.'
      authenticated: true
      custom: []
    headers:
      Authorization: 'Bearer {YOUR_AUTH_KEY}'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      discord_user_id:
        name: discord_user_id
        description: '[DiscordUser](#discorduser) ID.'
        required: true
        example: 42
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
      id:
        name: id
        description: '[Remainder](#remainder) ID.'
        required: true
        example: 18568
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanUrlParameters:
      discord_user_id: 42
      id: 18568
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      snowflake:
        name: snowflake
        description: 'The [snowflake](#snowflake) of the DiscordUser of the Remainder to delete.'
        required: true
        example: '481398158916845568'
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        custom: []
    cleanBodyParameters:
      snowflake: '481398158916845568'
    fileParameters: []
    responses:
      -
        status: 204
        content: '{}'
        headers: []
        description: ''
        custom: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer DWg0pwbKhoC45vSEKiY7o2fqyuawN4F1yCC6bbiYee795197'
    controller: null
    method: null
    route: null
    custom: []
