Nedap Moves.Employee Export Job API

The moves.EmployeeExportJob API from Nedap — 4 operation(s) for moves.employeeexportjob.

Operations 4

POST /t/moves/employee_export_jobs Request to run the export for a single employee/date combination. #
POST /t/moves/employee_export_jobs/preview Return a preview for the specified employee export job #
POST /v0/plannen_roosteren/employee_export_jobs/create Request to run the export for a single employee/date combination. #
POST /v0/plannen_roosteren/employee_export_jobs/preview Return a preview for the specified employee export job #

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/nedap-moves-employeeexportjob-api"
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

nedap-moves-employeeexportjob-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nedap Moves.Employee Export Job API
  version: 0.0.0
  description: 'Operations tagged moves.EmployeeExportJob across 2 of this provider''s published API definitions: nedap-ons-deprecated-openapi-original.json, nedap-ons-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-development.ons.io
tags:
- name: moves.EmployeeExportJob
paths:
  /t/moves/employee_export_jobs:
    post:
      tags:
      - moves.EmployeeExportJob
      summary: Request to run the export for a single employee/date combination.
      operationId: moves.EmployeeExportJobAPI.create
      requestBody:
        description: EmployeeExportJob specifying the employee/date combination for which export is requested.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.EmployeeExportJob'
        required: true
      responses:
        '200':
          description: 'PresenceLogs have been created within OnsPlanning, AND have been

            successfully been exported to OnsAdministration.

            The reponse ONLY contains PresenceLog.id, because after export

            OnsAdministration is the authoritive source of this data.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.EmployeeExportJob'
        '404':
          description: Could not find employee
        '500':
          description: 'Likely due to OnsAdministration being temporarily unavailable.

            If PresenceLogs have been created within OnsPlanning,

            they will be exported to OnsAdministration asynchronously.'
      x-cupido-common-method: true
      x-replaced-by: /v0/plannen_roosteren/employee_export_jobs/create
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /t/moves/employee_export_jobs/preview:
    post:
      tags:
      - moves.EmployeeExportJob
      summary: Return a preview for the specified employee export job
      description: Preview means the response will show which presence logs will be exported but not actually do so.
      operationId: moves.EmployeeExportJobAPI.preview
      requestBody:
        description: EmployeeExportJob object to preview
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.EmployeeExportJob'
        required: true
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.EmployeeExportJob'
        '404':
          description: Could not find employee
      x-replaced-by: /v0/plannen_roosteren/employee_export_jobs/preview
      deprecated: true
      x-deprecated-since: 19-11-2025
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/employee_export_jobs/create:
    post:
      tags:
      - moves.EmployeeExportJob
      summary: Request to run the export for a single employee/date combination.
      operationId: moves.EmployeeExportJobAPI.create
      requestBody:
        description: EmployeeExportJob specifying the employee/date combination for which export is requested.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.EmployeeExportJob'
        required: true
      responses:
        '200':
          description: 'PresenceLogs have been created within OnsPlanning, AND have been

            successfully been exported to OnsAdministration.

            The reponse ONLY contains PresenceLog.id, because after export

            OnsAdministration is the authoritive source of this data.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.EmployeeExportJob'
        '404':
          description: Could not find employee
        '500':
          description: 'Likely due to OnsAdministration being temporarily unavailable.

            If PresenceLogs have been created within OnsPlanning,

            they will be exported to OnsAdministration asynchronously.'
      x-cupido-common-method: true
      x-replacement-for:
      - /t/moves/employee_export_jobs
    servers:
    - url: https://api-development.ons.io
  /v0/plannen_roosteren/employee_export_jobs/preview:
    post:
      tags:
      - moves.EmployeeExportJob
      summary: Return a preview for the specified employee export job
      description: Preview means the response will show which presence logs will be exported but not actually do so.
      operationId: moves.EmployeeExportJobAPI.preview
      requestBody:
        description: EmployeeExportJob object to preview
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moves.EmployeeExportJob'
        required: true
      responses:
        '200':
          description: No response was specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/moves.EmployeeExportJob'
        '404':
          description: Could not find employee
      x-replacement-for:
      - /t/moves/employee_export_jobs/preview
    servers:
    - url: https://api-development.ons.io
