Back to top

Welcome to the Loopline Systems REST API specification.

Getting Started

Loopline Systems provides a RESTful API for your own integrations.

You can find the available requests on the left hand side bar. Each request will contain sample requests and responses as well.

Your opinion is important! If you have any suggestions on how we can improve our API to better fit your needs, feel free to contact us.

Usage

For using the API, you will need a <CLIENT_ID> and an <API_KEY> which you can retrieve both in your admin section.

All data sent and received uses the MIME_TYPE application/json.

API Base URL: https://api.loopline-systems.com

Example cURL request

  • curl https://api.loopline-systems.com/users \
    -X GET \
    -H "X-Loopline-Client: <CLIENT_ID>" \
    -H "X-Api-Key: <API_KEY>"

Error handling

If errors occur while communicating with the API you will receive a message that includes the HTTP status-code and a message.

Sandbox

Loopline Systems supports the Postman extension for Chrome with a “Request Collection” you can easily import. If you are not familiar with it just have a look at our tutorial.

Thanks @Stefan for the nice terminal css look. http://codepen.io/stefanjudis/pen/BNOOpX

Next 

Application 

Locale List 

Get a list of available locales
/application/locales
  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /application/locales

    • curl https://api.loopline-systems.com/application/locales \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    [
      {
        "locale": "en_US",
        "key": "LANGUAGE.EN_US"
      },
      {
        "locale": "de_DE",
        "key": "LANGUAGE.DE_DE"
      },
      {
        "locale": "fr_FR",
        "key": "LANGUAGE.FR_FR"
      }
    ]
    

    Returned when successful

  • Returned when not authenticated

Next  Previous

User 

User List 

Get all users
/users
  • Parameters
  • deactivated
    bool (optional) 

    Whether to include deactivated users in results (admin only)

    page
    integer (\d+) (optional) Default: 1 

    page number to display

    maxresults
    integer (\d+) (optional) Default: 25 

    results per page to display

    search
    string (\s+) (optional) 

    search term (OR)

    filter
    string (\s+) (optional) 

    filter type (all|users_active|users_admin|users_can_be_supervisor|users_non_active|users_without_supervisor|users_no_position|users_pending|users_pending_without_invitation|have_individual_feedback_period|have_no_individual_feedback_period)

    sort
    string (\s+) (optional) 

    property to sort by

    sortOrder
    string (\s+) (optional) Default: ASC 

    sort order (ASC|DESC)

    excludeIds
    string (\s+) (optional) 

    comma separated list of IDs to exclude

    searchBy
    string (\s+) (optional) 

    comma separated list of search groups (defaults to “default”)

    include
    string (\s+) (optional) 

    comma separated list of what to include in response. See config request for options

    team
    string (\s+) (optional) 

    include team in the response

    department
    string (\s+) (optional) 

    include department in the response

    supervisor
    string (\s+) (optional) 

    include supervisor in the response

    tos
    string (\s+) (optional) 

    include tos in the response

    active_stats
    string (\s+) (optional) 

    include active stats in the response

    roles
    string (\s+) (optional) 

    include roles in the response

    createdAfter
    date (optional) 

    Return users created after (and including) this date

    createdBefore
    date (optional) 

    Return users created before (and including) this date

    supervisorId
    int (optional) 

    Filter users based on their supervisor

    includeDownstream
    bool (optional) 

    If you set a supervisor do you want also include their downstream

    departmentId
    int (optional) 

    Filter users based on their department

    departmentDirect
    bool (optional) 

    If true will exclude members of child departments (will not work for historic data)

    superviseeDepartmentMemberships
    bool (optional) 

    If true will include supervisees’ department memberships (will not work for historic data)

    activeFeedbackPeriodConfigId
    int (optional) 

    Filter users based on their active feedback period

    feedbackStatus
    string (ongoing|prepared|completed|deactivated) (optional) 

    Filter by feedback status: ongoing|prepared|completed|deactivated

    teamId
    int (optional) 

    Filter users based on their team

    superviseeTeamMemberships
    bool (optional) 

    If true will include supervisees’ team memberships (will not work for historic data)

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /users

    • curl https://api.loopline-systems.com/users \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "sort": {
        "name": "firstname",
        "order": "ASC"
      },
      "filter": [
    
      ],
      "pagination": {
        "count": 2,
        "currentPage": 1,
        "maxPerPage": 25,
        "hasNextPage": false,
        "hasPreviousPage": false,
        "haveToPaginate": false,
        "getCurrentPageOffsetEnd": 2,
        "getCurrentPageOffsetStart": 1,
        "getNbPages": 1
      },
      "results": [
        {
          "id": 18,
          "username": "demo+Alex.Millner@loopline-systems.com",
          "firstname": "Alex",
          "lastname": "Millner",
          "image": {
            "id": 18,
            "webPath": "http://static.helen.dev/tal-lon-cdn/69731449a4c782b76d43d9b83c9f07de.jpeg"
          },
          "email": "demo+Alex.Millner@loopline-systems.com",
          "position": "Customer Success Agent",
          "roles": [
            {
              "id": 1,
              "role": "ROLE_USER",
              "toggleable": true
            },
            {
              "id": 6,
              "role": "ROLE_USER_ACCEPTED_TOS",
              "toggleable": false
            }
          ],
          "supervisor": {
            "id": 16,
            "username": "demo+Paul.Newman@loopline-systems.com",
            "firstname": "Paul",
            "lastname": "Newman",
            "image": {
              "id": 16,
              "webPath": "http://static.helen.dev/tal-lon-cdn/fc14943abea097f70690de081821f245.jpeg"
            },
            "email": "demo+Paul.Newman@loopline-systems.com",
            "position": "Sales Agent",
            "roles": [
    
            ],
            "supervisor": {
              "id": 5,
              "username": "demo+Graig.Greening@loopline-systems.com",
              "firstname": "Graig",
              "lastname": "Greening",
              "image": null,
              "email": "demo+Graig.Greening@loopline-systems.com",
              "position": "Head of Sales",
              "roles": [
    
              ],
              "supervisor": null,
              "active": true,
              "acceptedTOS": true,
              "activatedAt": "18-06-2015",
              "deactivatedAt": null,
              "lastPasswordResetByAdmin": null
            },
            "active": true,
            "acceptedTOS": true,
            "activatedAt": "18-06-2015",
            "deactivatedAt": null,
            "lastPasswordResetByAdmin": null
          },
          "active": true,
          "acceptedTOS": true,
          "activatedAt": "18-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        {
          "id": 10,
          "username": "demo+Anton.Mozart@loopline-systems.com",
          "firstname": "Anton",
          "lastname": "Mozart",
          "image": {
            "id": 10,
            "webPath": "http://static.helen.dev/tal-lon-cdn/d337d1606222162034fbf29c641d7672.jpeg"
          },
          "email": "demo+Anton.Mozart@loopline-systems.com",
          "position": "Senior Ruby Developer",
          "roles": [
            {
              "id": 1,
              "role": "ROLE_USER",
              "toggleable": true
            },
            {
              "id": 2,
              "role": "ROLE_SUPERVISOR",
              "toggleable": false
            },
            {
              "id": 6,
              "role": "ROLE_USER_ACCEPTED_TOS",
              "toggleable": false
            },
            {
              "id": 7,
              "role": "ROLE_CAN_BE_SUPERVISOR",
              "toggleable": true
            }
          ],
          "supervisor": {
            "id": 4,
            "username": "demo+Lucas.Mancini@loopline-systems.com",
            "firstname": "Lucas",
            "lastname": "Mancini",
            "image": {
              "id": 4,
              "webPath": "http://static.helen.dev/tal-lon-cdn/dbed81c3cf1c2c4c0d1ec79d624e3259.jpeg"
            },
            "email": "demo+Lucas.Mancini@loopline-systems.com",
            "position": "CTO",
            "roles": [
    
            ],
            "supervisor": {
              "id": 3,
              "username": "catrina@loopline-systems.com",
              "firstname": "Catrina",
              "lastname": "Carnahan",
              "image": null,
              "email": "catrina@loopline-systems.com",
              "position": "CFO",
              "roles": [
    
              ],
              "supervisor": null,
              "active": true,
              "acceptedTOS": true,
              "activatedAt": "18-06-2015",
              "deactivatedAt": null,
              "lastPasswordResetByAdmin": null
            },
            "active": true,
            "acceptedTOS": true,
            "activatedAt": "18-06-2015",
            "deactivatedAt": null,
            "lastPasswordResetByAdmin": null
          },
          "active": true,
          "acceptedTOS": true,
          "activatedAt": "18-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        }
      ]
    }
    

    Returned when successful

  • Returned when not authenticated

