Codesignal Organization API
The Organization API from Codesignal — 5 operation(s) for organization.
The Organization API from Codesignal — 5 operation(s) for organization.
openapi: 3.1.0
info:
title: Codesignal Learn Public Organization API
version: v1.0.0
description: Public API for Codesignal Learn
security:
- oauth2:
- openid
tags:
- name: Organization
paths:
/api/v1/organizations/members:
get:
summary: Get organization members
description: Returns paginated members for your organization
tags:
- Organization
security:
- oauth2: []
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
default: 1
required: false
name: page
in: query
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
maximum: 100
default: 20
required: false
name: per_page
in: query
- schema:
type: string
enum:
- email
default: email
required: false
name: sort_by
in: query
- schema:
type: string
enum:
- asc
- desc
default: asc
required: false
name: sort_order
in: query
- schema:
type: string
required: false
name: search
in: query
- schema:
type: string
required: false
name: role
in: query
responses:
'200':
description: Paginated organization members.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
codesignalId:
type: string
nullable: true
email:
type: string
name:
type: string
role:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
lastActivity:
type: string
nullable: true
teams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
required:
- id
- codesignalId
- email
- name
- role
- lastActivity
- teams
pagination:
type: object
properties:
page:
type: number
per_page:
type: number
total:
type: number
errors:
type: number
required:
- page
- per_page
- total
errors:
type: array
items:
type: object
properties:
status:
type: number
message:
type: string
data:
type: object
additionalProperties:
nullable: true
required:
- status
- message
required:
- data
- pagination
'400':
$ref: '#/components/schemas/BadRequest'
'401':
$ref: '#/components/schemas/Unauthorized'
/api/v1/organizations/members/{memberId}:
get:
summary: Get member by ID
description: Returns details for a specific organization member.
tags:
- Organization
security:
- oauth2: []
parameters:
- schema:
type: string
required: true
name: memberId
in: path
responses:
'200':
description: Member details.
content:
application/json:
schema:
type: object
properties:
id:
type: string
codesignalId:
type: string
nullable: true
email:
type: string
name:
type: string
role:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
lastActivity:
type: string
nullable: true
teams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
required:
- id
- codesignalId
- email
- name
- role
- lastActivity
- teams
'400':
$ref: '#/components/schemas/BadRequest'
'401':
$ref: '#/components/schemas/Unauthorized'
/api/v1/organizations/members/skill-sets:
get:
summary: Get skill sets for organization members
description: Returns paginated skill sets for specified organization members.
tags:
- Organization
security:
- oauth2: []
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
default: 1
required: false
name: page
in: query
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
maximum: 100
default: 20
required: false
name: per_page
in: query
- schema:
anyOf:
- type: string
- type: array
items:
type: string
default: []
required: false
name: member_id
in: query
responses:
'200':
description: Paginated skill sets for organization members.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
skillSets:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
level:
type: string
nullable: true
enum:
- developing
- intermediate
- advanced
- expert
type:
type: string
enum:
- hard
- soft
imageUrl:
type: string
nullable: true
required:
- id
- name
- level
- type
- imageUrl
required:
- id
- skillSets
pagination:
type: object
properties:
page:
type: number
per_page:
type: number
total:
type: number
errors:
type: number
required:
- page
- per_page
- total
errors:
type: array
items:
type: object
properties:
status:
type: number
message:
type: string
data:
type: object
additionalProperties:
nullable: true
required:
- status
- message
required:
- data
- pagination
'400':
$ref: '#/components/schemas/BadRequest'
'401':
$ref: '#/components/schemas/Unauthorized'
/api/v1/organizations/members/progress:
get:
summary: Get progress for organization members
description: Returns paginated progress for specified organization members
tags:
- Organization
security:
- oauth2: []
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
default: 1
required: false
name: page
in: query
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
maximum: 100
default: 20
required: false
name: per_page
in: query
- schema:
type: string
enum:
- email
default: email
required: false
name: sort_by
in: query
- schema:
type: string
enum:
- asc
- desc
default: asc
required: false
name: sort_order
in: query
- schema:
anyOf:
- type: string
- type: array
items:
type: string
required: false
name: id
in: query
responses:
'200':
description: Paginated progress for organization members.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
email:
type: string
paths:
type: array
items:
type: object
properties:
id:
type: number
title:
type: string
completionRatio:
type: number
completed:
type: boolean
completedAt:
type: string
nullable: true
certificateUrl:
type: string
nullable: true
job:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
courses:
type: array
items:
type: object
properties:
id:
type: number
title:
type: string
completionRatio:
type: number
completed:
type: boolean
completedAt:
type: string
nullable: true
certificateUrl:
type: string
nullable: true
required:
- id
- title
- completionRatio
- completed
- completedAt
- certificateUrl
required:
- id
- title
- completionRatio
- completed
- completedAt
- certificateUrl
- job
- courses
required:
- id
- email
- paths
pagination:
type: object
properties:
page:
type: number
per_page:
type: number
total:
type: number
errors:
type: number
required:
- page
- per_page
- total
errors:
type: array
items:
type: object
properties:
status:
type: number
message:
type: string
data:
type: object
additionalProperties:
nullable: true
required:
- status
- message
required:
- data
- pagination
'400':
$ref: '#/components/schemas/BadRequest'
'401':
$ref: '#/components/schemas/Unauthorized'
/api/v1/organizations/members/{memberId}/progress:
get:
summary: Get progress for member by ID
description: Returns progress for a specific organization member.
tags:
- Organization
security:
- oauth2: []
parameters:
- schema:
type: string
required: true
name: memberId
in: path
responses:
'200':
description: Member progress.
content:
application/json:
schema:
type: object
properties:
id:
type: string
email:
type: string
paths:
type: array
items:
type: object
properties:
id:
type: number
title:
type: string
completionRatio:
type: number
completed:
type: boolean
completedAt:
type: string
nullable: true
certificateUrl:
type: string
nullable: true
job:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
courses:
type: array
items:
type: object
properties:
id:
type: number
title:
type: string
completionRatio:
type: number
completed:
type: boolean
completedAt:
type: string
nullable: true
certificateUrl:
type: string
nullable: true
required:
- id
- title
- completionRatio
- completed
- completedAt
- certificateUrl
required:
- id
- title
- completionRatio
- completed
- completedAt
- certificateUrl
- job
- courses
required:
- id
- email
- paths
'400':
$ref: '#/components/schemas/BadRequest'
'401':
$ref: '#/components/schemas/Unauthorized'
components:
schemas:
Unauthorized:
description: Unauthorized
BadRequest:
description: Bad request
securitySchemes:
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://codesignal.com/learn/api/v1/oauth/token
scopes:
openid: basic scope