POST
/courses/
curl \
-X POST http://localhost:3003/api/dev/courses/ \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"courseTitle":"Sample Course 2","courseSubTitle":"Subtitle for Sample Course 1","description":"Description of Sample Course 1","subject":"Sample Subject 1","price":100,"dateStart":"2023-09-01","dateEnd":"2023-09-30","prerequisites":[],"courseType":"FIRST_AID","sectionOfMatter":"SECOURISME","isArchived":false,"isPublic":true,"isOpenToRegister":true,"isOnline":true,"language":"EN","minAge":18,"maxAge":65,"minParticipants":10,"maxParticipants":20,"coverPicture":"sample-cover-image-url","gallery":{"image1":"url1","image2":"url2"},"location":"Sample Location","region":"Sample Region","city":"Sample City","contactPerson":"John Doe","contactPhone":"123-456-7890","contactEmail":"john@example.com","isCertified":true,"isPublished":true,"isPayableOnLine":false}'
Request example
{
"courseTitle": "Sample Course 2",
"courseSubTitle": "Subtitle for Sample Course 1",
"description": "Description of Sample Course 1",
"subject": "Sample Subject 1",
"price": 100,
"dateStart": "2023-09-01",
"dateEnd": "2023-09-30",
"prerequisites": [],
"courseType": "FIRST_AID",
"sectionOfMatter": "SECOURISME",
"isArchived": false,
"isPublic": true,
"isOpenToRegister": true,
"isOnline": true,
"language": "EN",
"minAge": 18,
"maxAge": 65,
"minParticipants": 10,
"maxParticipants": 20,
"coverPicture": "sample-cover-image-url",
"gallery": {
"image1": "url1",
"image2": "url2"
},
"location": "Sample Location",
"region": "Sample Region",
"city": "Sample City",
"contactPerson": "John Doe",
"contactPhone": "123-456-7890",
"contactEmail": "john@example.com",
"isCertified": true,
"isPublished": true,
"isPayableOnLine": false
}
Request examples
{
"city": "Sample City",
"price": 100,
"maxAge": 65,
"minAge": 18,
"region": "Sample Region",
"dateEnd": "2023-09-30",
"gallery": {
"image1": "url1",
"image2": "url2"
},
"subject": "Sample Subject 1",
"isOnline": true,
"isPublic": true,
"language": "EN",
"location": "Sample Location",
"dateStart": "2023-09-01",
"courseType": "FIRST_AID",
"isArchived": false,
"courseTitle": "Sample Course 2",
"description": "Description of Sample Course 1",
"isCertified": true,
"isPublished": true,
"contactEmail": "john@example.com",
"contactPhone": "123-456-7890",
"coverPicture": "sample-cover-image-url",
"contactPerson": "John Doe",
"prerequisites": [],
"courseSubTitle": "Subtitle for Sample Course 1",
"isPayableOnLine": false,
"maxParticipants": 20,
"minParticipants": 10,
"sectionOfMatter": "SECOURISME",
"isOpenToRegister": true
}
Response examples (200)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 354.1
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 1099
ETag: W/"44b-Zt5iR82DTE0+tzaqFMIGBe3HttI"
Date: Mon, 04 Sep 2023 06:00:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{
"code": 200,
"courses": {
"courseId": "ba4432ae-841f-4d20-ac0d-406854ae21d3",
"DoC": "2023-09-04T06:00:05.000Z",
"createdBy": "57dd5610-5896-4cf3-9f58-2e7e77feb888",
"lastUpdatedBy": "57dd5610-5896-4cf3-9f58-2e7e77feb888",
"lastUpdate": null,
"courseTitle": "Sample Course 1",
"courseSubTitle": "Subtitle for Sample Course 1",
"description": "Description of Sample Course 1",
"subject": "Sample Subject 1",
"price": 100,
"dateStart": "2023-08-31T23:00:00.000Z",
"dateEnd": "2023-09-29T23:00:00.000Z",
"prerequisites": null,
"keywords": "[]",
"courseType": "FIRST-AID",
"sectionOfMatter": "SECOURISME",
"isPublic": 1,
"accessCode": null,
"isOpenToRegister": 1,
"isOnline": 1,
"language": "EN",
"minAge": 18,
"maxAge": 65,
"minParticipants": 10,
"maxParticipants": 20,
"coverPicture": "sample-cover-image-url",
"gallery": "{\"image1\": \"url1\", \"image2\": \"url2\"}",
"location": "Sample Location",
"region": "Sample Region",
"city": "Sample City",
"contactPerson": "John Doe",
"contactPhone": "123-456-7890",
"contactEmail": "john@example.com",
"isCertified": 1,
"isPublished": 0,
"isPayableOnLine": 0,
"committeesID": "af7c1fe6-d669-414e-b066-e9733f0de7a8",
"isArchived": 0
}
}
Response examples (200)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 354.1
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 1099
ETag: W/"44b-Zt5iR82DTE0+tzaqFMIGBe3HttI"
Date: Mon, 04 Sep 2023 06:00:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{}
Response examples (400)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 340.766
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 94
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 294
ETag: W/"126-0AHUprVyf6q4xy3+D5z7a4EKd5s"
Date: Mon, 04 Sep 2023 06:00:18 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{
"code": 400,
"message": [
"Le champ courseTitle est obligatoire",
"Le champ courseTitle est doit avoir une valeur",
"Le champ courseSubTitle est obligatoire",
"Le champ courseSubTitle est doit avoir une valeur",
"Le champ description est obligatoire",
"Le champ description est doit avoir une valeur"
]
}
Response examples (400)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 340.766
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 94
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 294
ETag: W/"126-0AHUprVyf6q4xy3+D5z7a4EKd5s"
Date: Mon, 04 Sep 2023 06:00:18 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{}
Response examples (401)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 321.86
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 92
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 128
ETag: W/"80-HSc6p6YI9gsUT+IZDwZ2wCV0nD0"
Date: Mon, 04 Sep 2023 06:00:37 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{
"code": 401,
"message": "Oups! Il semblerait que vous ne possédez pas les autorisations nécessaires pour avoir ces ressources."
}
Response examples (401)
# Headers
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Retry-After: 321.86
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 92
X-RateLimit-Reset: Mon Sep 04 2023 07:05:59 GMT+0100 (Central European Standard Time)
x-powered-by: TUNISIAN RED CRESSCENT
Content-Type: application/json; charset=utf-8
Content-Length: 128
ETag: W/"80-HSc6p6YI9gsUT+IZDwZ2wCV0nD0"
Date: Mon, 04 Sep 2023 06:00:37 GMT
Connection: keep-alive
Keep-Alive: timeout=5
# Payload
{}