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.

  1. 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
    
  2. 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]

Arguments
Name Description
iri - String The persistent meemoo URI of the school.
id - String The school ID of the school.
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 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.

Fields
Field Name Description
iri - ID!
label - String The concept label.
alt_label - String The concept's alternative label.
broader - [Concept] Any parent concept.
narrower - [Concept] Any child concepts.
Example
{
  "iri": 4,
  "label": "xyz789",
  "alt_label": "xyz789",
  "broader": [Concept],
  "narrower": [Concept]
}

ContactPoint

Description

A contact point.

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.
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

ContactPoint

PostalAddress

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

Organization

School

ContentPartner

OrganizationalUnit

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

OrgType

Values
Enum Value Description

ContentPartner

ServiceProvider

ServiceConsumer

EducationalPartner

DigitizationPartner

ProjectPartner

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

Onderwijs

Cultuur

Overheid

Regionale_Omroep

Landelijke_Private_Omroep

Leverancier

Publieke_Omroep

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"