User 

Get a single user
/users/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

    extend
    integer (\d+) (optional) 

    Extends the response data

    Choices: 1

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /users/{id}

    • curl https://api.loopline-systems.com/users/<id> \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 2,
      "username": "susann@loopline-systems.com",
      "firstname": "Susann",
      "lastname": "Riley",
      "image": {
        "id": 2,
        "name": "",
        "webPath": "http://static.helen.dev/tal-lon-cdn/"
      },
      "email": "susann@loopline-systems.com",
      "position": "CEO",
      "roles": [
        {
          "id": 1,
          "role": "ROLE_USER",
          "name": "Active user",
          "toggleable": true
        }
      ],
      "supervisor": {
        "id": 2,
        "username": "christian.miller@loopline-systems.com",
        "firstname": "Christian",
        "lastname": "Miller",
        "image": {
          "id": 2,
          "name": "",
          "webPath": "http://static.helen.dev/tal-lon-cdn/christian.miller.jpg"
        },
        "email": "christian.miller@loopline-systems.com",
        "position": "CEO",
        "roles": [],
        "supervisor": null,
        "recommendable": null,
        "teams": [],
        "active": true,
        "acceptedTOS": true,
        "activatedAt": "08-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "recommendable": false,
      "teams": [
        {
          "id": 1,
          "name": "HR",
          "isLead": true,
          "size": 1
        }
      ],
      "active": true,
      "acceptedTOS": true,
      "activatedAt": "08-06-2015",
      "deactivatedAt": null,
      "lastPasswordResetByAdmin": null
    }
    

    Returned when successful

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /users/{id}

    • curl /users/{id}?extend=1 \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 2,
      "username": "susann@loopline-systems.com",
      "firstname": "Susann",
      "lastname": "Riley",
      "image": {
        "id": 40,
        "name": "7566f0404037cede5bb3d742194d28c2.jpeg",
        "webPath": "http://static.helen.dev/tal-lon-cdn/7566f0404037cede5bb3d742194d28c2.jpeg"
      },
      "organization": {
        "id": 1,
        "name": "Loopline Systems GmbH",
        "logo": {
          "id": 1,
          "name": "d47965e73e19a1ef8b5eeb0f2318a982.png",
          "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png"
        },
        "systemEmail": "demo+organization@loopline-systems.com",
        "globalFeedbackPeriodDuration": "4 months",
        "globalFeedbackOpenDuration": "1 month",
        "refreshTimeouts": {
          "default": 30000,
          "user": 18000
        },
        "initialSetupDone": true
      },
      "email": "susann@loopline-systems.com",
      "position": "CEO",
      "roles": [
        {
          "id": 1,
          "role": "ROLE_USER",
          "name": "Active user",
          "description": "Allows user to login",
          "toggleable": true
        },
        {
          "id": 2,
          "role": "ROLE_SUPERVISOR",
          "name": "Currently supervisor",
          "description": "Can have supervisees",
          "toggleable": false
        },
        {
          "id": 6,
          "role": "ROLE_USER_ACCEPTED_TOS",
          "name": "User accepted ToS",
          "description": "Basic role needed to access most of the API elements",
          "toggleable": false
        }
      ],
      "supervisor": null,
      "teams": [
        {
          "id": 1,
          "name": "HR",
          "organization": {
            "id": 1,
            "name": "Loopline Systems GmbH",
            "logo": {
              "id": 1,
              "name": "d47965e73e19a1ef8b5eeb0f2318a982.png",
              "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png"
            },
            "systemEmail": "demo+organization@loopline-systems.com",
            "globalFeedbackPeriodDuration": "4 months",
            "globalFeedbackOpenDuration": "1 month",
            "refreshTimeouts": {
              "default": 30000,
              "user": 18000
            },
            "initialSetupDone": true
          },
          "size": 4
        },
        {
          "id": 2,
          "name": "Strategy",
          "organization": {
            "id": 1,
            "name": "Loopline Systems GmbH",
            "logo": {
              "id": 1,
              "name": "d47965e73e19a1ef8b5eeb0f2318a982.png",
              "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png"
            },
            "systemEmail": "demo+organization@loopline-systems.com",
            "globalFeedbackPeriodDuration": "4 months",
            "globalFeedbackOpenDuration": "1 month",
            "refreshTimeouts": {
              "default": 30000,
              "user": 18000
            },
            "initialSetupDone": true
          },
          "size": 1
        },
        {
          "id": 3,
          "name": "Project Mullins",
          "organization": {
            "id": 1,
            "name": "Loopline Systems GmbH",
            "logo": {
              "id": 1,
              "name": "d47965e73e19a1ef8b5eeb0f2318a982.png",
              "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png"
            },
            "systemEmail": "demo+organization@loopline-systems.com",
            "globalFeedbackPeriodDuration": "4 months",
            "globalFeedbackOpenDuration": "1 month",
            "refreshTimeouts": {
              "default": 30000,
              "user": 18000
            },
            "initialSetupDone": true
          },
          "size": 7
        },
        {
          "id": 4,
          "name": "Finance",
          "organization": {
            "id": 1,
            "name": "Loopline Systems GmbH",
            "logo": {
              "id": 1,
              "name": "d47965e73e19a1ef8b5eeb0f2318a982.png",
              "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png"
            },
            "systemEmail": "demo+organization@loopline-systems.com",
            "globalFeedbackPeriodDuration": "4 months",
            "globalFeedbackOpenDuration": "1 month",
            "refreshTimeouts": {
              "default": 30000,
              "user": 18000
            },
            "initialSetupDone": true
          },
          "size": 5
        }
      ],
      "locale": "de_DE",
      "tourSectionsMissing": [
        {
          "name": "app.me.trainings",
          "id": 4
        }
      ],
      "acceptedTOS": true
    }
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not found

