meemoo Organization API V2
Documentation for meemoo's Organization API V2. This API provides access to information about organizations and persons within the meemoo context, such as content partners, educational partners, address sites, contact information, account managers, or personnel of meemoo. It is a GraphQL API that is conform the 2021 specification.
API Endpoints
# Production:
https://services.viaa.be/organisation_v2
# QAS:
https://services-qas.viaa.be/organisation_v2
Headers
# Your JWT token. Must be included in all API calls or supplied by `jwtauth` query parameter.
Authorization: Bearer <YOUR_TOKEN_HERE>
Version
0.3.0
Authentication
This API uses authentication via JSON Web Tokens (JWT). You can request the JWT token as follows using your meemoo username and password.
- Request a token via https://oas-qas.meemoo.be/token or https://oas.meemoo.be/token.
curl -v -u '<username/email/...>:<password>' "https://oas-qas.meemoo.be/token?grant_type=client_credentials&expires_in=31536000" curl -v -u '<username/email/...>:<password>' "https://oas.meemoo.be/token?grant_type=client_credentials&expires_in=31536000" # for PRD
- Use the token in the authorization header (bearer) or as a URI parameter (jwauth):
curl -v https://services-qas.viaa.be/organisation_v2/?jwtauth="eyJ0eXAiOiJKV1......tbjz4-r4" curl -v https://services.viaa.be/organisation_v2/?jwtauth="eyJ0eXAiOiJKV1......tbjz4-r4" # for PRD
GET request
Een GraphQL GET request contains the GraphQL query in the query
query string. curl -v https://services-qas.viaa.be/organisation_v2?query=<graphql_query> curl -v https://services.viaa.be/organisation_v2?query=<graphql_query> # for PRD
POST request
A GraphQL POST request expects a JSON-encoded payload, hence the Content-Type: application/json
header must be included in the request. The request payload is structured as follows:
{
"query": "...",
"operationName": "...",
"variables": { "myVariable": "someValue", ... }
}
Testing
The QAS environment API also serves the GraphQL Playground where queries can be tested in an interactive way. You can open the playground by directing your webbroweser towards https://services-qas.viaa.be/organisation_v2. Note that you need to be authenticated in order to access the playground.
Queries
contentpartners
Description
Retrieve data about contentpartners of meemoo.
Response
Returns [ContentPartner]
Arguments
Name | Description |
---|---|
iri - String
|
The persistent meemoo URI of the contentpartner. |
id - String
|
The persistent meemoo identifier of the contentpartner. |
offset - Int
|
The specified number of results after which it should start generating results. |
limit - Int
|
The upper bound on the number of solutions returned. |
Example
Query
query contentpartners(
$iri: String,
$id: String,
$offset: Int,
$limit: Int
) {
contentpartners(
iri: $iri,
id: $id,
offset: $offset,
limit: $limit
) {
iri
id
label
alt_label
mam_label
slug
homepage
description
logo {
...LogoFragment
}
overlay
bzt
form_url
sector
account_manager {
...PersonFragment
}
classification {
...ConceptFragment
}
units {
...OrganizationalUnitFragment
}
contact_point {
...ContactPointFragment
}
primary_site {
...SiteFragment
}
sites {
...SiteFragment
}
posts {
...PostFragment
}
}
}
Variables
{
"iri": "xyz789",
"id": "abc123",
"offset": 987,
"limit": 987
}
Response
{
"data": {
"contentpartners": [
{
"iri": "4",
"id": "abc123",
"label": "xyz789",
"alt_label": "xyz789",
"mam_label": "abc123",
"slug": "xyz789",
"homepage": "abc123",
"description": "abc123",
"logo": Logo,
"overlay": false,
"bzt": true,
"form_url": "abc123",
"sector": "xyz789",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post]
}
]
}
}
organizations
Description
Retrieve data about all organizations.
Response
Returns [Organization]
Arguments
Name | Description |
---|---|
iri - String
|
The persistent meemoo URI of the organization. |
id - String
|
The persistent identifier of the organization. |
offset - Int
|
The specified number of results after which it should start generating results. |
limit - Int
|
The upper bound on the number of solutions returned. |
label - String
|
A simple search by organization label. |
type - OrgType
|
Only return a specific type of organization. The results also include instances of subtypes. |
sector - Sector
|
Only return organizations in a specific sector. |
Example
Query
query organizations(
$iri: String,
$id: String,
$offset: Int,
$limit: Int,
$label: String,
$type: OrgType,
$sector: Sector
) {
organizations(
iri: $iri,
id: $id,
offset: $offset,
limit: $limit,
label: $label,
type: $type,
sector: $sector
) {
iri
id
label
alt_label
mam_label
slug
homepage
description
logo {
...LogoFragment
}
overlay
bzt
form_url
sector
account_manager {
...PersonFragment
}
classification {
...ConceptFragment
}
units {
...OrganizationalUnitFragment
}
contact_point {
...ContactPointFragment
}
primary_site {
...SiteFragment
}
sites {
...SiteFragment
}
posts {
...PostFragment
}
category
}
}
Variables
{
"iri": "xyz789",
"id": "abc123",
"offset": 987,
"limit": 987,
"label": "xyz789",
"type": "ContentPartner",
"sector": "Onderwijs"
}
Response
{
"data": {
"organizations": [
{
"iri": "4",
"id": "xyz789",
"label": "xyz789",
"alt_label": "abc123",
"mam_label": "abc123",
"slug": "xyz789",
"homepage": "abc123",
"description": "abc123",
"logo": Logo,
"overlay": false,
"bzt": false,
"form_url": "xyz789",
"sector": "abc123",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post],
"category": "xyz789"
}
]
}
}
persons
Description
Retrieve data about personnel or persons known to meemoo.
Response
Returns [Person]
Arguments
Name | Description |
---|---|
iri - String
|
The persistent meemoo URI of the person. |
given_name - String
|
The first name of the person. |
family_name - String
|
The last name of the person. |
offset - Int
|
The specified number of results after which it should start generating results. |
limit - Int
|
The upper bound on the number of solutions returned. |
Example
Query
query persons(
$iri: String,
$given_name: String,
$family_name: String,
$offset: Int,
$limit: Int
) {
persons(
iri: $iri,
given_name: $given_name,
family_name: $family_name,
offset: $offset,
limit: $limit
) {
iri
given_name
family_name
telephone
email
holds {
...PostFragment
}
account_manager_of {
...OrganizationFragment
}
}
}
Variables
{
"iri": "xyz789",
"given_name": "xyz789",
"family_name": "xyz789",
"offset": 987,
"limit": 123
}
Response
{
"data": {
"persons": [
{
"iri": 4,
"given_name": "abc123",
"family_name": "abc123",
"telephone": "abc123",
"email": "xyz789",
"holds": [Post],
"account_manager_of": [Organization]
}
]
}
}
schools
Description
Retrieve data about schools known to meemoo.
Response
Returns [School]
Example
Query
query schools(
$iri: String,
$id: String,
$offset: Int,
$limit: Int
) {
schools(
iri: $iri,
id: $id,
offset: $offset,
limit: $limit
) {
iri
id
label
alt_label
mam_label
slug
homepage
description
logo {
...LogoFragment
}
overlay
bzt
form_url
sector
account_manager {
...PersonFragment
}
classification {
...ConceptFragment
}
units {
...OrganizationalUnitFragment
}
contact_point {
...ContactPointFragment
}
primary_site {
...SiteFragment
}
sites {
...SiteFragment
}
posts {
...PostFragment
}
}
}
Variables
{
"iri": "abc123",
"id": "xyz789",
"offset": 123,
"limit": 987
}
Response
{
"data": {
"schools": [
{
"iri": "4",
"id": "abc123",
"label": "abc123",
"alt_label": "abc123",
"mam_label": "abc123",
"slug": "xyz789",
"homepage": "abc123",
"description": "abc123",
"logo": Logo,
"overlay": false,
"bzt": false,
"form_url": "xyz789",
"sector": "abc123",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post]
}
]
}
}
Types
Boolean
Description
The Boolean
scalar type represents true
or false
.
Concept
Description
A taxonomy concept.
Example
{
"iri": 4,
"label": "xyz789",
"alt_label": "xyz789",
"broader": [Concept],
"narrower": [Concept]
}
ContactPoint
Description
A contact point.
Example
{
"iri": "4",
"contact_type": "abc123",
"email": "abc123",
"telephone": "xyz789"
}
ContentPartner
Description
A meemoo content partner.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the content partner. |
id - String!
|
The persistent identifier of the content partner. |
label - String
|
The label of the content partner. |
alt_label - String
|
The alternative label of the content partner. |
mam_label - String
|
The tenant name of the content partner in the meemoo MAM. |
slug - String
|
A slugified version of the label to create in an URL. |
homepage - String
|
The website of the content partner. |
description - String
|
The description of the content partner (in Dutch). |
logo - Logo
|
The logo of the content partner. |
overlay - Boolean
|
A flag indicating whether the content partner allows media overlays. |
bzt - Boolean
|
A flag indicating whether the content partner allows content to be included in meemoo's Bezoekertool. |
form_url - String
|
The URL to a request content from the content partner. |
sector - String
|
The sector the content partner in active in. |
account_manager - Person
|
The account manager at meemoo responsible for this content partner. |
classification - Concept
|
The content partner type. |
units - [OrganizationalUnit]
|
The units belonging to this content partner. |
contact_point - [ContactPoint]
|
The points of contact in this organizaton. |
primary_site - Site
|
The primary physical site of the content partner. |
sites - [Site]
|
The physical sites of the content partner. |
posts - [Post]
|
The known jobpositions at the content partner, eg. technical manager, project manager, accountant etc. |
Example
{
"iri": 4,
"id": "xyz789",
"label": "xyz789",
"alt_label": "xyz789",
"mam_label": "abc123",
"slug": "xyz789",
"homepage": "xyz789",
"description": "xyz789",
"logo": Logo,
"overlay": true,
"bzt": false,
"form_url": "xyz789",
"sector": "xyz789",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post]
}
IContactPoint
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the contact point. |
contact_type - String
|
The type of contact, eg. primary, financial, delivery, etc. |
email - String
|
The contact's email address. |
telephone - String
|
The contact's telephone number. |
Possible Types
IContactPoint Types |
---|
Example
{
"iri": 4,
"contact_type": "xyz789",
"email": "xyz789",
"telephone": "abc123"
}
ID
Description
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
Example
4
IOrganization
Description
Interface for all organizations.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the organization. |
id - String!
|
The persistent identifier of the organization. |
label - String
|
The label of the organization. |
alt_label - String
|
The alternative label of the organization. |
mam_label - String
|
The tenant name of the organization in the meemoo MAM. |
slug - String
|
A slugified version of the label to create in an URL. |
homepage - String
|
The website of the organization. |
description - String
|
The description of the organization (in Dutch). |
logo - Logo
|
The logo of the organization. |
overlay - Boolean
|
A flag indicating whether the organization allows media overlays. |
bzt - Boolean
|
A flag indicating whether the organization allows content to be included in meemoo's Bezoekertool. |
form_url - String
|
The URL to a request content from the organization. |
sector - String
|
The sector the organization in active in. |
account_manager - Person
|
The account manager at meemoo responsible for this organization. |
classification - Concept
|
The organization type. |
units - [OrganizationalUnit]
|
The units belonging to this organization. |
contact_point - [ContactPoint]
|
The points of contact in this organizaton. |
primary_site - Site
|
The primary physical site of the organization. |
sites - [Site]
|
The physical sites of the organization. |
posts - [Post]
|
The known jobpositions at the organization, eg. technical manager, project manager, accountant etc. |
Possible Types
IOrganization Types |
---|
Example
{
"iri": "4",
"id": "abc123",
"label": "abc123",
"alt_label": "abc123",
"mam_label": "xyz789",
"slug": "xyz789",
"homepage": "xyz789",
"description": "abc123",
"logo": Logo,
"overlay": false,
"bzt": false,
"form_url": "abc123",
"sector": "abc123",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post]
}
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
Logo
OrgType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ContentPartner"
Organization
Description
A generic organization.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the organization. |
id - String!
|
The persistent identifier of the organization. |
label - String
|
The label of the organization. |
alt_label - String
|
The alternative label of the organization. |
mam_label - String
|
The tenant name of the organization in the meemoo MAM. |
slug - String
|
A slugified version of the label to create in an URL. |
homepage - String
|
The website of the organization. |
description - String
|
The description of the organization (in Dutch). |
logo - Logo
|
The logo of the organization. |
overlay - Boolean
|
A flag indicating whether the organization allows media overlays. |
bzt - Boolean
|
A flag indicating whether the organization allows content to be included in meemoo's Bezoekertool. |
form_url - String
|
The URL to a request content from the organization. |
sector - String
|
The sector the organization in active in. |
account_manager - Person
|
The account manager at meemoo responsible for this organization. |
classification - Concept
|
The organization type. |
units - [OrganizationalUnit]
|
The units belonging to this organization. |
contact_point - [ContactPoint]
|
The points of contact in this organizaton. |
primary_site - Site
|
The primary physical site of the organization. |
sites - [Site]
|
The physical sites of the organization. |
posts - [Post]
|
The known jobpositions at the organization, eg. technical manager, project manager, accountant etc. |
category - String
|
The meemoo category of the organization. |
Example
{
"iri": "4",
"id": "abc123",
"label": "abc123",
"alt_label": "xyz789",
"mam_label": "abc123",
"slug": "xyz789",
"homepage": "abc123",
"description": "abc123",
"logo": Logo,
"overlay": false,
"bzt": false,
"form_url": "abc123",
"sector": "xyz789",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post],
"category": "abc123"
}
OrganizationalUnit
Description
A unit of an organization.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the unit. |
id - String!
|
The persistent identifier of the unit. |
label - String
|
The label of the unit. |
alt_label - String
|
The alternative label of the unit. |
mam_label - String
|
The tenant name of the unit in the meemoo MAM. |
slug - String
|
A slugified version of the label to create in an URL. |
homepage - String
|
The website of the unit. |
description - String
|
The description of the unit (in Dutch). |
logo - Logo
|
The logo of the unit. |
overlay - Boolean
|
A flag indicating whether the unit allows media overlays. |
bzt - Boolean
|
A flag indicating whether the unit allows content to be included in meemoo's Bezoekertool. |
form_url - String
|
The URL to a request content from the unit. |
sector - String
|
The sector the unit in active in. |
account_manager - Person
|
The account manager at meemoo responsible for this unit. |
classification - Concept
|
The unit type. |
units - [OrganizationalUnit]
|
The units belonging to this unit. |
contact_point - [ContactPoint]
|
The points of contact in this organizaton. |
primary_site - Site
|
The primary physical site of the unit. |
sites - [Site]
|
The physical sites of the unit. |
posts - [Post]
|
The known jobpositions at the unit, eg. technical manager, project manager, accountant etc. |
unit_of - IOrganization!
|
The unit that this unit is part of. |
Example
{
"iri": 4,
"id": "xyz789",
"label": "abc123",
"alt_label": "xyz789",
"mam_label": "abc123",
"slug": "abc123",
"homepage": "xyz789",
"description": "xyz789",
"logo": Logo,
"overlay": false,
"bzt": true,
"form_url": "xyz789",
"sector": "xyz789",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post],
"unit_of": IOrganization
}
Person
Description
A person.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the person. |
given_name - String
|
The given or first name of the person. |
family_name - String
|
The family or last name of the person. |
telephone - String
|
The telephone number of the person. |
email - String
|
The email address of the person. |
holds - [Post]
|
The posts or positions that this person holds. |
account_manager_of - [Organization]
|
The organizations that this person is account manager of. |
Example
{
"iri": "4",
"given_name": "xyz789",
"family_name": "abc123",
"telephone": "abc123",
"email": "xyz789",
"holds": [Post],
"account_manager_of": [Organization]
}
Post
Description
A position some person has at an organization.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI. |
role - Concept
|
The role that this position fills, eg. manager, technical analyst, accountant, etc. |
post_in - [Organization]!
|
The organization that this post is at. |
Example
{
"iri": "4",
"role": Concept,
"post_in": [Organization]
}
PostalAddress
Description
A postal address.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the address. |
contact_type - String
|
The type of address, eg. primary, financial, delivery, etc. |
email - String
|
The email address. |
telephone - String
|
The telephone number to reach the address. |
country - String
|
The country the address is located in. |
locality - String
|
The city the address is located in. |
region - String
|
The region the address is located in. |
post_office_box_number - String
|
The box number of the address. |
postal_code - String
|
The postal code of the address. |
street - String
|
The street and number of the address. |
Example
{
"iri": "4",
"contact_type": "abc123",
"email": "xyz789",
"telephone": "abc123",
"country": "xyz789",
"locality": "abc123",
"region": "xyz789",
"post_office_box_number": "xyz789",
"postal_code": "xyz789",
"street": "abc123"
}
School
Description
A school.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the school. |
id - String!
|
The school ID of the school. |
label - String
|
The label of the school. |
alt_label - String
|
The alternative label of the school. |
mam_label - String
|
The tenant name of the school in the meemoo MAM. |
slug - String
|
A slugified version of the label to create in an URL. |
homepage - String
|
The website of the school. |
description - String
|
The description of the school (in Dutch). |
logo - Logo
|
The logo of the school. |
overlay - Boolean
|
A flag indicating whether the school allows media overlays. |
bzt - Boolean
|
A flag indicating whether the school allows content to be included in meemoo's Bezoekertool. |
form_url - String
|
The URL to a request content from the school. |
sector - String
|
The sector the school in active in. |
account_manager - Person
|
The account manager at meemoo responsible for this school. |
classification - Concept
|
The school type. |
units - [OrganizationalUnit]
|
The units belonging to this school. |
contact_point - [ContactPoint]
|
The points of contact in this organizaton. |
primary_site - Site
|
The primary physical site of the school. |
sites - [Site]
|
The physical sites of the school. |
posts - [Post]
|
The known jobpositions at the school, eg. english teacher, director, etc. |
Example
{
"iri": "4",
"id": "xyz789",
"label": "abc123",
"alt_label": "xyz789",
"mam_label": "abc123",
"slug": "abc123",
"homepage": "abc123",
"description": "xyz789",
"logo": Logo,
"overlay": true,
"bzt": false,
"form_url": "abc123",
"sector": "xyz789",
"account_manager": Person,
"classification": Concept,
"units": [OrganizationalUnit],
"contact_point": [ContactPoint],
"primary_site": Site,
"sites": [Site],
"posts": [Post]
}
Sector
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Onderwijs"
Site
Description
A physical site of an organzation.
Fields
Field Name | Description |
---|---|
iri - ID!
|
The persistent meemoo URI of the site. |
address - PostalAddress
|
The address of the site. |
Example
{
"iri": "4",
"address": PostalAddress
}
String
Description
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"