Skip to content
Honen Academy

learning

Paginated course completion events.

Paginated course completions. Send page (default 1) and limit (default 25) in the JSON body. Increment page until pagination.page reaches pagination.totalPages. Filters and authorization apply to every page.

OpenAPI specification
POST/api/v1/learning/completions

Authentication

bearerAuth

Request

curl --globoff --request POST \
  --url 'https://honen.com/api/v1/learning/completions' \
  --header 'Authorization: Bearer <BEARER_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data-raw '{}'

Replace credential and <field> placeholders with your own values. URL placeholders appear as %3Cfield%3E. Review the example values before sending your request.

Use the sample JSON body as your starting point, and enter values that match the endpoint's schema.

Request body schema or example

{
  "type": "object",
  "properties": {
    "courseId": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    },
    "groupId": {
      "type": "string"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "exclusiveMinimum": true
    },
    "limit": {
      "type": "integer",
      "minimum": 0,
      "exclusiveMinimum": true
    }
  }
}

Responses

200Command result.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        true
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "completions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "userId": {
                "type": "string"
              },
              "userName": {
                "type": "string",
                "nullable": true
              },
              "userEmail": {
                "type": "string"
              },
              "courseId": {
                "type": "string"
              },
              "courseTitle": {
                "type": "string"
              },
              "completedAt": {
                "type": "string"
              },
              "avgScore": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "userId",
              "userName",
              "userEmail",
              "courseId",
              "courseTitle",
              "completedAt",
              "avgScore"
            ]
          }
        },
        "pagination": {
          "type": "object",
          "properties": {
            "page": {
              "type": "integer"
            },
            "limit": {
              "type": "integer"
            },
            "total": {
              "type": "integer"
            },
            "totalPages": {
              "type": "integer"
            }
          },
          "required": [
            "page",
            "limit",
            "total",
            "totalPages"
          ]
        }
      },
      "required": [
        "completions",
        "pagination"
      ]
    }
  },
  "required": [
    "success",
    "data"
  ]
}
400Malformed JSON request body.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "resolution": {
          "type": "string"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "details": {
          "nullable": true
        }
      },
      "required": [
        "code",
        "message",
        "resolution"
      ]
    }
  },
  "required": [
    "success",
    "error"
  ]
}
401Missing or invalid Connector credentials.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "resolution": {
          "type": "string"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "details": {
          "nullable": true
        }
      },
      "required": [
        "code",
        "message",
        "resolution"
      ]
    }
  },
  "required": [
    "success",
    "error"
  ]
}
403Connector policy does not permit this command.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "resolution": {
          "type": "string"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "details": {
          "nullable": true
        }
      },
      "required": [
        "code",
        "message",
        "resolution"
      ]
    }
  },
  "required": [
    "success",
    "error"
  ]
}
404Unknown command.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "resolution": {
          "type": "string"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "details": {
          "nullable": true
        }
      },
      "required": [
        "code",
        "message",
        "resolution"
      ]
    }
  },
  "required": [
    "success",
    "error"
  ]
}
422Input validation error.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "resolution": {
          "type": "string"
        },
        "errors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "details": {
          "nullable": true
        }
      },
      "required": [
        "code",
        "message",
        "resolution"
      ]
    }
  },
  "required": [
    "success",
    "error"
  ]
}