Create a new user
/users/{id}

@see * /application/locales * request to get a list of possible locales

  • Parameters
  • email
    string (\s+) (required) 

    The email of the user

    locale
    string (\s+) (required) 

    The locale of the user

    firstname
    string (\s+) (optional) 

    The firstname of the user

    lastname
    string (\s+) (optional) 

    The lastname of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "firstname": "Susann",
      "lastname": "Riley",
      "email":"susann@loopline-systems.com",
      "locale": "de_DE"
    }
    

    Example:

    POST : /users

    • curl https://api.loopline-systems.com/users \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "firstname": "Susann", "lastname": "Riley", "email":"susann@loopline-systems.com", "locale": "de_DE" }'
  • Body
    {
      "id": 21,
      "username": "susann@loopline-systems.com",
      "firstname": "Susann",
      "lastname": "Riley",
      "image": {
        "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png"
      },
      "email": "susann@loopline-systems.com",
      "position": null,
      "active": true,
      "activatedAt": "12-06-2015",
      "confirmationToken": "87e4c3e4af9d04d5d2f5631ec06ac16ca5091ac7",
      "deactivatedAt": null,
      "lastPasswordResetByAdmin": null
    }
    

    Returned when created

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not found

  • Returned when organization initialSetup not done

Update a single user
/users/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user to be changed

    email
    string (\s+) (optional) 

    The new email of the user

    locale
    string (\s+) (optional) 

    The new locale of the user

    firstname
    string (\s+) (optional) 

    The new firstname of the user

    lastname
    string (\s+) (optional) 

    The new lastname of the user

    position
    bool (optional) 

    Does the user accept the TOS

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "firstname": "Susann",
      "lastname": "Riley"
    }
    

    Example:

    PATCH : /users/{id}

    • curl https://api.loopline-systems.com/users/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "firstname": "Susann", "lastname": "Riley" }'
  • Body
    {
      "username": "susann@loopline-systems.com",
      "firstname": "Susann",
      "lastname": "Rilay",
      "image": {
        "webPath": "http://static.helen.dev/tal-lon-cdn/"
      },
      "email": "susann@loopline-systems.com",
      "position": "Customer Success Agent",
      "active": true,
      "activatedAt": "08-06-2015",
      "deactivatedAt": null,
      "lastPasswordResetByAdmin": null
    }
    

    Returned when successful

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not found

Supervisee List 

Get all supervisees of a user
/users/{id}/supervisees
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /users/{id}/supervisees

    • curl https://api.loopline-systems.com/users/<id>/supervisees \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    [
      {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "",
          "webPath": "http://static.helen.dev/tal-lon-cdn/"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "recommendable": false,
        "teams": [
          {
            "id": 3,
            "name": "Project Mullins",
            "isLead": true,
            "size": 6
          },
          {
            "id": 4,
            "name": "Finance",
            "isLead": true,
            "size": 3
          },
          {
            "id": 5,
            "name": "Efficiency 440",
            "isLead": true,
            "size": 3
          },
          {
            "id": 6,
            "name": "UI/UX",
            "isLead": false,
            "size": 4
          }
        ],
        "activeFeedbackPeriod": {
          "user": null,
          "feedbackPeriod": {
            "id": 4,
            "start": "2015-02-23",
            "end": "2015-06-22",
            "open": "2015-05-23"
          },
          "status": "prepared",
          "statusSupervisee": "prepared",
          "statusSupervisor": "prepared",
          "id": 44
        },
        "currentFeedbackPeriod": {
          "user": null,
          "feedbackPeriod": {
            "id": 4,
            "start": "2015-02-23",
            "end": "2015-06-22",
            "open": "2015-05-23"
          },
          "status": "prepared",
          "statusSupervisee": "prepared",
          "statusSupervisor": "prepared",
          "id": 44
        },
        "active": true,
        "activatedAt": "08-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      }
    ]
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not allowed

  • Returned when not found

Supervisor 

Assign a supervisor to a user
/users/{id}/supervisor/{supervisor_id}

Assign a supervisor to a user. You must be Admin to access this * resource

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the supervisee

    supervisor_id
    integer (\d+) (required) 

    The id of the supervisor

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    POST : /users/{id}/supervisor/{supervisor_id}

    • curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Returned when created

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not allowed

  • Returned when not found

Remove a supervisee from a supervisor
/users/{id}/supervisor/{supervisor_id}

Remove a supervisee from a supervisor. You need to be * supervisor of the user or admin

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the supervisee

    supervisor_id
    integer (\d+) (required) 

    The id of the supervisor

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    DELETE : /users/{id}/supervisor/{supervisor_id}

    • curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
      -X DELETE \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Returned when user deleted

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when supervisee not found

User Image 

Update the profile image of a user
/users/{id}/image

Update the profile image of a user. The image is submitted in * the request body

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

  • Headers
    Content-Type: multipart/form-data; boundary=---BOUNDARY
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    POST : /users/{id}/image

    • curl https://api.loopline-systems.com/users/<id>/image \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -F name=file -F file=@example.jpg
  • Body
    {
      "id": 19,
      "webPath": "http://example.com/user-image.jpeg"
    }
    

    Returned when created

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not authorized

