Contact Search API

Expert and contact search, used by the public helsinki.fi pages and the Flamma intranet. OpenAPI 3.1.0, 22 paths, 33 schemas — the only 3.1 document in the estate. Returns records about identifiable staff, so no live response is captured anywhere in this repository and no agent skill or MCP tool is emitted for it.

Operations 23

GET /company_contacts Retrieves the collection of CompanyContact resources. #
GET /company_contacts/{id} Retrieves a CompanyContact resource. #
GET /company_organizations Retrieves the collection of CompanyOrganization resources. #
GET /company_organizations/{id} Retrieves a CompanyOrganization resource. #
GET /company_organizations/{id}/members Retrieves the collection of Company contact resources belonging to the Company organization #
GET /company_titles Retrieves the collection of CompanyTitle resources. #
GET /contacts Retrieves the collection of Contact resources. #
GET /contacts/{id} Retrieves a Contact resource. #
PUT /contacts/{id} Replaces the Contact resource. #
GET /field_of_sciences Retrieves the collection of FieldOfScience resources. #
GET /filters Retrieves the collection of Filter resources. #
GET /filters/{id} Retrieves a Filter resource. #
GET /hr_organizations Retrieves the collection of HrOrganization resources. #
GET /hr_organizations/{id} Retrieves a HrOrganization resource. #
GET /hr_organizations/{id}/members Retrieves the collection of Contact resources belonging to the HR organization #
GET /organizations Retrieves the collection of Organization resources. #
GET /organizations/{id} Retrieves a Organization resource. #
GET /research_organizations Retrieves the collection of ResearchOrganization resources. #
GET /steering_groups Retrieves the collection of SteeringGroup resources. #
GET /steering_groups/{id} Retrieves a SteeringGroup resource. #
GET /steering_groups/{id}/members Retrieves a SteeringGroupMember resources. #
GET /suggestions Retrieves the collection of Suggestion resources. #
GET /titles Retrieves the collection of Title resources. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/contact-search"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

university-of-helsinki-contact-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: University of Helsinki - Contact Search API
  description: ''
  version: 2.0.0
