Download OpenAPI specification:
Universeel koppelvlak waarmee externe partners taken aanleveren aan de openbare Takenbieb van Catwise.
client_id + client_secret).POST /oauth/token in voor een access token en
kan daarna taken aanmaken, bijwerken, verwijderen en opvragen.review_status
(pending / approved / rejected) op elke taak.id — door Catwise toegekend, stabiel, gebruikt in alle URL-paden.external_id — de eigen referentie van de partner. Uniek per partner
en onveranderlijk na aanmaken; een tweede POST /task met een bestaande
external_id levert 409.Verzoeken worden per partner gelimiteerd. Boven de limiet antwoordt de API
met 429 Too Many Requests; implementeer een backoff en probeer het daarna
opnieuw.
Wisselt de client_id en client_secret (verstrekt door Catwise) in voor
een access token via de OAuth 2.0 Client Credentials grant. Gebruik het
teruggegeven token als Authorization: Bearer <access_token> bij alle
overige endpoints. De client-credentials mogen ook als HTTP Basic-header
worden meegestuurd in plaats van in de body.
| grant_type required | string Moet |
| client_id | string or null Door Catwise verstrekte client-id. Mag ook via HTTP Basic worden meegestuurd. |
| client_secret | string or null Door Catwise verstrekte client-secret. Mag ook via HTTP Basic worden meegestuurd. |
| scope | string or null Optioneel; spatie-gescheiden lijst van gevraagde scopes. |
| access_token required | string |
| token_type required | string Value: "Bearer" |
| expires_in required | integer Value: 3600 |
| scope required | string |
{- "access_token": "string",
- "token_type": "Bearer",
- "expires_in": 3600,
- "scope": "string"
}Levert een nieuwe taak aan. Dit creëert intern een New Item Request.
De respons bevat de aangemaakte taak met review_status: pending. De taak
verschijnt pas in de openbare Takenbieb nadat Catwise het verzoek accordeert.
Een tweede taak met een al bestaande external_id levert 409.
| external_id required | string <= 255 characters Eigen referentie van de partner. Uniek per partner. | ||||||||||
| status required | string (PartnerTaskStatus) Enum: "concept" "active" "inactive" Status van de taak bij de partner (concept / active / inactive). | ||||||||||
| access required | string (PartnerTaskAccess) Enum: "public" "private" Toegang tot de taak (public / private). | ||||||||||
| title required | string <= 255 characters Titel van de taak, zichtbaar voor de leerling. | ||||||||||
| source_updated_at | string or null <date-time> Tijdstip waarop de taak in het bronsysteem van de partner voor het laatst is bijgewerkt. | ||||||||||
| template_name | string or null <= 255 characters Naam van de template van de taak in de bieb. | ||||||||||
| teacher_instructions | string or null Instructie voor de docent (rich text / HTML toegestaan). | ||||||||||
| description | string or null Omschrijving van de taak, zichtbaar voor de leerling. | ||||||||||
| banner_image_id | integer or null Id van een eerder via POST /attachments geüploade bijlage die als banner-image dient. | ||||||||||
| attachment_ids | Array of integers or null Id's van eerder via POST /attachments geüploade bijlagen die aan deze taak gekoppeld worden. | ||||||||||
| subjects | Array of strings or null[ items <= 255 characters ] Vakken (inclusief 'Vakoverstijgend'). | ||||||||||
| education_levels | Array of strings or null[ items <= 255 characters ] Jaarlagen / niveaus. | ||||||||||
| tag_ids | Array of integers or null Id's van tags / thema's (relatie public_portfolio_tags). Op te vragen bij Catwise. | ||||||||||
| skill_ids | Array of integers or null Id's van vaardigheden (relatie public_portfolio_skills). Op te vragen bij Catwise. | ||||||||||
Array of objects or null Subvragen die de leerling bij de taak beantwoordt. | |||||||||||
Array
| |||||||||||
| id required | integer | ||||||||||
| external_id required | string | ||||||||||
| status required | string (PartnerTaskStatus) Enum: "concept" "active" "inactive" | ||||||||||
| access required | string (PartnerTaskAccess) Enum: "public" "private" | ||||||||||
| title required | string | ||||||||||
| source_updated_at required | string or null (NullableString) | ||||||||||
| template_name required | string or null (NullableString) | ||||||||||
| teacher_instructions required | string or null (NullableString) | ||||||||||
| description required | string or null (NullableString) | ||||||||||
| banner_image_id required | integer or null (NullableInteger) | ||||||||||
| subjects required | Array of strings | ||||||||||
| education_levels required | Array of strings | ||||||||||
| tag_ids required | Array of integers | ||||||||||
| skill_ids required | Array of integers | ||||||||||
| attachment_ids required | Array of integers | ||||||||||
| review_status required | string (ReviewStatus) Enum: "pending" "approved" "rejected" | ||||||||||
| updated_at required | string or null <date-time> | ||||||||||
required | object or null | ||||||||||
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
{- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "2019-08-24T14:15:22Z",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "attachment_ids": [
- 0
], - "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "questions": [
- {
- "question": "string",
- "type": "single_line",
- "required": true,
- "order": 0,
- "options": [
- null,
- null
]
}
]
}{- "id": 0,
- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "string",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "attachment_ids": [
- 0
], - "review_status": "pending",
- "updated_at": "2019-08-24T14:15:22Z",
- "banner_image": {
- "id": 0,
- "url": "string",
- "name": "string"
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "skills": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "attachments": [
- {
- "id": 0,
- "url": "string",
- "name": "string"
}
], - "questions": [
- {
- "question": "string",
- "type": "string",
- "options": [
- null
], - "required": true,
- "order": 0
}
]
}Geeft één eigen taak van de partner terug, inclusief de read-only velden en de opgeloste tags, skills, bijlagen en banner-image.
| task required | integer |
| id required | integer | ||||||||||
| external_id required | string | ||||||||||
| status required | string (PartnerTaskStatus) Enum: "concept" "active" "inactive" | ||||||||||
| access required | string (PartnerTaskAccess) Enum: "public" "private" | ||||||||||
| title required | string | ||||||||||
| source_updated_at required | string or null (NullableString) | ||||||||||
| template_name required | string or null (NullableString) | ||||||||||
| teacher_instructions required | string or null (NullableString) | ||||||||||
| description required | string or null (NullableString) | ||||||||||
| banner_image_id required | integer or null (NullableInteger) | ||||||||||
| subjects required | Array of strings | ||||||||||
| education_levels required | Array of strings | ||||||||||
| tag_ids required | Array of integers | ||||||||||
| skill_ids required | Array of integers | ||||||||||
| attachment_ids required | Array of integers | ||||||||||
| review_status required | string (ReviewStatus) Enum: "pending" "approved" "rejected" | ||||||||||
| updated_at required | string or null <date-time> | ||||||||||
required | object or null | ||||||||||
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
{- "id": 0,
- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "string",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "attachment_ids": [
- 0
], - "review_status": "pending",
- "updated_at": "2019-08-24T14:15:22Z",
- "banner_image": {
- "id": 0,
- "url": "string",
- "name": "string"
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "skills": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "attachments": [
- {
- "id": 0,
- "url": "string",
- "name": "string"
}
], - "questions": [
- {
- "question": "string",
- "type": "string",
- "options": [
- null
], - "required": true,
- "order": 0
}
]
}Stuur de volledige gewenste representatie van de taak. Catwise vergelijkt
deze met de huidige taak en maakt een Change Request aan met per gewijzigd
veld de oude en nieuwe waarde. De wijziging wordt pas doorgevoerd na akkoord;
tot die tijd toont de taak review_status: pending. De external_id is
onveranderlijk: een afwijkende waarde levert 422.
| task required | integer |
| external_id required | string <= 255 characters Eigen referentie van de partner. Onveranderlijk na aanmaken. | ||||||||||
| status required | string (PartnerTaskStatus) Enum: "concept" "active" "inactive" Status van de taak bij de partner (concept / active / inactive). | ||||||||||
| access required | string (PartnerTaskAccess) Enum: "public" "private" Toegang tot de taak (public / private). | ||||||||||
| title required | string <= 255 characters Titel van de taak, zichtbaar voor de leerling. | ||||||||||
| source_updated_at | string or null <date-time> Tijdstip waarop de taak in het bronsysteem van de partner voor het laatst is bijgewerkt. | ||||||||||
| template_name | string or null <= 255 characters Naam van de template van de taak in de bieb. | ||||||||||
| teacher_instructions | string or null Instructie voor de docent (rich text / HTML toegestaan). | ||||||||||
| description | string or null Omschrijving van de taak, zichtbaar voor de leerling. | ||||||||||
| banner_image_id | integer or null Id van een eerder via POST /attachments geüploade bijlage die als banner-image dient. | ||||||||||
| attachment_ids | Array of integers or null Id's van eerder via POST /attachments geüploade bijlagen die aan deze taak gekoppeld worden. | ||||||||||
| subjects | Array of strings or null[ items <= 255 characters ] Vakken (inclusief 'Vakoverstijgend'). | ||||||||||
| education_levels | Array of strings or null[ items <= 255 characters ] Jaarlagen / niveaus. | ||||||||||
| tag_ids | Array of integers or null Id's van tags / thema's (relatie public_portfolio_tags). Op te vragen bij Catwise. | ||||||||||
| skill_ids | Array of integers or null Id's van vaardigheden (relatie public_portfolio_skills). Op te vragen bij Catwise. | ||||||||||
Array of objects or null Subvragen die de leerling bij de taak beantwoordt. | |||||||||||
Array
| |||||||||||
| id required | integer | ||||||||||
| external_id required | string | ||||||||||
| status required | string (PartnerTaskStatus) Enum: "concept" "active" "inactive" | ||||||||||
| access required | string (PartnerTaskAccess) Enum: "public" "private" | ||||||||||
| title required | string | ||||||||||
| source_updated_at required | string or null (NullableString) | ||||||||||
| template_name required | string or null (NullableString) | ||||||||||
| teacher_instructions required | string or null (NullableString) | ||||||||||
| description required | string or null (NullableString) | ||||||||||
| banner_image_id required | integer or null (NullableInteger) | ||||||||||
| subjects required | Array of strings | ||||||||||
| education_levels required | Array of strings | ||||||||||
| tag_ids required | Array of integers | ||||||||||
| skill_ids required | Array of integers | ||||||||||
| attachment_ids required | Array of integers | ||||||||||
| review_status required | string (ReviewStatus) Enum: "pending" "approved" "rejected" | ||||||||||
| updated_at required | string or null <date-time> | ||||||||||
required | object or null | ||||||||||
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
required | Array of objects | ||||||||||
Array
| |||||||||||
{- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "2019-08-24T14:15:22Z",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "attachment_ids": [
- 0
], - "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "questions": [
- {
- "question": "string",
- "type": "single_line",
- "required": true,
- "order": 0,
- "options": [
- null,
- null
]
}
]
}{- "id": 0,
- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "string",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "attachment_ids": [
- 0
], - "review_status": "pending",
- "updated_at": "2019-08-24T14:15:22Z",
- "banner_image": {
- "id": 0,
- "url": "string",
- "name": "string"
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "skills": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "attachments": [
- {
- "id": 0,
- "url": "string",
- "name": "string"
}
], - "questions": [
- {
- "question": "string",
- "type": "string",
- "options": [
- null
], - "required": true,
- "order": 0
}
]
}Maakt een Delete Request aan. De taak blijft bestaan met
review_status: pending totdat Catwise het verzoek accordeert; daarna
is de taak definitief verwijderd (GET geeft 404) en is de
external_id weer vrij voor een nieuwe taak.
| task required | integer |
{- "id": 0,
- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "string",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "subjects": [
- "string"
], - "education_levels": [
- "string"
], - "tag_ids": [
- 0
], - "skill_ids": [
- 0
], - "attachment_ids": [
- 0
], - "review_status": "pending",
- "updated_at": "2019-08-24T14:15:22Z",
- "banner_image": {
- "id": 0,
- "url": "string",
- "name": "string"
}, - "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "skills": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "attachments": [
- {
- "id": 0,
- "url": "string",
- "name": "string"
}
], - "questions": [
- {
- "question": "string",
- "type": "string",
- "options": [
- null
], - "required": true,
- "order": 0
}
]
}Geeft alle taken die door deze partner zijn aangeleverd, gepagineerd
als { data, meta }.
| status | string Filter op de status van de taak (concept / active / inactive). |
| review_status | string Filter op de beoordelingsstatus binnen Catwise (pending / approved / rejected). |
| page | integer Default: 1 Paginanummer (1-gebaseerd). |
| per_page | integer Default: 25 Aantal taken per pagina (max 100). |
required | Array of objects (PartnerTaskResource) | ||||||||||||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
{- "data": [
- {
- "id": 0,
- "external_id": "string",
- "status": "concept",
- "access": "public",
- "title": "string",
- "source_updated_at": "string",
- "template_name": "string",
- "teacher_instructions": "string",
- "description": "string",
- "banner_image_id": 0,
- "subjects": [
- null
], - "education_levels": [
- null
], - "tag_ids": [
- null
], - "skill_ids": [
- null
], - "attachment_ids": [
- null
], - "review_status": "pending",
- "updated_at": "2019-08-24T14:15:22Z",
- "banner_image": {
- "id": null,
- "url": null,
- "name": null
}, - "tags": [
- { }
], - "skills": [
- { }
], - "attachments": [
- { }
], - "questions": [
- { }
]
}
], - "meta": {
- "current_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Uploadt een bestand naar Catwise. De respons bevat een Attachment met een
door Catwise toegekend id en een Catwise-gehoste url. Het uploaden zelf
hoeft niet te worden geaccordeerd; de bijlage wordt pas onderdeel van een
taak zodra het id in attachment_ids van een taak wordt opgenomen én de
bijbehorende New Item / Change Request is geaccordeerd. Een niet-gekoppelde
bijlage kan door Catwise worden opgeruimd.
| file required | string <binary> <application/octet-stream> Het te uploaden bestand. |
| name | string or null <= 255 characters Optionele weergavenaam; standaard de bestandsnaam. |
| id required | integer |
| url required | string |
| name required | string |
{- "id": 0,
- "url": "string",
- "name": "string"
}Downloadt een eerder geüploade bijlage als bestandsstroom. Dit is het
endpoint achter het url-veld van een Attachment. Een partner kan alleen
zijn eigen bijlagen ophalen.
| attachment required | integer |
{- "message": "string"
}