Delete the profile image of a user
/users/{id}/image
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    DELETE : /users/{id}/image

    • curl https://api.loopline-systems.com/users/<id>/image \
      -X DELETE \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 2,
      "username": "susann@loopline-systems.com",
      "firstname": "Susann",
      "lastname": "Riley",
      "image": {
        "id": 2,
        "name": "",
        "webPath": "http://static.helen.dev/tal-lon-cdn/"
      },
      "email": "susann@loopline-systems.com",
      "position": "CEO",
      "roles": [
        {
          "id": 1,
          "role": "ROLE_USER",
          "name": "Active user",
          "toggleable": true
        }
      ],
      "supervisor": {
        "id": 2,
        "username": "christian.miller@loopline-systems.com",
        "firstname": "Christian",
        "lastname": "Miller",
        "image": {
          "id": 2,
          "name": "",
          "webPath": "http://static.helen.dev/tal-lon-cdn/christian.miller.jpg"
        },
        "email": "christian.miller@loopline-systems.com",
        "position": "CEO",
        "roles": [],
        "supervisor": null,
        "recommendable": null,
        "teams": [],
        "active": true,
        "acceptedTOS": true,
        "activatedAt": "08-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "recommendable": false,
      "teams": [
        {
          "id": 1,
          "name": "HR",
          "isLead": true,
          "size": 1
        }
      ],
      "active": true,
      "acceptedTOS": true,
      "activatedAt": "08-06-2015",
      "deactivatedAt": null,
      "lastPasswordResetByAdmin": null
    }
    

    Returned when deleted, including user entity

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when not found

Next  Previous

Role 

Role List 

Get all roles
/roles
  • Parameters
  • filter
    string (\w+) (optional) 

    The filter for the roles

    Choices: api-roles

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /roles

    • curl https://api.loopline-systems.com/roles \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    [
      {
        "id": 1,
        "role": "ROLE_USER",
        "name": "Active user",
        "toggleable": true
      },
      {
        "id": 4,
        "role": "ROLE_ADMIN",
        "name": "System admin",
        "toggleable": true
      },
      {
        "id": 7,
        "role": "ROLE_CAN_BE_SUPERVISOR",
        "name": "Can have direct reports",
        "toggleable": true
      }
    ]
    

    Returned when successful

  • Returned when not authenticated

Role 

Get a single role
/roles/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the role

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /roles/{id}

    • curl https://api.loopline-systems.com/roles/<id> \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 4,
      "role": "ROLE_ADMIN",
      "name": "System admin",
      "toggleable": true
    }
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not found

Role Membership 

Add a role to a user
/users/{id}/role/{role_id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

    role_id
    integer (\d+) (required) 

    The id of the Role

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    POST : /users/{id}/role/{role_id}

    • curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id":18,
      "locale":"en_US"
    }
    

    Returned when created

  • Returned when not authenticated

  • Returned when not allowed

  • Returned when not found

Remove a role from a user
/users/{id}/role/{role_id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

    role_id
    integer (\d+) (required) 

    The id of the Role

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    DELETE : /users/{id}/role/{role_id}

    • curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
      -X DELETE \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Returned when role has been deleted

  • Returned when not authenticated

  • Returned when not allowed

  • Returned when not found

Next  Previous

Team 

Team 

Get all teams
/teams
  • Parameters
  • members
    string (optional) Default: false 

    Add Members to response

    filter.user
    integer (\d+) (optional) 

    Filter by user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /teams

    • curl https://api.loopline-systems.com/teams \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    [
      {
        "id": 1,
        "name": "HR",
        "documents": [
    
        ],
        "isLead": false,
        "teamlead": {
          "id": 2,
          "username": "susann@loopline-systems.com",
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 2,
            "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
            "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
            "size": 13795,
            "mimeType": "image/jpeg",
            "createdAt": "2015-06-18T08:28:10+0000",
            "originalName": "Susann"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "createdAt": "2015-06-18T08:26:09+0000",
          "activatedAt": "18-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        "size": 1
      },
      {
        "id": 2,
        "name": "Strategy",
        "documents": [
    
        ],
        "isLead": true,
        "teamlead": {
          "id": 2,
          "username": "susann@loopline-systems.com",
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 2,
            "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
            "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
            "size": 13795,
            "mimeType": "image/jpeg",
            "createdAt": "2015-06-18T08:28:10+0000",
            "originalName": "Susann"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "createdAt": "2015-06-18T08:26:09+0000",
          "activatedAt": "18-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        "size": 1
      }
    ]
    

    Returned when successful

  • Returned when not authenticated

Get a single team
/teams
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

    members
    string (optional) Default: false 

    Add Members to response

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /teams/{id}

    • curl https://api.loopline-systems.com/teams/<id> \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 12,
      "name": "Loopline Systems Team",
      "documents": [
    
      ],
      "isLead": false,
      "teamlead": {
        "id": 1,
        "username": "demo+admin@loopline-systems.com",
        "firstname": "The",
        "lastname": "Admin",
        "image": {
          "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png"
        },
        "email": "demo+admin@loopline-systems.com",
        "position": null,
        "active": true,
        "createdAt": "2015-06-18T08:25:59+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "size": 1
    }
    

    Returned when successful

  • Returned when not authenticated

  • Returned when team not found

Update a single team
/teams
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

    name
    string (\w+) (required) 

    The new name of the team

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "name": "HR"
    }
    

    Example:

    PATCH : /teams/{id}

    • curl https://api.loopline-systems.com/teams/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "name": "HR" }'
  • Body
    {
      "id": 1,
      "name": "HR",
      "users": [
        {
          "id": 2,
          "username": "susann@loopline-systems.com,
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 2,
            "name": "",
            "webPath": "http://static.helen.dev/tal-lon-cdn/"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "activatedAt": "08-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        {
          "id": 18,
          "username": "alex.millner@loopline-systems.com",
          "firstname": "Alex",
          "lastname": "Millner",
          "image": {
            "id": 18,
            "name": "",
            "webPath": "http://static.helen.dev/tal-lon-cdn/"
          },
          "email": "alex.millner@loopline-systems.com",
          "position": "Customer Success Agent",
          "active": true,
          "activatedAt": "08-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        }
      ],
      "isLead": true,
      "size": 2
    }
    

    Returned when team has been updated

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when not found

  • Returned when team name already taken

Delete a single team
/teams

Delete a single team with all relations

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    DELETE : /teams/{id}

    • curl https://api.loopline-systems.com/teams/<id> \
      -X DELETE \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Returned when deleted

  • Returned when not authenticated

  • Returned when team not exists

Team List 

Create a new team
/teams
  • Parameters
  • name
    string (\w+) (required) 

    The name of the team

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "name": "Loopline Systems Team"
    }
    

    Example:

    POST : /teams

    • curl https://api.loopline-systems.com/teams \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "name": "Loopline Systems Team" }'
  • Body
    {
      "id": 9,
      "name": "Loopline Systems Team",
      "teamlead": {
        "id": 1,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png"
        },
        "email": "susann@loopline-systems.com",
        "position": null
      },
      "size": 1
    }
    

    Returned when created

  • Returned when the request content is malformed, e.g. name is missing

  • Returned when not authenticated

  • Returned when not found

  • Returned when team name already taken

Teamlead 