components:
  schemas:
    PresenceLogPermission:
      type: object
      properties:
        add_before:
          type: boolean
          default: false
        add_after:
          type: boolean
          default: false
        modify:
          type: boolean
          default: false
        remove:
          type: boolean
          default: false
      description: PresenceLogPermission model (no description)
      example:
        add_before: true
        add_after: true
        modify: true
        remove: true
      xml:
        name: presenceLogPermission
    PresenceLog:
      title: PresenceLog
      type:
      - object
      - 'null'
      properties:
        id:
          type:
          - integer
          - 'null'
          format: int64
          x-cupido-id: true
        activityObjectId:
          type: integer
          description: 'The id of the {@link HourType} that is assigned to this {@code PresenceLog}. The value of this field is a bit complicated, and depends on the contents of the {@code products} field. The following rules are used, from top to bottom:


            If there is exactly one PresenceLogProduct with a duration, the hour type id of that PresenceLogProduct is used If there are multiple PresenceLogProducts with a duration, 12 is used, which means ''client time'' If there are no PresenceLogProducts with a duration, but exactly one with a quantity, the hour type id of that PresenceLogProduct is used If there are no PresenceLogProducts with a duration, and multiple with a quantity, or no products, no value is set'
          format: int64
        duration:
          type: integer
          description: The duration of this PresenceLog. This value is only set for PresenceLogs for which the start- and endtime don't matter; so called 'duration presence logs'. These are usually created from for example the week sheet. This value is only set if hasRealTime is false.
          format: int64
        reason:
          type:
          - string
          - 'null'
          description: The user-provided reason this PresenceLog was created or modified, if available.
        action:
          $ref: '#/components/schemas/PresenceLogAction'
        externalId:
          type:
          - string
          - 'null'
          description: The id of the PresenceLog in the source application of the PresenceLog.
        sourceType:
          type:
          - string
          - 'null'
          description: '2: MobilePhone

            3: Manual

            4: Timesheet

            5: APriori

            6: Planning

            7: EmployeePortal

            8: Groupcare

            9: Schedule

            10: Import

            11: ImportWithOverlap

            12: Agenda

            13: NewGroupCare

            14: YsisConnector

            15: OnsDBC

            16: OnsVandaag

            17: OnsDossier'
        clientObjectId:
          type:
          - integer
          - 'null'
          description: The id of the Client related to this PresenceLog.
          format: int64
        employeeObjectId:
          type:
          - integer
          - 'null'
          description: The id of the Employee related to this PresenceLog.
          format: int64
        careOrderObjectId:
          type: integer
          description: The id of the CareOrder related to this PresenceLog. Only set for treatment-related PresenceLogs, such as those relating to Primary Care.
          format: int64
        date:
          type: string
          description: 'Date of registration.

            Only use this for indirect presencelogs, which are not bound to a client.

            When date is not set, a fallback to startDate will be used.'
          format: date-time
        startDate:
          type:
          - string
          - 'null'
          format: date-time
        endDate:
          type:
          - string
          - 'null'
          format: date-time
        clusterObjectId:
          type: integer
          description: The id of the Team used for cost center computation.
          format: int64
        registration:
          type: boolean
          description: Indicates if this is a client-related registration.
        payment:
          type: boolean
          description: Indicates if this PresenceLog is considered for payrolling. Only if both payment and payrollingActivity are true, the presence log is actually considered for payrolling.
        fixedRateCompensation:
          type: boolean
          description: Indicates if this PresenceLog is compensated with a fixed rate. If true, it is not displayed as work time.
        payrollingActivity:
          type: boolean
          description: Indicates if the Activity or Activities attached to this presence log are considered for payrolling. This property is read-only. Only if both payment and payrollingActivity are true, the presence log is actually considered for payrolling.
        removed:
          type: boolean
          description: Indicates if this PresenceLog is removed.
        verified:
          type: boolean
          description: Indicates if this PresenceLog is verified.
        dossierReportUuid:
          type: string
          description: UUID of the related Dossier report.
        hasRealTime:
          type: boolean
          description: Indicates if this PresenceLog represents a real period with a start and end, or simply a duration (e.g. 6 hours). If this is set to true, the duration field should be ignored, if it is false the duration field should have a correct value.
        calculatedWorktimeAmount:
          type: integer
          description: 'This field contains the actual work time. This can be different if the registration is an availability shift (bereikbaarheidsdienst)

            for example. Or if the registration is part of a group appointment. Thus, the full time is not should be split over several

            registrations.'
          format: int64
        presenceLogLocation:
          $ref: '#/components/schemas/PresenceLogLocation'
        products:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/PresenceLogProduct'
          xml:
            wrapped: true
        ortHours:
          type: array
          items:
            $ref: '#/components/schemas/PresenceLogORT'
          xml:
            wrapped: true
        presenceLogPermission:
          $ref: '#/components/schemas/PresenceLogPermission'
        metadata:
          $ref: '#/components/schemas/PresenceLogMetadata'
        uuid:
          type: string
          description: This field contains the uuid of a registration to all related presencelogs. An example usage could be a group appointment. All presencelogs from a group appointment will have the same uuid.
      description: PresenceLog model (no description)
      example:
        id: 1337
        activityObjectId: 999
        duration: 100
        reason: Moves import
        action: create
        externalId: '1'
        sourceType: '6'
        clientObjectId: 12344
        employeeObjectId: 557
        careOrderObjectId: 123
        date: '2012-08-02T11:48:46.836+02:00'
        startDate: '2012-08-02T11:48:46.836+02:00'
        endDate: '2012-08-02T11:48:46.836+02:00'
        clusterObjectId: 1
        registration: false
        payment: true
        fixedRateCompensation: true
        payrollingActivity: true
        removed: true
        verified: false
        dossierReportUuid: '12345234900234'
        hasRealTime: false
        calculatedWorktimeAmount: 60
        presenceLogLocation:
          id: 1
          expenseTypeObjectId: 1
          zipcode: 1234OK
          homenumber: 2
          homenumberExtension: a
          latitude: 52.22
          longitude: 4.53
        products: []
        ortHours: []
        presenceLogPermission:
          add_before: true
          add_after: true
          modify: true
          remove: true
        uuid: 48b99408-f6e0-11ec-b939-0242ac120002
      xml:
        name: presenceLog
    PresenceLogORT:
      type: object
      properties:
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        percentage:
          type: integer
          description: use 'percentage_decimal' instead
          format: int32
          deprecated: true
        percentageDecimal:
          type: number
          format: double
        description:
          type: string
      description: PresenceLogORT model (no description)
      example:
        start: '2016-06-02T00:00:00.000+02:00'
        end: '2016-06-02T00:00:00.000+02:00'
        percentage: 0
        percentageDecimal: 0.5
        description: Dummy
      xml:
        name: ortHour
    registration.Position:
      title: Position
      type: object
      properties:
        city:
          type:
          - string
          - 'null'
          description: The city where this position is part of. Can be <code>null</code>.
        homeNumber:
          type:
          - integer
          - 'null'
          description: The home number of the position. Can be <code>null</code>.
          format: int32
        homeNumberExtension:
          type:
          - string
          - 'null'
          description: 'The possible extension the #homeNumber. Can be <code>null</code>.'
        street:
          type:
          - string
          - 'null'
          description: The position's street name. Can be <code>null</code>
        zipCode:
          type:
          - string
          - 'null'
          description: Zipcode part of the position. Can be <code>null</code>
        country:
          type: string
          description: The two-letter country code. Examples are 'NL' and 'BE'.
        longitude:
          type:
          - number
          - 'null'
          description: Longitude part of the position.
          format: double
        latitude:
          type:
          - number
          - 'null'
          description: Latitude part of the position.
          format: double
        usedGoogleAddress:
          type: string
      description: 'A Position denotes a physical location on a map. This position can either consist of address information, a

        longitude/latitude pair or both. Not all fields are guaranteed to be present.'
      example:
        city: Enschede
        homeNumber: 5
        homeNumberExtension: ''
        street: Bomenlaan
        zipCode: 6521YH
        country: NL
        longitude: 52.665171
        latitude: 5.215021
        usedGoogleAddress: Bovenlaan 5, 6521YH Enschede, Netherlands
      xml:
        name: position
    PresenceLogMetadata:
      type:
      - object
      - 'null'
      properties:
        shortNotice:
          type: boolean
          description: When true, the correct short notice hour type will be added by OA
          default: false
      description: Metadata corresponding to the presence log
      example:
        shortNotice: true
    PresenceLogProduct:
      title: PresenceLogProduct
      type: object
      properties:
        activityObjectId:
          type: integer
          format: int64
          x-cupido-id: true
        duration:
          type:
          - integer
          - 'null'
          format: int64
        quantity:
          type: integer
          format: int64
        activityDirectOrIndirect:
          type: string
          description: 'Valid values for this field are: "direct", "indirect", "indirect_client", "indirect_client_travel"'
        description:
          type: string
        digitalCare:
          type: boolean
          default: false
      description: Product stored within {@link PresenceLog}.
      example:
        activityObjectId: 999
        duration: 100
        quantity: 1
        activityDirectOrIndirect: direct
        description: description
        digitalCare: false
      xml:
        name: product
    moves.EmployeeExportJob:
      title: EmployeeExportJob
      type: object
      properties:
        date:
          type:
          - string
          - 'null'
          format: date
        employeeId:
          type:
          - integer
          - 'null'
          format: int64
        batch:
          type:
          - string
          - 'null'
        presenceLogsCreated:
          type:
          - integer
          - 'null'
          format: int32
        presenceLogs:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PresenceLog'
      description: EmployeeExportJob model (no description)
      example:
        date: '2014-10-10'
        employeeId: 998
        batch: fe7ef626-81c3-4baa-8a0c-eeb00f792d0b
        presenceLogsCreated: 15
        presenceLogs:
        - activityObjectId: 999
          duration: 100
          reason: Moves import
          action: create
          externalId: '1'
          sourceType: '6'
          clientObjectId: 12344
          employeeObjectId: 557
          startDate: '2012-08-02T11:48:46.836+02:00'
          endDate: '2012-08-02T11:48:46.836+02:00'
          clusterObjectId: 1
          registration: false
          payment: true
          removed: true
          verified: false
          hasRealTime: false
          products: []
    PresenceLogAction:
      type:
      - string
      - 'null'
      oneOf:
      - title: CREATE
        enum:
        - create
      - title: UPDATE
        enum:
        - update
      - title: DELETE
        enum:
        - delete
      description: PresenceLogAction model (no description)
      example: create
    PresenceLogLocation:
      title: PresenceLogLocation
      type:
      - object
      - 'null'
      properties:
        id:
          type: integer
          format: int64
          x-cupido-id: true
        expenseTypeObjectId:
          type:
          - integer
          - 'null'
          format: int64
        zipcode:
          type: string
          description: 'Please use #position instead'
          deprecated: true
        homenumber:
          type: integer
          description: 'Please use #position instead'
          format: int32
          deprecated: true
        homenumberExtension:
          type: string
          description: 'Please use #position instead'
          deprecated: true
        latitude:
          type: number
          description: 'Please use #position instead'
          format: double
          deprecated: true
        longitude:
          type: number
          description: 'Please use #position instead'
          format: double
          deprecated: true
        position:
          $ref: '#/components/schemas/registration.Position'
      description: PresenceLogLocation model (no description)
      example:
        id: 1
        expenseTypeObjectId: 1
        zipcode: 2602AA
        homenumber: 13
        homenumberExtension: a
        latitude: 52.03
        longitude: 52.37
        position:
          city: Amsterdam
          homeNumber: 20
          homeNumberExtension: b
          street: Prinsengracht
          zipCode: 1502AA
          country: NL
          longitude: 32.37
          latitude: 12.13
      xml:
        name: presenceLogLocation
x-refined-from:
- nedap-ons-deprecated-openapi-original.json
- nedap-ons-openapi-original.json