openapi: 3.2.0 info: title: Bindbee Courses API version: 0.1.0 tags: - name: Courses paths: /api/lms/v1/courses: get: tags: - Courses summary: Get Lms Courses description: Returns a list of LMS Course objects. operationId: get_lms_courses_api_lms_v1_courses_get security: - HTTPBearer: [] parameters: - name: status in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will only return courses with this status. Along with the standard values, any connector specific value returned in the response can be passed as well. examples: - ACTIVE - PENDING - INACTIVE title: Status description: If provided, will only return courses with this status. Along with the standard values, any connector specific value returned in the response can be passed as well. - name: remote_id in: query required: false schema: anyOf: - type: string - type: 'null' description: The third-party API ID of the matching object. title: Remote Id description: The third-party API ID of the matching object. - name: ids in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will only return courses with these IDs examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6,018b18ef-c487-703c-afd9-0ca478ccd9d7 title: Ids description: If provided, will only return courses with these IDs - name: categories in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will return courses with these categories examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 title: Categories description: If provided, will return courses with these categories - name: skills in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will return courses with these skills examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6,018b18ef-c487-703c-afd9-0ca478ccd9d7 title: Skills description: If provided, will return courses with these skills - name: instructors in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will return courses with these instructors examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6,018b18ef-c487-703c-afd9-0ca478ccd9d7 title: Instructors description: If provided, will return courses with these instructors - name: contents in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will return courses with these contents examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6,018b18ef-c487-703c-afd9-0ca478ccd9d7 title: Contents description: If provided, will return courses with these contents - name: languages in: query required: false schema: anyOf: - type: string - type: 'null' description: If provided, will return courses with these languages examples: - en_US,en_UK title: Languages description: If provided, will return courses with these languages - name: include_raw_data in: query required: false schema: type: boolean description: Whether to include the original data Bindbee fetched from the third-party to produce these models. examples: - false default: false title: Include Raw Data description: Whether to include the original data Bindbee fetched from the third-party to produce these models. - name: include_custom_fields in: query required: false schema: type: boolean description: Whether to include custom fields in the response. examples: - false default: false title: Include Custom Fields description: Whether to include custom fields in the response. - name: page_size in: query required: false schema: type: integer maximum: 200 minimum: 1 description: Number of results to return per page. Maximum size is 200. default: 50 title: Page Size description: Number of results to return per page. Maximum size is 200. - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' description: The pagination cursor value. title: Cursor description: The pagination cursor value. - name: expand in: query required: false schema: anyOf: - type: string - type: 'null' description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name. examples: - manager[first_name,last_name] title: Expand description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name. - name: x-connector-token in: header required: true schema: type: string title: X-Connector-Token responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse_LmsCourse_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' '401': description: Missing or invalid bearer authentication credentials. headers: WWW-Authenticate: description: Bearer authentication challenge. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on a different API category or a model whose writes are disabled. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. headers: X-RateLimit-Limit: description: Maximum requests allowed in the current window. schema: type: integer X-RateLimit-Remaining: description: Requests remaining in the current window. schema: type: integer X-RateLimit-Reset: description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets. schema: type: integer Retry-After: description: Seconds to wait before retrying the request. schema: type: integer content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/lms/v1/courses/{id}: get: tags: - Courses summary: Get Lms Course By Id description: Returns an LMS Course object with the given id. operationId: get_lms_course_by_id_api_lms_v1_courses__id__get security: - HTTPBearer: [] parameters: - name: id in: path required: true schema: type: string format: uuid title: Id - name: include_raw_data in: query required: false schema: type: boolean description: Whether to include the original data Bindbee fetched from the third-party to produce these models. examples: - false default: false title: Include Raw Data description: Whether to include the original data Bindbee fetched from the third-party to produce these models. - name: include_custom_fields in: query required: false schema: type: boolean description: Whether to include custom fields in the response. examples: - false default: false title: Include Custom Fields description: Whether to include custom fields in the response. - name: expand in: query required: false schema: anyOf: - type: string - type: 'null' description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name. examples: - manager[first_name,last_name] title: Expand description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name. - name: x-connector-token in: header required: true schema: type: string title: X-Connector-Token responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LmsCourse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' '401': description: Missing or invalid bearer authentication credentials. headers: WWW-Authenticate: description: Bearer authentication challenge. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on a different API category or a model whose writes are disabled. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. headers: X-RateLimit-Limit: description: Maximum requests allowed in the current window. schema: type: integer X-RateLimit-Remaining: description: Requests remaining in the current window. schema: type: integer X-RateLimit-Reset: description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets. schema: type: integer Retry-After: description: Seconds to wait before retrying the request. schema: type: integer content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ErrorResponse: type: object required: - detail properties: detail: type: string ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError LmsCourse: properties: id: type: string format: uuid title: Id examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 remote_id: anyOf: - type: string - type: 'null' title: Remote Id description: The third-party API ID of the matching object. examples: - '123321' modified_at: type: string format: date-time title: Modified At description: This is the datetime that this object was last updated by Bindbee examples: - '2021-10-16T00:00:00Z' raw_data: anyOf: - additionalProperties: true type: object - type: 'null' title: Raw Data description: This is the Raw data examples: - key_1: Platform dependent data 1 key_2: Platform dependent data 2 custom_fields: anyOf: - additionalProperties: true type: object - type: 'null' title: Custom Fields description: The custom fields related to the model examples: - category_group: REG disability_type: ASBERG hire_date: '1991-03-16T00:00:00' hire_source: REFER nationality: USA original_hire_date: '1991-03-16T00:00:00' name: anyOf: - type: string - type: 'null' title: Name description: The name of the course examples: - Python for Data Science description: anyOf: - type: string - type: 'null' title: Description description: The description of the course examples: - Introductory course cover_image: anyOf: - type: string - type: 'null' title: Cover Image description: The URL of the cover image of the course examples: - https://img.example.com/py.png url: anyOf: - type: string - type: 'null' title: Url description: The URL of the course examples: - https://lms.example.com/course/py duration: anyOf: - type: string - type: 'null' title: Duration description: The duration of the course in ISO 8601 format examples: - PT5H30M languages: anyOf: - items: type: string type: array - type: 'null' items: enum: - wae_CH - ar_SY - xh_ZA - ar_EG - fr_CH - no_NO - pt_PT - hy_AM - es_CR - th_TH - ks_IN - ar_AA - ik_CA - wa_BE - oc_FR - en_EN - tpi_PG - miq_NI - rw_RW - bn_BD - ka_GE - ug_CN - ta_LK - ar_SS - ru_UA - ee_EE - hsb_DE - ar_MA - nr_ZA - sh_HR - el_GR - de_DE - br_FR - pap_CW - quz_PE - ar_QA - the_NP - is_IS - es_NI - hif_FJ - csb_PL - en_BW - es_EC - sw_TZ - yue_HK - st_ZA - byn_ER - ro_RO - en_BE - km_KH - yi_US - de_IT - gv_GB - aa_ER - ss_ZA - uk_UA - it_IT - nl_NL - ti_ET - hu_HU - en_IE - sl_SI - ph_PH - ar_TN - de_BE - ig_NG - nso_ZA - sc_IT - ar_AE - sid_ET - fr_LU - en_HK - mni_IN - es_AR - sw_KE - et_EE - tr_TR - nhn_MX - ur_PK - bo_CN - mhr_RU - li_BE - ayc_PE - so_KE - niu_NU - eo_XX - lo_LA - tl_PH - so_SO - lt_LT - lv_LV - cy_GB - wo_SN - it_CH - ky_KG - es_CO - fy_NL - iu_CA - ar_YE - en_ZW - ca_FR - ar_IQ - gu_IN - zh_HK - iw_IL - nb_NO - ca_AD - sa_IN - tk_TM - mg_MG - ny_NO - nan_TW - wal_ET - ru_RU - mag_IN - to_TO - tcy_IN - bg_BG - sgs_LT - pd_US - ja_JP - an_ES - pap_AW - fi_FI - en_NZ - ia_FR - en_ZS - vi_VN - kl_GL - sv_FI - gez_ET - es_US - tt_RU - en_AG - si_LK - eo_US - or_IN - hak_TW - sm_WS - en_SC - es_UY - he_IL - da_DK - es_PA - ff_SN - es_BO - hi_IN - sr_ME - gd_GB - tig_ER - shs_CA - mi_NZ - te_IN - mai_IN - unm_US - ht_HT - id_ID - zh_CN - fur_IT - en_ZA - nds_DE - be_BY - niu_NZ - ga_IE - bho_IN - fr_CA - mr_IN - sk_SK - shn_MM - raj_IN - es_CU - se_NO - es_VE - sd_IN - fil_PH - mai_NP - dv_MV - bem_ZM - bho_NP - zh_TW - crh_UA - lb_LU - eo - es_PE - sr_CS - aa_ET - zu_ZA - de_LI - en_PH - C - ber_DZ - en_IL - de_AT - my_MM - gez_ER - en_NG - en_DL - sv_SE - ca_IT - sr_RS - lij_IT - ku_TR - ak_GH - en_AU - ti_ER - brx_IN - so_DJ - ms_MY - os_RU - pa_IN - ar_SA - ta_IN - ar_LY - eo_EO - eu_ES - es_PR - chr_US - ar_OM - yuw_PG - ha_NG - sl_CS - gl_ES - mn_MN - mjw_IN - es_DO - lg_UG - ps_AF - el_CY - mk_MK - pt_BR - sd_PK - ar_BH - eu_FR - agr_PE - ln_CD - fa_IR - ber_MA - ar_SD - en_GB - es_ES - ar_JO - es_HN - li_NL - sq_MK - mt_MT - fr_FR - az_AZ - uz_UZ - af_ZA - bn_IN - szl_PL - lzh_TW - doi_IN - zh_SG - kn_IN - bi_VU - nl_BE - bs_BA - kok_IN - bhb_IN - ca_ES - so_ET - tg_TJ - de_CH - de_LU - mfe_MU - cv_RU - pl_PL - om_KE - tr_CY - yo_NG - nl_AW - nn_NO - as_IN - ar_IN - nds_NL - ts_ZA - pa_PK - tn_ZA - pap_AN - es_PY - cs_CZ - fr_BE - ar_KW - ce_RU - ml_IN - es_GT - kw_GB - aa_DJ - ckb_IQ - fy_DE - ur_IN - es_CL - ve_ZA - en_SG - ko_KR - sq_AL - cmn_TW - en_CA - en_IN - en_ZM - bo_IN - anp_IN - hr_HR - ia - om_ET - sat_IN - es_MX - ast_ES - en_US - ar_LB - fo_FO - am_ET - az_IR - pp_AN - ne_NP - ar_DZ - es_SV - kab_DZ - hne_IN - en_DK - dz_BT - pd_DE - kk_KZ title: Languages description: The languages of the course as locale codes (e.g. en_US, fr_FR, de_DE). examples: - - en_US - fr_FR categories: anyOf: - items: {} type: array - type: 'null' title: Categories description: The categories of the course examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 contents: anyOf: - items: {} type: array - type: 'null' title: Contents description: The contents of the course examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 skills: anyOf: - items: {} type: array - type: 'null' title: Skills description: The skills of the course examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 instructors: anyOf: - items: {} type: array - type: 'null' title: Instructors description: The instructors of the course examples: - 018b18ef-c487-703c-afd9-0ca478ccd9d6 status: anyOf: - type: string - type: 'null' enum: - ACTIVE - PENDING - INACTIVE title: Status description: The status of the course. If the value is not one of the defined enum values, the original value passed through will be returned. examples: - ACTIVE type: object required: - id - remote_id - modified_at - custom_fields title: LmsCourse HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError PaginatedResponse_LmsCourse_: properties: cursor: anyOf: - type: string - type: 'null' title: Cursor description: Cursor value to fetch next set of items examples: - MDE4YjE4ZWYtYzk5Yy03YTg2LTk5NDYtN2I3YzlkNTQzM2U1 page_size: type: integer title: Page Size description: Indicates the count of items in the response examples: - 50 items: items: $ref: '#/components/schemas/LmsCourse' type: array title: Items description: List of items in the current response type: object required: - cursor - page_size - items title: PaginatedResponse[LmsCourse] securitySchemes: HTTPBearer: type: http scheme: bearer