Set a new teamlead
/teams/{id}/teamlead/{teamlead_id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

    teamlead_id
    integer (\d+) (required) 

    The id of the new teamlead

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    POST : /teams/{id}/teamlead/{teamlead_id}

    • curl https://api.loopline-systems.com/teams/<id>/teamlead/<teamlead_id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 4,
      "name": "Finance",
      "users": [
        {
          "id": 2,
          "username": "susann@loopline-systems.com",
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 40,
            "name": "7566f0404037cede5bb3d742194d28c2.jpeg",
            "webPath": "http://static.helen.dev/tal-lon-cdn/7566f0404037cede5bb3d742194d28c2.jpeg"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "activatedAt": "18-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
      ],
      "isLead": true,
      "teamlead": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "size": 4
    }
    

    Returned when the new teamlead has been set successfully

  • Returned when thew new teamlead could not be set

  • Returned when thew new teamlead or team were not found

Team Membership 

Add a user to a team
/teams/{id}/user/{user_id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

    user_id
    integer (\d+) (required) 

    The id of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    POST : /teams/{id}/user/{user_id}

    • curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "id": 2,
      "name": "Strategy",
      "isLead": false,
      "teamlead": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "",
          "webPath": "http://static.helen.dev/tal-lon-cdn/"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "activatedAt": "08-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "size": 2
    }
    

    Returned when created

  • Returned when not authenticated

  • Returned when team not found

Delete a user from a team
/teams/{id}/user/{user_id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the team

    user_id
    integer (\d+) (required) 

    The id of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    DELETE : /teams/{id}/user/{user_id}

    • curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
      -X DELETE \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Returned when deleted

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when team not exists

Next  Previous

Objectives 

Objective List 

Returns all objectives for a user
/objectives/user/{id}

Returns all objectives for a user. Use the Filters to return (active|archived|attached|deleted) -> default Filter is active

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user to get the objectives for

    type
    string ((active|archived|attached|deleted)) (optional) Default: active 

    Filter objectives by type. (active,archived,attached, deleted)

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /objectives/user/{id}

    • curl https://api.loopline-systems.com/objectives/user/<id> \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    [
      {
        "user": {
          "id": 2,
          "username": "susann@loopline-systems.com",
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 2,
            "name": "",
            "webPath": "http://static.helen.dev/tal-lon-cdn/",
            "updatedAt": "2015-06-08T14:24:41+0000",
            "createdAt": "2015-06-08T14:24:41+0000"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "updatedAt": "2015-06-16T06:27:37+0000",
          "createdAt": "2015-06-08T14:22:43+0000",
          "activatedAt": "08-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        "createdBy": {
          "id": 2,
          "username": "susann@loopline-systems.com",
          "firstname": "Susann",
          "lastname": "Riley",
          "image": {
            "id": 2,
            "name": "",
            "webPath": "http://static.helen.dev/tal-lon-cdn/",
            "updatedAt": "2015-06-08T14:24:41+0000",
            "createdAt": "2015-06-08T14:24:41+0000"
          },
          "email": "susann@loopline-systems.com",
          "position": "CEO",
          "active": true,
          "updatedAt": "2015-06-16T06:27:37+0000",
          "createdAt": "2015-06-08T14:22:43+0000",
          "activatedAt": "08-06-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        "title": "Getting new Skills in Team motivation",
        "description": "Need to gain some more experience in motivate the team.",
        "keyResults": [
          {
            "title": "Train basics in role play games",
            "done": false,
            "id": 38,
            "createdAt": "2015-06-17T15:59:57+0000",
            "updatedAt": "2015-06-17T15:59:57+0000"
          }
        ],
        "deadline": "2015-07-15T00:00:00+0000",
        "weight": 0,
        "type": "bool",
        "progressSupervisee": 0,
        "progressSupervisor": 0,
        "overdue": false,
        "agreed": false,
        "deleted": false,
        "feedbackProcess": null,
        "editable": true,
        "owner": "supervisee",
        "id": 20,
        "createdAt": "2015-06-17T15:59:57+0000",
        "updatedAt": "2015-06-17T15:59:57+0000"
      }
    ]
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not authorized

Objective 

Create a new objective
/objectives/user/{id}

Create a new objective (as SV for SE, as SE for oneself)

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user to create the objectives for

    title
    string (\s+) (required) 

    The title of the objective

    type
    string ((bool|float)) (required) 

    The type of the objective

    description
    string (optional) 

    description text

    deadline
    string (optional) 

    deadline for the objective, e.g. 2014-01-09 12:00:00+0200

    progressSupervisor
    float (optional) 

    float value for initial progressSupervisor

    weight
    float (optional) 

    float value for the weight

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "type": "bool",
      "keyResults": [],
      "weight": 0.5,
      "title": "Recruit new Head of Controlling",
      "deadline": "2015-06-19",
      "description": "For requirements profile check intranet"
    }
    

    Example:

    POST : /objectives/user/{id}

    • curl https://api.loopline-systems.com/objectives/user/<id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "type": "bool", "keyResults": [], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }'
  • Body
    {
      "user": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:20+0000",
        "createdAt": "2015-06-18T08:26:16+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "createdBy": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:26+0000",
        "createdAt": "2015-06-18T08:26:09+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "title": "Recruit new Head of Controlling",
      "description": "For requirements profile check intranet",
      "keyResults": [],
      "deadline": "2015-06-19T00:00:00+0000",
      "weight": 0.5,
      "type": "bool",
      "progressSupervisee": 0,
      "progressSupervisor": 0,
      "overdue": false,
      "agreed": false,
      "deleted": false,
      "feedbackProcess": null,
      "editable": true,
      "owner": "supervisor",
      "id": 20,
      "createdAt": "2015-06-18T09:26:37+0000",
      "updatedAt": "2015-06-18T09:26:37+0000"
    }
    

    Returned when created

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "type": "bool",
      "keyResults": [
        {
          "title": "Make a selection"
        },
        {
          "title": "Hiring"
        }
      ],
      "weight": 0.5,
      "title": "Recruit new Head of Controlling",
      "deadline": "2015-06-19",
      "description": "For requirements profile check intranet"
    }
    

    Example:

    POST : /objectives/user/{id}

    • curl https://api.loopline-systems.com/objectives/user/<id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "type": "bool", "keyResults": [ { "title": "Make a selection" }, { "title": "Hiring" } ], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }'
  • Body
    {
      "user": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:20+0000",
        "createdAt": "2015-06-18T08:26:16+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "createdBy": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:26+0000",
        "createdAt": "2015-06-18T08:26:09+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "title": "Recruit new Head of Controlling",
      "description": "For requirements profile check intranet",
      "keyResults": [
        {
          "title": "Make a selection",
          "done": false,
          "id": 38,
          "createdAt": "2015-06-18T09:26:37+0000",
          "updatedAt": "2015-06-18T09:26:37+0000"
        },
        {
          "title": "Hiring",
          "done": false,
          "id": 39,
          "createdAt": "2015-06-18T09:26:37+0000",
          "updatedAt": "2015-06-18T09:26:37+0000"
        }
      ],
      "deadline": "2015-06-19T00:00:00+0000",
      "weight": 0.5,
      "type": "bool",
      "progressSupervisee": 0,
      "progressSupervisor": 0,
      "overdue": false,
      "agreed": false,
      "deleted": false,
      "feedbackProcess": null,
      "editable": true,
      "owner": "supervisor",
      "id": 20,
      "createdAt": "2015-06-18T09:26:37+0000",
      "updatedAt": "2015-06-18T09:26:37+0000"
    }
    

    Returned when created

  • Returned when the request content is malformed, e.g. title is missing

  • Returned when not authenticated

  • Returned when not found

