HiOrg-Server API (v1)

Download OpenAPI specification:Download

Datenaustausch mit HiOrg-Server im Format JSON:API Download Repository für Talend API Tester

Course

GET /courses

List of all Courses

Authorizations:
OAuth2
query Parameters
filter[from]
string <date>

Only courses with course date after the given date. Date in format 'Y-m-d'. Default: today midnight

filter[until]
string <date>

Only courses with course date befor the given date. Date in format 'Y-m-d'. Default: today midnight in 12 month

filter[trainer_user_id]
string

Only courses with the given user id assigned as trainer Default: null

include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'client'. dates and location are default included

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ],
  • "included": [
    • {
      },
    • {
      },
    • {
      }
    ]
}

POST /courses

Creates a new course for a given course type.

ATTENTION: Course will NOT be sent to external systems like DLDB.

Authorizations:
OAuth2
Request Body schema: application/vnd.api+json
required
required
object (course_post_request)

courseinformation

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "course",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "course",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      },
    • {
      }
    ]
}

GET /courses/{id}

gets information about the course entry with the ID {id}

Authorizations:
OAuth2
path Parameters
id
required
integer

ID of the course entry

query Parameters
include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'client', course_type. dates and location are default included

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "course",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      },
    • {
      }
    ]
}

GET /courses/types

List with all courseTypes

Authorizations:
OAuth2

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ]
}

Participations

GET /courses/{courseId}/participations

gets information about participations in one course with ID {id}

Authorizations:
OAuth2
path Parameters
course_id
required
integer

ID of the course entry

query Parameters
include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'company, uvt'.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ],
  • "included": [
    • {
      },
    • {
      }
    ]
}

POST /courses/{courseId}/participations

registers a participant for a specific course with ID {id}

Authorizations:
OAuth2
path Parameters
course_id
required
integer

ID of the course entry

Request Body schema: application/vnd.api+json
required
required
object (participation_post)

Participationdata

Array of items

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "participation",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "participation",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      }
    ]
}

GET /courses/{courseId}/participations/{id}

gets information about one participation in one course with ID {id}

Authorizations:
OAuth2
path Parameters
course_id
required
integer

ID of the course entry

id
required
integer

ID of the participation

query Parameters
include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'company, uvt'.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "participation",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      }
    ]
}

PATCH /courses/{courseId}/participations/{id}

change a participant for a specific course with ID {id}

only the attributes that are to be changed must be transferred",

Authorizations:
OAuth2
path Parameters
course_id
required
integer

ID of the course entry

id
required
integer

ID of the participation

Request Body schema: application/vnd.api+json
required
required
object (participation_patch)

Participationdata

Array of items

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "participation",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "participation",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      }
    ]
}

POST /courses/{id}/participations/{id}/cancel

Deregisters a specific user with an ID from a course

Authorizations:
OAuth2
path Parameters
course_id
required
integer

ID of the course entry

id
required
integer

ID of the participation

Request Body schema: application/vnd.api+json
required
required
object (cancellation_post_request)

Cancellationdata

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "cancellation",
    • "id": "1234",
    • "attributes": {
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "cancellation",
    • "id": "1234",
    • "attributes": {
      }
    }
}

Clients

GET /clients

List all clients

Authorizations:
OAuth2

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ]
}

GET /clients/{id}

List one specific client

Authorizations:
OAuth2
path Parameters
id
required
integer

ID of the client

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "client",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    }
}

GET /clients/{id}/courses

Lists all courses where a certain customer has participants or he is the client, based on his ID {id}.
If no location is known, the location object is omitted.
If no geo information is available, the geo attribute is omitted.

Authorizations:
OAuth2
path Parameters
id
required
integer

ID of the client

query Parameters
include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'course_type, course_date, address'.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ],
  • "included": [
    • {
      },
    • {
      },
    • {
      }
    ]
}

GET /clients/{clientId}/courses/{courseId}

gets information about the course entry with the ID {id}

Authorizations:
OAuth2
path Parameters
id
required
integer

ID of the course entry

query Parameters
include
string

Linked objects to be supplied (as comma-separated list). Possible values are e.g.: 'client', course_type. dates and location are default included

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "course",
    • "id": "1234",
    • "attributes": {
      },
    • "relationships": {
      }
    },
  • "included": [
    • {
      },
    • {
      },
    • {
      }
    ]
}

GET /clients/{id}/participants

List all participants of a specific client

Authorizations:
OAuth2
path Parameters
id
required
integer

ID of the client

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ]
}

CustomFields

GET /courses/{courseId}/customfields

List of all custom fields

Authorizations:
OAuth2
path Parameters
courseId
required
integer

Course ID

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ]
}

POST /courses/{courseId}/customfields

Adds a new custom field to a course

Authorizations:
OAuth2
path Parameters
courseId
required
integer

Course ID

Request Body schema: application/vnd.api+json
required
required
object (customfield_post_request)

Custom field

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "customfield",
    • "id": "1234",
    • "attributes": {
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "customfield",
    • "id": "1234",
    • "attributes": {
      }
    }
}

GET /courses/{courseId}/customfields/{id}

List one specific custom field

Authorizations:
OAuth2
path Parameters
courseId
required
integer

Course ID

id
required
integer

Custom field ID

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "customfield",
    • "id": "1234",
    • "attributes": {
      }
    }
}

PATCH /courses/{courseId}/customfields/{id}

change a custom field of specific course with ID {id}

                only the attributes that are to be changed must be transferred
Authorizations:
OAuth2
path Parameters
courseId
required
integer

Course ID

id
required
integer

Custom field ID

Request Body schema: application/vnd.api+json
required
required
object (customfield_patch_request)

Custom field

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "customfield",
    • "id": "1234",
    • "attributes": {
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "customfield",
    • "id": "1234",
    • "attributes": {
      }
    }
}

DELETE /courses/{courseId}/customfields/{id}

Deletes a custom field with ID {id} in course with courseID {courseID}

DRAFT: Die API befindet sich derzeit noch in der Entwicklung. Daher kann es sein, dass sich die Spezifikation noch ändert.

Authorizations:
OAuth2
path Parameters
courseId
required
integer

Course ID

id
required
integer

Custom field ID

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      }
    ]
}

Uvt

GET /uvts

If the 'Select favorites' setting is activated, only the UVTs marked as favorites are output.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      }
    ]
}