servers:
- url: https://gw.api.helsinki.fi/contact-search
paths:
  /company_contacts:
    get:
      tags:
      - CompanyContact
      summary: Retrieves the collection of CompanyContact resources.
      description: Retrieves the collection of CompanyContact resources.
      operationId: api_company_contacts_get_collection
      parameters:
      - name: page
        in: query
        description: The collection page number
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: integer
          default: 1
      - name: limit
        in: query
        description: The number of items per page
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: integer
          default: 20
          maximum: 50
          minimum: 0
      - name: sort
        in: query
        description: 'Sort results by given field (id, firstnames, lastname, fullname). Default sort:
          ASC. Example for DESC: "firstnames,desc".'
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: firstnames
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: lastname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: fullname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: email
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: mobileNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: phoneNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: title.id
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: title.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: true
        allowReserved: false
        schema:
          type: array
          items:
            type: string
      - name: search
        in: query
        description: Search from Company contacts.
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: CompanyContact collection
          content:
            application/ld+json:
              schema:
                type: object
                properties:
                  hydra:member:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyContact.jsonld-read'
                  hydra:totalItems:
                    type: integer
                    minimum: 0
                  hydra:view:
                    type: object
                    example:
                      '@id': string
                      type: string
                      hydra:first: string
                      hydra:last: string
                      hydra:previous: string
                      hydra:next: string
                    properties:
                      '@id':
                        type: string
                        format: iri-reference
                      '@type':
                        type: string
                      hydra:first:
                        type: string
                        format: iri-reference
                      hydra:last:
                        type: string
                        format: iri-reference
                      hydra:previous:
                        type: string
                        format: iri-reference
                      hydra:next:
                        type: string
                        format: iri-reference
                  hydra:search:
                    type: object
                    properties:
                      '@type':
                        type: string
                      hydra:template:
                        type: string
                      hydra:variableRepresentation:
                        type: string
                      hydra:mapping:
                        type: array
                        items:
                          type: object
                          properties:
                            '@type':
                              type: string
                            variable:
                              type: string
                            property:
                              type:
                              - string
                              - 'null'
                            required:
                              type: boolean
                required:
                - hydra:member
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyContact-read'
      deprecated: false
  /company_contacts/{id}:
    get:
      tags:
      - CompanyContact
      summary: Retrieves a CompanyContact resource.
      description: Retrieves a CompanyContact resource.
      operationId: api_company_contacts_id_get
      parameters:
      - name: id
        in: path
        description: CompanyContact identifier
        required: true
        deprecated: false
        style: simple
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: CompanyContact resource
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/CompanyContact.jsonld-read'
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CompanyContact-read'
        '404':
          description: Resource not found
      deprecated: false
  /company_organizations:
    get:
      tags:
      - CompanyOrganization
      summary: Retrieves the collection of CompanyOrganization resources.
      description: Retrieves the collection of CompanyOrganization resources.
      operationId: api_company_organizations_get_collection
      parameters:
      - name: id
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: integer
      - name: id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: true
        allowReserved: false
        schema:
          type: array
          items:
            type: integer
      responses:
        '200':
          description: CompanyOrganization collection
          content:
            application/ld+json:
              schema:
                type: object
                properties:
                  hydra:member:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyOrganization.jsonld-read'
                  hydra:totalItems:
                    type: integer
                    minimum: 0
                  hydra:view:
                    type: object
                    example:
                      '@id': string
                      type: string
                      hydra:first: string
                      hydra:last: string
                      hydra:previous: string
                      hydra:next: string
                    properties:
                      '@id':
                        type: string
                        format: iri-reference
                      '@type':
                        type: string
                      hydra:first:
                        type: string
                        format: iri-reference
                      hydra:last:
                        type: string
                        format: iri-reference
                      hydra:previous:
                        type: string
                        format: iri-reference
                      hydra:next:
                        type: string
                        format: iri-reference
                  hydra:search:
                    type: object
                    properties:
                      '@type':
                        type: string
                      hydra:template:
                        type: string
                      hydra:variableRepresentation:
                        type: string
                      hydra:mapping:
                        type: array
                        items:
                          type: object
                          properties:
                            '@type':
                              type: string
                            variable:
                              type: string
                            property:
                              type:
                              - string
                              - 'null'
                            required:
                              type: boolean
                required:
                - hydra:member
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyOrganization-read'
      deprecated: false
  /company_organizations/{id}:
    get:
      tags:
      - CompanyOrganization
      summary: Retrieves a CompanyOrganization resource.
      description: Retrieves a CompanyOrganization resource.
      operationId: api_company_organizations_id_get
      parameters:
      - name: id
        in: path
        description: CompanyOrganization identifier
        required: true
        deprecated: false
        style: simple
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: CompanyOrganization resource
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/CompanyOrganization.jsonld-read'
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CompanyOrganization-read'
        '404':
          description: Resource not found
      deprecated: false
  /company_organizations/{id}/members:
    get:
      tags:
      - CompanyOrganization
      summary: Retrieves the collection of Company contact resources belonging to the Company organization
      description: Retrieves the collection of Company contact resources belonging to the Company organization
      operationId: api_company_organizations_idmembers_get_collection
      parameters:
      - name: id
        in: path
        description: CompanyOrganization identifier
        required: true
        deprecated: false
        style: simple
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: sort
        in: query
        description: 'Sort results by given field (id, firstnames, lastname, fullname). Default sort:
          ASC. Example for DESC: "firstnames,desc".'
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: firstnames
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: lastname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: fullname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: email
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: mobileNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: phoneNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: title.id
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: title.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: true
        allowReserved: false
        schema:
          type: array
          items:
            type: string
      - name: search
        in: query
        description: Search from Company contacts.
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: CompanyContact collection
          content:
            application/ld+json:
              schema:
                type: object
                properties:
                  hydra:member:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyContact.jsonld-read'
                  hydra:totalItems:
                    type: integer
                    minimum: 0
                  hydra:view:
                    type: object
                    example:
                      '@id': string
                      type: string
                      hydra:first: string
                      hydra:last: string
                      hydra:previous: string
                      hydra:next: string
                    properties:
                      '@id':
                        type: string
                        format: iri-reference
                      '@type':
                        type: string
                      hydra:first:
                        type: string
                        format: iri-reference
                      hydra:last:
                        type: string
                        format: iri-reference
                      hydra:previous:
                        type: string
                        format: iri-reference
                      hydra:next:
                        type: string
                        format: iri-reference
                  hydra:search:
                    type: object
                    properties:
                      '@type':
                        type: string
                      hydra:template:
                        type: string
                      hydra:variableRepresentation:
                        type: string
                      hydra:mapping:
                        type: array
                        items:
                          type: object
                          properties:
                            '@type':
                              type: string
                            variable:
                              type: string
                            property:
                              type:
                              - string
                              - 'null'
                            required:
                              type: boolean
                required:
                - hydra:member
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyContact-read'
      deprecated: false
  /company_titles:
    get:
      tags:
      - CompanyTitle
      summary: Retrieves the collection of CompanyTitle resources.
      description: Retrieves the collection of CompanyTitle resources.
      operationId: api_company_titles_get_collection
      parameters:
      - name: page
        in: query
        description: The collection page number
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: integer
          default: 1
      responses:
        '200':
          description: CompanyTitle collection
          content:
            application/ld+json:
              schema:
                type: object
                properties:
                  hydra:member:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyTitle.jsonld-read'
                  hydra:totalItems:
                    type: integer
                    minimum: 0
                  hydra:view:
                    type: object
                    example:
                      '@id': string
                      type: string
                      hydra:first: string
                      hydra:last: string
                      hydra:previous: string
                      hydra:next: string
                    properties:
                      '@id':
                        type: string
                        format: iri-reference
                      '@type':
                        type: string
                      hydra:first:
                        type: string
                        format: iri-reference
                      hydra:last:
                        type: string
                        format: iri-reference
                      hydra:previous:
                        type: string
                        format: iri-reference
                      hydra:next:
                        type: string
                        format: iri-reference
                  hydra:search:
                    type: object
                    properties:
                      '@type':
                        type: string
                      hydra:template:
                        type: string
                      hydra:variableRepresentation:
                        type: string
                      hydra:mapping:
                        type: array
                        items:
                          type: object
                          properties:
                            '@type':
                              type: string
                            variable:
                              type: string
                            property:
                              type:
                              - string
                              - 'null'
                            required:
                              type: boolean
                required:
                - hydra:member
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyTitle-read'
      deprecated: false
  /contacts:
    get:
      tags:
      - Contact
      summary: Retrieves the collection of Contact resources.
      description: Retrieves the collection of Contact resources.
      operationId: api_contacts_get_collection
      parameters:
      - name: page
        in: query
        description: The collection page number
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: integer
          default: 1
      - name: sort
        in: query
        description: 'Sort results by given field (id, firstnames, lastname, fullname). Default sort:
          ASC. Example for DESC: "firstnames,desc"'
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: name
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: firstnames
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: lastname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: fullname
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: email
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: mobileNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: phoneNumber
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: organizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: primary_organizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: researchOrganizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: primary_research_organizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: servicingOrganizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: steeringGroups.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: hrOrganizations.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: title.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: fieldsOfScience.value.id[]
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: description
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: publicWorkDescription
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: currentStatus
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results per page. Defaults to 20. Minimum of 1, maximum of 50.
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      - name: search
        in: query
        description: ''
        required: false
        deprecated: false
        allowEmptyValue: true
        style: form
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: Contact collection
          content:
            application/ld+json:
              schema:
                type: object
                properties:
                  hydra:member:
                    type: array
                    items:
                      $ref: '#/components/schemas/Contact.jsonld-read'
                  hydra:totalItems:
                    type: integer
                    minimum: 0
                  hydra:view:
                    type: object
                    example:
                      '@id': string
                      type: string
                      hydra:first: string
                      hydra:last: string
                      hydra:previous: string
                      hydra:next: string
                    properties:
                      '@id':
                        type: string
                        format: iri-reference
                      '@type':
                        type: string
                      hydra:first:
                        type: string
                        format: iri-reference
                      hydra:last:
                        type: string
                        format: iri-reference
                      hydra:previous:
                        type: string
                        format: iri-reference
                      hydra:next:
                        type: string
                        format: iri-reference
                  hydra:search:
                    type: object
                    properties:
                      '@type':
                        type: string
                      hydra:template:
                        type: string
                      hydra:variableRepresentation:
                        type: string
                      hydra:mapping:
                        type: array
                        items:
                          type: object
                          properties:
                            '@type':
                              type: string
                            variable:
                              type: string
                            property:
                              type:
                              - string
                              - 'null'
                            required:
                              type: boolean
                required:
                - hydra:member
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Contact-read'
      deprecated: false
  /contacts/{id}:
    get:
      tags:
      - Contact
      summary: Retrieves a Contact resource.
      description: Retrieves a Contact resource.
      operationId: api_contacts_id_get
      parameters:
      - name: id
        in: path
        description: Contact identifier
        required: true
        deprecated: false
        style: simple
        explode: false
        allowReserved: false
        schema:
          type: string
      responses:
        '200':
          description: Contact resource
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/Contact.jsonld-read'
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Contact-read'
        '404':
          description: Resource not found
      deprecated: false
    put:
      tags:
      - Contact
      summary: Replaces the Contact resource.
      description: Replaces the Contact resource.
      operationId: api_contacts_id_put
      parameters:
      - name: id
        in: path
        description: Contact identifier
        required: true
        deprecated: false
        style: simple
        explode: false
        allowReserved: false
        schema:
          type: string
      requestBody:
        description: The updated Contact resource
        content:
          application/ld+json:
            schema:
              $ref: '#/components/schemas/Contact.jsonld-write'
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/Contact-write'
        required: true
      responses:
        '200':
          description: Contact resource updated
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/Contact.jsonld-read'
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Contact-read'
        '400':
          description: Invalid input
        '422':
          description: Unprocessable entity
        '404':
          description: Resource not found
      deprecated: false
  /field_of_sciences:
    get:
      tags:
      - FieldOfScience
      summary: Retrieves the collection of FieldOfScience resources.
      description: Retrieves the collection of FieldOfScience resources.
      operationId: api_field_of_scie

# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-helsinki/refs/heads/main/openapi/university-of-helsinki-contact-search-api-openapi.yml