Update an objective
/objectives/user/{id}

Update an objective and the objective-key-results (some properties can only be patched by SE or SV; ‘keyResults’ will be handled like PUT)

  • Parameters
  • id
    (\d+) (required) 
    title
    string (optional) 

    title of the objective (SV only)

    description
    string (optional) 

    description text (SV only)

    deadline
    string (optional) 

    deadline for the objective, e.g. 2014-01-09 12:00:00+0200 (SV only)

    weight
    integer (optional) 

    (SV only)

    keyResults
    array (optional) 

    array of objective-key-results (SV only)

    progress
    float (optional) 

    progressSupervisee/progressSupervisor, depending on user

    type
    string (optional) 

    The type of the progress. Can be ‘bool’ or ‘float’

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "title": "The objective title has changed",
      "keyResults": [
        {
          "title": "A new key result"
        }
      ],
      "deadline": "2015-06-20",
      "weight": 0.75
    }
    

    Example:

    PATCH : /objectives/{id}

    • curl https://api.loopline-systems.com/objectives/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "title": "The objective title has changed", "keyResults": [ { "title": "A new key result" } ], "deadline": "2015-06-20", "weight": 0.75 }'
  • Body
    {
      "user": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:20+0000",
        "createdAt": "2015-06-18T08:26:16+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "createdBy": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:26+0000",
        "createdAt": "2015-06-18T08:26:09+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "title": "The objective title has changed",
      "description": null,
      "keyResults": [
        {
          "title": "A new key result",
          "done": false,
          "id": 40,
          "createdAt": "2015-06-18T10:25:42+0000",
          "updatedAt": "2015-06-18T10:25:42+0000"
        }
      ],
      "deadline": "2015-06-20T00:00:00+0000",
      "weight": 0.75,
      "type": "bool",
      "progressSupervisee": 0,
      "progressSupervisor": 0,
      "overdue": false,
      "agreed": false,
      "deleted": false,
      "feedbackProcess": null,
      "editable": true,
      "owner": "supervisor",
      "id": 21,
      "createdAt": "2015-06-18T09:48:12+0000",
      "updatedAt": "2015-06-18T10:25:42+0000"
    }
    

    Returned when updated

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "keyResults": [
        {
          "title": "A new key result"
        }
      ]
    }
    

    Example:

    PATCH : /objectives/{id}

    • curl https://api.loopline-systems.com/objectives/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "keyResults": [ { "title": "A new key result" } ] }'
  • Body
    {
      "user": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:20+0000",
        "createdAt": "2015-06-18T08:26:16+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "createdBy": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:26+0000",
        "createdAt": "2015-06-18T08:26:09+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "title": "The objective title has changed",
      "description": null,
      "keyResults": [
        {
          "title": "A new key result",
          "done": false,
          "id": 40,
          "createdAt": "2015-06-18T10:25:42+0000",
          "updatedAt": "2015-06-18T10:25:42+0000"
        }
      ],
      "deadline": "2015-06-20T00:00:00+0000",
      "weight": 0.75,
      "type": "bool",
      "progressSupervisee": 0,
      "progressSupervisor": 0,
      "overdue": false,
      "agreed": false,
      "deleted": false,
      "feedbackProcess": null,
      "editable": true,
      "owner": "supervisor",
      "id": 21,
      "createdAt": "2015-06-18T09:48:12+0000",
      "updatedAt": "2015-06-18T10:25:42+0000"
    }
    

    Returned when updated

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "deadline": ""
    }
    

    Example:

    PATCH : /objectives/{id}

    • curl https://api.loopline-systems.com/objectives/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "deadline": "" }'
  • Body
    {
      "user": {
        "id": 3,
        "username": "catrina@loopline-systems.com",
        "firstname": "Catrina",
        "lastname": "Carnahan",
        "image": {
          "id": 3,
          "name": "de9dad172881d37ad0db22e83a451b97.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "catrina@loopline-systems.com",
        "position": "CFO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:20+0000",
        "createdAt": "2015-06-18T08:26:16+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "createdBy": {
        "id": 2,
        "username": "susann@loopline-systems.com",
        "firstname": "Susann",
        "lastname": "Riley",
        "image": {
          "id": 2,
          "name": "cee9262a8929dfe7584a98548f70f948.jpeg",
          "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg",
          "updatedAt": "2015-06-18T08:28:10+0000",
          "createdAt": "2015-06-18T08:28:10+0000"
        },
        "email": "susann@loopline-systems.com",
        "position": "CEO",
        "active": true,
        "updatedAt": "2015-06-18T08:28:26+0000",
        "createdAt": "2015-06-18T08:26:09+0000",
        "activatedAt": "18-06-2015",
        "deactivatedAt": null,
        "lastPasswordResetByAdmin": null
      },
      "title": "The objective title has changed",
      "description": null,
      "keyResults": [
        {
          "title": "A new key result",
          "done": false,
          "id": 40,
          "createdAt": "2015-06-18T10:25:42+0000",
          "updatedAt": "2015-06-18T10:25:42+0000"
        }
      ],
      "deadline": "2015-06-20T00:00:00+0000",
      "weight": 0.75,
      "type": "bool",
      "progressSupervisee": 0,
      "progressSupervisor": 0,
      "overdue": false,
      "agreed": false,
      "deleted": false,
      "feedbackProcess": null,
      "editable": true,
      "owner": "supervisor",
      "id": 21,
      "createdAt": "2015-06-18T09:48:12+0000",
      "updatedAt": "2015-06-18T10:25:42+0000"
    }
    

    Returned when updated

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when not found

Archive an objective by id
/objectives/user/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the objective to archive

  • Returned when deleted

  • Returned when not authenticated

  • Returned when objective does not exists

Objective Key Result 

Update an objective key result
/objectives/{id}/key-result/{keyResultId}

some properties might only be patched by SE or SV

  • Parameters
  • id
    integer (\d+) (required) 

    The id of the objective to update

    keyResultId
    integer (\d+) (required) 

    The id of the objective-key-result for a objective to update

    title
    string (optional) 

    title of the objective-key-result (SV only)

    done
    boolean (optional) 

    the done-status of the objective-key-result (SE only)

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "done": true
    }
    

    Example:

    PATCH : /objectives/{id}/key-result/{keyResultId}

    • curl https://api.loopline-systems.com/objectives/<id>/key-result/<keyResultId> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "done": true }'
  • Body
    {
      "title": "Secure Venue",
      "done": true,
      "id": 8
    }
    

    Returned when objective-key-result has been updated

  • Returned when the request content is malformed

  • Returned when not authenticated

  • Returned when not authorized

  • Returned when not found

Next  Previous

Department 

Department List 

Get all departments
/departments
  • Parameters
  • page
    integer (\d+) (optional) Default: 1 

    page number to display

    maxresults
    integer (\d+) (optional) Default: 25 

    results per page to display

    search
    string (\s+) (optional) 

    search term (OR)

    filter
    string (\s+) (optional) 

    filter type (all|department_orphan|has_feedback_period|has_no_feedback_period)

    sort
    string (\s+) (optional) 

    property to sort by

    sortOrder
    string (\s+) (optional) Default: ASC 

    sort order (ASC|DESC)

    excludeIds
    string (\s+) (optional) 

    comma separated list of IDs to exclude

    searchBy
    string (\s+) (optional) 

    comma separated list of search groups (defaults to “default”)

    include
    string (\s+) (optional) 

    comma separated list of what to include in response. See config request for options

    date
    string (\s+) (optional) 

    include date in the response

    children
    string (\s+) (optional) 

    include children in the response

    head
    string (\s+) (optional) 

    include head in the response

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /departments

    • curl https://api.loopline-systems.com/departments \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "sort": {
        "name": "name",
        "order": "ASC"
      },
      "filter": [],
      "pagination": {
        "count": 3,
        "currentPage": 1,
        "maxPerPage": 25,
        "hasNextPage": false,
        "hasPreviousPage": false,
        "haveToPaginate": false,
        "getCurrentPageOffsetEnd": 3,
        "getCurrentPageOffsetStart": 1,
        "getNbPages": 1
      },
      "results": [
        {
          "name": "Sales",
          "id": 1,
          "createdAt": "2015-08-10T08:47:59+0000",
          "updatedAt": "2015-08-10T08:47:59+0000"
        },
        {
          "name": "I.T.",
          "id": 2,
          "createdAt": "2015-08-10T09:02:13+0000",
          "updatedAt": "2015-08-10T09:02:13+0000"
        },
        {
          "name": "H.R.",
          "id": 3,
          "createdAt": "2015-08-10T09:03:06+0000",
          "updatedAt": "2015-08-10T09:03:06+0000"
        }
      ]
    }
    

    Returned when successful

  • Returned when not authenticated

Department 

Get a single department
/departments/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /departments/{id}

    • curl https://api.loopline-systems.com/departments/<id> \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "name": "Sales",
      "id": 1,
      "createdAt": "2015-08-10T08:47:59+0000",
      "updatedAt": "2015-08-10T08:47:59+0000"
    }
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not found

Add a new department
/departments/{id}
  • Parameters
  • name
    string (\s+) (required) 

    The name of the department

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "name":"Sales"
    }
    

    Example:

    POST : /departments

    • curl https://api.loopline-systems.com/departments \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "name":"Sales" }'
  • Body
    {
      "name": "Sales",
      "id": 1,
      "createdAt": "2015-08-10T09:02:13+0000",
      "updatedAt": "2015-08-10T09:02:13+0000"
    }
    

    Returned when successful

  • Returned when request does not contain required data

  • Returned when not authenticated

Update basic department information
/departments/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

    name
    string (\s+) (required) 

    The name of the department

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "name":"Sales"
    }
    

    Example:

    PATCH : /departments/{id}

    • curl https://api.loopline-systems.com/departments/<id> \
      -X PATCH \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "name":"Sales" }'
  • Body
    {
      "name": "Sales",
      "id": 1,
      "createdAt": "2015-08-10T09:02:13+0000",
      "updatedAt": "2015-08-10T09:02:43+0000"
    }
    

    Returned when successful

  • Returned when request contains bad data

  • Returned when not authenticated

  • Returned when not found

Delete a department and its children
/departments/{id}
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

  • Returned when successful

  • Returned when not authenticated

  • Returned when not found

User Department 

Get a users department
/users/{id}/department
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the user

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /users/{id}/department

    • curl https://api.loopline-systems.com/users/<id>/department \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "name": "Sales",
      "id": 1,
      "createdAt": "2015-08-10T08:47:59+0000",
      "updatedAt": "2015-08-10T08:47:59+0000"
    }
    

    Returned when successful

  • Returned when not authenticated

  • Returned when not found

Department Tree 

Get a tree starting with all root departments and their children
/department-tree
  • Returned when successful

  • Returned when not authenticated

  • Returned when not found

Department Member List 

Get all department members
/departments/{id}/members
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

    direct
    bool (optional) 

    If true will exclude members of child departments

    page
    integer (\d+) (optional) Default: 1 

    page number to display

    maxresults
    integer (\d+) (optional) Default: 25 

    results per page to display

    search
    string (\s+) (optional) 

    search term (OR)

    filter
    string (\s+) (optional) 

    filter type (all|users_active|users_admin|users_can_be_supervisor|users_non_active|users_without_supervisor|users_no_position|users_pending|users_pending_without_invitation|have_individual_feedback_period|have_no_individual_feedback_period)

    sort
    string (\s+) (optional) 

    property to sort by

    sortOrder
    string (\s+) (optional) Default: ASC 

    sort order (ASC|DESC)

    excludeIds
    string (\s+) (optional) 

    comma separated list of IDs to exclude

    searchBy
    string (\s+) (optional) 

    comma separated list of search groups (defaults to “default”)

    include
    string (\s+) (optional) 

    comma separated list of what to include in response. See config request for options

    team
    string (\s+) (optional) 

    include team in the response

    department
    string (\s+) (optional) 

    include department in the response

    supervisor
    string (\s+) (optional) 

    include supervisor in the response

    tos
    string (\s+) (optional) 

    include tos in the response

    active_stats
    string (\s+) (optional) 

    include active stats in the response

    roles
    string (\s+) (optional) 

    include roles in the response

    createdAfter
    date (optional) 

    Return users created after (and including) this date

    createdBefore
    date (optional) 

    Return users created before (and including) this date

    supervisorId
    int (optional) 

    Filter users based on their supervisor

    includeDownstream
    bool (optional) 

    If you set a supervisor do you want also include their downstream

    departmentId
    int (optional) 

    Filter users based on their department

    departmentDirect
    bool (optional) 

    If true will exclude members of child departments (will not work for historic data)

    superviseeDepartmentMemberships
    bool (optional) 

    If true will include supervisees’ department memberships (will not work for historic data)

    activeFeedbackPeriodConfigId
    int (optional) 

    Filter users based on their active feedback period

    feedbackStatus
    string (ongoing|prepared|completed|deactivated) (optional) 

    Filter by feedback status: ongoing|prepared|completed|deactivated

    teamId
    int (optional) 

    Filter users based on their team

    superviseeTeamMemberships
    bool (optional) 

    If true will include supervisees’ team memberships (will not work for historic data)

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /departments/{id}/members

    • curl https://api.loopline-systems.com/departments/<id>/members \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "sort": {
        "name": "firstname",
        "order": "ASC"
      },
      "filter": [],
      "pagination": {
        "count": 3,
        "currentPage": 1,
        "maxPerPage": 25,
        "hasNextPage": false,
        "hasPreviousPage": false,
        "haveToPaginate": false,
        "getCurrentPageOffsetEnd": 3,
        "getCurrentPageOffsetStart": 1,
        "getNbPages": 1
      },
      "results": [
        {
          "id": 3,
          "username": "catrina@loopline-systems.com",
          "firstname": "Catrina",
          "lastname": "Carnahan",
          "image": {
            "id": 3,
            "webPath": "http://static.helen.dev/local/3147f5cc6809cba59e4a7a5a01ce4cbe.jpeg"
          },
          "email": "catrina@loopline-systems.com",
          "position": "CFO",
          "active": true,
          "activatedAt": "01-07-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        {
          "id": 5,
          "username": "demo+Graig.Greening@loopline-systems.com",
          "firstname": "Graig",
          "lastname": "Greening",
          "image": {
            "id": 5,
            "webPath": "http://static.helen.dev/local/8696b99663329245f3a7fac73a53352b.jpeg"
          },
          "email": "demo+Graig.Greening@loopline-systems.com",
          "position": "Head of Sales",
          "active": true,
          "activatedAt": "01-07-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        },
        {
          "id": 4,
          "username": "demo+Lucas.Mancini@loopline-systems.com",
          "firstname": "Lucas",
          "lastname": "Mancini",
          "image": {
            "id": 4,
            "webPath": "http://static.helen.dev/local/bb4b08d9a3fb6f1f203e4964a23ccedc.jpeg"
          },
          "email": "demo+Lucas.Mancini@loopline-systems.com",
          "position": "CTO",
          "active": true,
          "activatedAt": "01-07-2015",
          "deactivatedAt": null,
          "lastPasswordResetByAdmin": null
        }
      ]
    }
    

    Returned when successful

  • Returned when not authenticated

Department Member 

Add a user to a department
/departments/{department_id}/members/{user_id}
  • Parameters
  • department_id
    integer (\d+) (required) 

    The id of the department

    user_id
    integer (\d+) (required) 

    The id of the user to be added

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>
    Content-Type: application/json
    Body
    {
      "id":"3"
    }
    

    Example:

    POST : /departments/{department_id}/members/{user_id}

    • curl https://api.loopline-systems.com/departments/<department_id>/members/<user_id> \
      -X POST \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{ "id":"3" }'
  • Returned when successful

  • Returned when request does not contain required data

  • Returned when not authenticated

Remove a user from a department
/departments/{department_id}/members/{user_id}
  • Parameters
  • department_id
    integer (\d+) (required) 

    The id of the department

    user_id
    integer (\d+) (required) 

    The id of the member to be removed

  • Returned when successful

  • Returned when not authenticated

Department Relation Adding 

Set the parent department for a department
/departments/{child_id}/parent/{parent_id}
  • Parameters
  • child_id
    integer (\d+) (required) 

    The id of the child department

    parent_id
    integer (\d+) (required) 

    The id of the parent department for the child

  • Returned when successful

  • Returned when not authenticated

Department Relation Removal 

Remove the parent link for a department
/departments/{id}/parent
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the child department

  • Returned when successful

  • Returned when not authenticated

Department Children 

Get all children / descendants of a department
/departments/{id}/children
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

    direct
    bool (optional) 

    If true will exclude members of child departments

    page
    integer (\d+) (optional) Default: 1 

    page number to display

    maxresults
    integer (\d+) (optional) Default: 25 

    results per page to display

    search
    string (\s+) (optional) 

    search term (OR)

    filter
    string (\s+) (optional) 

    filter type (all|department_orphan|has_feedback_period|has_no_feedback_period)

    sort
    string (\s+) (optional) 

    property to sort by

    sortOrder
    string (\s+) (optional) Default: ASC 

    sort order (ASC|DESC)

    excludeIds
    string (\s+) (optional) 

    comma separated list of IDs to exclude

    searchBy
    string (\s+) (optional) 

    comma separated list of search groups (defaults to “default”)

    include
    string (\s+) (optional) 

    comma separated list of what to include in response. See config request for options

    date
    string (\s+) (optional) 

    include date in the response

    children
    string (\s+) (optional) 

    include children in the response

    head
    string (\s+) (optional) 

    include head in the response

  • Headers
    X-Loopline-Client: <CLIENT_ID>
    X-Api-Key: <API_KEY>

    Example:

    GET : /departments/{id}/children

    • curl https://api.loopline-systems.com/departments/<id>/children \
      -X GET \
      -H "X-Loopline-Client: <CLIENT_ID>" \
      -H "X-Api-Key: <API_KEY>"
  • Body
    {
      "sort": {
        "name": "name",
        "order": "ASC"
      },
      "filter": [],
      "pagination": {
        "count": 4,
        "currentPage": 1,
        "maxPerPage": 25,
        "hasNextPage": false,
        "hasPreviousPage": false,
        "haveToPaginate": false,
        "getCurrentPageOffsetEnd": 4,
        "getCurrentPageOffsetStart": 1,
        "getNbPages": 1
      },
      "results": [
        {
          "name": "London I.T. Backend",
          "description": null,
          "id": 4
        },
        {
          "name": "London I.T. Backend PHP",
          "description": null,
          "id": 6
        },
        {
          "name": "London I.T. Backend Python",
          "description": null,
          "id": 7
        },
        {
          "name": "London I.T. Frontend",
          "description": null,
          "id": 5
        }
      ]
    }
    

    Returned when successful

  • Returned when not authenticated

Department Head 

Set the head of a department
/departments/{department_id}/head/{head_id}
  • Parameters
  • department_id
    integer (\d+) (required) 

    The id of the department

    head_id
    integer (\d+) (required) 

    The id of the new department head

  • Returned when successful

  • Returned when not authenticated

Department Head Removal 

Remove the head of a department
/departments/{id}/head
  • Parameters
  • id
    integer (\d+) (required) 

    The id of the department

  • Returned when successful

  • Returned when not authenticated

Previous