Coperniq reminders API

The reminders API from Coperniq — 4 operation(s) for reminders.

OpenAPI Specification

coperniq-reminders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Key accounts reminders API
  version: 1.0.0
servers:
- url: https://api.coperniq.io/v1
  description: Production server
tags:
- name: reminders
paths:
  /projects/{projectId}/reminders:
    get:
      operationId: get-project-reminders
      summary: Get Project Reminders
      description: 'Retrieve reminders for a specific project.


        Supports:

        - Pagination (`page_size`, `page`)

        - Date filtering (`updated_after`, `updated_before`)

        - Sorting (`order_by`)

        - Completion filter (`is_completed`)

        '
      tags:
      - reminders
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of items per page (max 100)
        required: false
        schema:
          type: integer
          default: 20
      - name: page
        in: query
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
      - name: order_by
        in: query
        description: Sort order for results
        required: false
        schema:
          $ref: '#/components/schemas/ProjectsProjectIdRemindersGetParametersOrderBy'
      - name: updated_after
        in: query
        description: Filter items updated after this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: updated_before
        in: query
        description: Filter items updated before this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: is_completed
        in: query
        description: Filter by completion status
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of reminders for the project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReminderListResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProjectRemindersRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProjectRemindersRequestUnauthorizedError'
    post:
      operationId: create-project-reminder
      summary: Create Project Reminder
      description: Create a new reminder associated with a project.
      tags:
      - reminders
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Reminder created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reminder'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProjectReminderRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProjectReminderRequestUnauthorizedError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReminderCreate'
  /opportunities/{opportunityId}/reminders:
    get:
      operationId: get-opportunity-reminders
      summary: Get Opportunity Reminders
      description: 'Retrieve reminders for a specific opportunity.


        Supports:

        - Pagination (`page_size`, `page`)

        - Date filtering (`updated_after`, `updated_before`)

        - Sorting (`order_by`)

        - Completion filter (`is_completed`)

        '
      tags:
      - reminders
      parameters:
      - name: opportunityId
        in: path
        required: true
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of items per page (max 100)
        required: false
        schema:
          type: integer
          default: 20
      - name: page
        in: query
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
      - name: order_by
        in: query
        description: Sort order for results
        required: false
        schema:
          $ref: '#/components/schemas/OpportunitiesOpportunityIdRemindersGetParametersOrderBy'
      - name: updated_after
        in: query
        description: Filter items updated after this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: updated_before
        in: query
        description: Filter items updated before this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: is_completed
        in: query
        description: Filter by completion status
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of reminders for the opportunity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReminderListResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOpportunityRemindersRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOpportunityRemindersRequestUnauthorizedError'
    post:
      operationId: create-opportunity-reminder
      summary: Create Opportunity Reminder
      description: Create a new reminder associated with an opportunity.
      tags:
      - reminders
      parameters:
      - name: opportunityId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Reminder created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reminder'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOpportunityReminderRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOpportunityReminderRequestUnauthorizedError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReminderCreate'
  /accounts/{accountId}/reminders:
    get:
      operationId: get-account-reminders
      summary: Get Account Reminders
      description: 'Retrieve reminders for a specific account.


        Supports:

        - Pagination (`page_size`, `page`)

        - Date filtering (`updated_after`, `updated_before`)

        - Sorting (`order_by`)

        - Completion filter (`is_completed`)

        '
      tags:
      - reminders
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of items per page (max 100)
        required: false
        schema:
          type: integer
          default: 20
      - name: page
        in: query
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
      - name: order_by
        in: query
        description: Sort order for results
        required: false
        schema:
          $ref: '#/components/schemas/AccountsAccountIdRemindersGetParametersOrderBy'
      - name: updated_after
        in: query
        description: Filter items updated after this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: updated_before
        in: query
        description: Filter items updated before this timestamp (ISO 8601)
        required: false
        schema:
          type: string
          format: date-time
      - name: is_completed
        in: query
        description: Filter by completion status
        required: false
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of reminders for the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReminderListResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountRemindersRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountRemindersRequestUnauthorizedError'
    post:
      operationId: create-account-reminder
      summary: Create Account Reminder
      description: Create a new reminder associated with an account.
      tags:
      - reminders
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Reminder created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reminder'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountReminderRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountReminderRequestUnauthorizedError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReminderCreate'
  /reminders/{reminderId}:
    get:
      operationId: get-reminder
      summary: Get Reminder
      description: Retrieve a specific reminder by ID.
      tags:
      - reminders
      parameters:
      - name: reminderId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Reminder details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reminder'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReminderRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReminderRequestNotFoundError'
    patch:
      operationId: update-reminder
      summary: Update Reminder
      description: Update an existing reminder.
      tags:
      - reminders
      parameters:
      - name: reminderId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Reminder updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reminder'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReminderRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReminderRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReminderRequestNotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReminderUpdate'
    delete:
      operationId: delete-reminder
      summary: Delete Reminder
      description: Delete a specific reminder by ID.
      tags:
      - reminders
      parameters:
      - name: reminderId
        in: path
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteReminderRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteReminderRequestNotFoundError'
components:
  schemas:
    GetProjectRemindersRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/ProjectsProjectIdRemindersGetResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: GetProjectRemindersRequestBadRequestError
    UpdateReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdPatchResponsesContentApplicationJsonSchemaCode'
      title: UpdateReminderRequestUnauthorizedError
    DeleteReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdDeleteResponsesContentApplicationJsonSchemaCode'
      title: DeleteReminderRequestUnauthorizedError
    ReminderCreateType:
      type: string
      enum:
      - CALL
      - EMAIL
      - IN_PERSON
      - VIRTUAL
      - DEADLINE
      - OTHER
      description: Reminder type
      title: ReminderCreateType
    GetAccountRemindersRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/AccountsAccountIdRemindersGetResponsesContentApplicationJsonSchemaCode'
      title: GetAccountRemindersRequestUnauthorizedError
    GetOpportunityRemindersRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/OpportunitiesOpportunityIdRemindersGetResponsesContentApplicationJsonSchemaCode'
      title: GetOpportunityRemindersRequestUnauthorizedError
    GetReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdGetResponsesContentApplicationJsonSchemaCode'
      title: GetReminderRequestUnauthorizedError
    RemindersReminderIdPatchResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: RemindersReminderIdPatchResponsesContentApplicationJsonSchemaCode
    GetAccountRemindersRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/AccountsAccountIdRemindersGetResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: GetAccountRemindersRequestBadRequestError
    UpdateReminderRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdPatchResponsesContentApplicationJsonSchemaCode'
      title: UpdateReminderRequestNotFoundError
    AccountsAccountIdRemindersGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: AccountsAccountIdRemindersGetResponsesContentApplicationJsonSchemaCode
    OpportunitiesOpportunityIdRemindersPostResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: OpportunitiesOpportunityIdRemindersPostResponsesContentApplicationJsonSchemaCode
    ProjectsProjectIdRemindersGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: ProjectsProjectIdRemindersGetResponsesContentApplicationJsonSchemaCode
    ReminderListResponse:
      type: object
      properties:
        reminders:
          type: array
          items:
            $ref: '#/components/schemas/Reminder'
        totalCount:
          type: integer
      required:
      - reminders
      - totalCount
      title: ReminderListResponse
    AccountsAccountIdRemindersGetParametersOrderBy:
      type: string
      enum:
      - asc
      - desc
      default: asc
      title: AccountsAccountIdRemindersGetParametersOrderBy
    GetReminderRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdGetResponsesContentApplicationJsonSchemaCode'
      title: GetReminderRequestNotFoundError
    CreateAccountReminderRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/AccountsAccountIdRemindersPostResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: CreateAccountReminderRequestBadRequestError
    RemindersReminderIdDeleteResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: RemindersReminderIdDeleteResponsesContentApplicationJsonSchemaCode
    ReminderUpdate:
      type: object
      properties:
        title:
          type: string
        assigneeId:
          type: integer
        description:
          type:
          - string
          - 'null'
        dueDate:
          type:
          - string
          - 'null'
          format: date-time
        isCompleted:
          type: boolean
        type:
          $ref: '#/components/schemas/ReminderUpdateType'
      title: ReminderUpdate
    CreateOpportunityReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/OpportunitiesOpportunityIdRemindersPostResponsesContentApplicationJsonSchemaCode'
      title: CreateOpportunityReminderRequestUnauthorizedError
    OpportunitiesOpportunityIdRemindersGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: OpportunitiesOpportunityIdRemindersGetResponsesContentApplicationJsonSchemaCode
    Reminder:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        description:
          type:
          - string
          - 'null'
        type:
          oneOf:
          - $ref: '#/components/schemas/ReminderType'
          - type: 'null'
        dueDate:
          type:
          - string
          - 'null'
          format: date-time
        isCompleted:
          type: boolean
        completedAt:
          type:
          - string
          - 'null'
          format: date-time
        assigneeId:
          type:
          - integer
          - 'null'
        projectId:
          type:
          - integer
          - 'null'
          description: Present when the reminder belongs to a project.
        opportunityId:
          type:
          - integer
          - 'null'
          description: Present when the reminder belongs to an opportunity.
        accountId:
          type:
          - integer
          - 'null'
          description: Present when the reminder belongs to an account.
        createdBy:
          type:
          - integer
          - 'null'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      description: 'Exactly one of `projectId`, `opportunityId`, or `accountId` will be

        present, depending on which parent resource the reminder belongs to.

        '
      title: Reminder
    ReminderCreate:
      type: object
      properties:
        title:
          type: string
          description: Reminder title
        assigneeId:
          type: integer
          description: ID of the user assigned to this reminder
        description:
          type: string
          description: Optional description
        dueDate:
          type: string
          format: date-time
          description: ISO 8601 due date
        isCompleted:
          type: boolean
          description: Whether the reminder is completed
        type:
          $ref: '#/components/schemas/ReminderCreateType'
          description: Reminder type
      required:
      - title
      - assigneeId
      title: ReminderCreate
    UpdateReminderRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdPatchResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: UpdateReminderRequestBadRequestError
    GetOpportunityRemindersRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/OpportunitiesOpportunityIdRemindersGetResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: GetOpportunityRemindersRequestBadRequestError
    CreateProjectReminderRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/ProjectsProjectIdRemindersPostResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: CreateProjectReminderRequestBadRequestError
    ProjectsProjectIdRemindersPostResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: ProjectsProjectIdRemindersPostResponsesContentApplicationJsonSchemaCode
    CreateProjectReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/ProjectsProjectIdRemindersPostResponsesContentApplicationJsonSchemaCode'
      title: CreateProjectReminderRequestUnauthorizedError
    GetProjectRemindersRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/ProjectsProjectIdRemindersGetResponsesContentApplicationJsonSchemaCode'
      title: GetProjectRemindersRequestUnauthorizedError
    OpportunitiesOpportunityIdRemindersGetParametersOrderBy:
      type: string
      enum:
      - asc
      - desc
      default: asc
      title: OpportunitiesOpportunityIdRemindersGetParametersOrderBy
    ProjectsProjectIdRemindersGetParametersOrderBy:
      type: string
      enum:
      - asc
      - desc
      default: asc
      title: ProjectsProjectIdRemindersGetParametersOrderBy
    DeleteReminderRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/RemindersReminderIdDeleteResponsesContentApplicationJsonSchemaCode'
      title: DeleteReminderRequestNotFoundError
    RemindersReminderIdGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: RemindersReminderIdGetResponsesContentApplicationJsonSchemaCode
    ReminderType:
      type: string
      enum:
      - CALL
      - EMAIL
      - IN_PERSON
      - VIRTUAL
      - DEADLINE
      - OTHER
      title: ReminderType
    CreateOpportunityReminderRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/OpportunitiesOpportunityIdRemindersPostResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: CreateOpportunityReminderRequestBadRequestError
    CreateAccountReminderRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/AccountsAccountIdRemindersPostResponsesContentApplicationJsonSchemaCode'
      title: CreateAccountReminderRequestUnauthorizedError
    ReminderUpdateType:
      type: string
      enum:
      - CALL
      - EMAIL
      - IN_PERSON
      - VIRTUAL
      - DEADLINE
      - OTHER
      title: ReminderUpdateType
    AccountsAccountIdRemindersPostResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: AccountsAccountIdRemindersPostResponsesContentApplicationJsonSchemaCode
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic