Leapsome Groups API
Operations on groups belonging to an organization
Documentation
Documentation
https://api.leapsome.com/v1/api-docs/
Documentation
https://api.leapsome.com/scim/v1/api-docs/
Operations on groups belonging to an organization
openapi: 3.0.1
info:
version: 1.0.1
title: Leapsome absences Groups API
contact:
name: Support
url: https://leapsome.zendesk.com
description: The Content API enables you to export some raw data from Leapsome for usage within your own systems and beyond what the Leapsome application offers natively. Usage is restricted to a maximum of 20 requests per second when making requests in parallel. If you exceed this limit, you will receive a 429 status code.
servers:
- url: https://api.leapsome.com/v1
tags:
- description: Operations on groups belonging to an organization
name: Groups
paths:
/Groups:
get:
description: Queries multiple group identities in the organization domain. Filtering is available and we return all results if none is given.
operationId: scimGetGroups
parameters:
- description: The filter parameter must be a properly formed SCIM filter using the operator "eq" (equals). The filter works for the "displayName".
in: query
name: filter
schema:
type: string
- schema:
type: integer
minimum: 0
maximum: 1000
in: query
name: count
description: The amount of elements you would like to get returned.
- schema:
type: integer
minimum: 1
in: query
name: startIndex
description: The offset (starts from 1, not 0) used to lookup elements. If you need to paginate, your next startIndex value would be "startIndex + count".
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
$ref: '#/components/schemas/GroupCollection'
'401':
description: Client is not sufficiently authorized
'403':
description: Invalid token passed
summary: Get Groups
tags:
- Groups
post:
description: 'Creates a new organization group and adds it to the user domain.
Member groups and member users must be in the organization.
'
operationId: createGroup
requestBody:
description: The details of the group to create
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GroupDefinition'
responses:
'201':
description: The group has been created
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: 'Possible reasons are:
- The displayName field is not set
- The displayName field is malformed
'
'401':
description: Client is not sufficiently authorized
'403':
description: Invalid token passed
'409':
description: The displayName is already in use within the organization
summary: Create Group
tags:
- Groups
/Groups/{groupId}:
get:
description: Queries group details in the organization domain. If the provided id does not match a leapsome group's id in your organization, we try if we find a group with an externalId like that as fallback.
operationId: getGroup
parameters:
- $ref: '#/components/parameters/groupId'
responses:
'200':
description: Return the group's details
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: No groupId provided
'401':
description: Client is not sufficiently authorized or group does not exist in organization
'403':
description: Invalid token passed
'404':
description: Not Found
summary: Get Group
tags:
- Groups
patch:
description: 'Updates one or more values of an existing group without sending the full definition. For members you need to send the complete list of all members. Member groups and member users must be in the organization.
'
operationId: updateGroup
parameters:
- $ref: '#/components/parameters/groupId'
requestBody:
description: The group data to update. It is allowed to update one or more values of the group definition
required: true
content:
application/json:
schema:
type: object
properties:
displayName:
type: string
description: The name of the group
externalId:
type: string
description: The id of the group in an external system
replaceMembers:
type: boolean
default: false
description: By default, only new members are added. If this value is set to true, all existing team members will be REMOVED from the group and only the newly provided members are added again.
members:
type: array
items:
$ref: '#/components/schemas/Member'
responses:
'200':
description: The group has been updated
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: 'Possible reasons are:
- The displayName field is not set
- The displayName field is malformed
- The displayName field exceeds 128 characters
- The members array exceeds 100 elements
- No groupId provided'
'401':
description: Client is not sufficiently authorized or group does not exist in organization
'403':
description: Invalid token passed
'409':
description: The displayName is already in use within the organization
summary: Update Group
tags:
- Groups
components:
schemas:
Member:
description: A member of a group. This can be a group or an user
type: object
properties:
value:
description: The Leapsome ID of a user
type: string
GroupCollection:
description: Class describing a collection of groups
type: object
properties:
Resources:
description: An array of groups
type: array
items:
$ref: '#/components/schemas/Group'
totalResults:
description: The number of groups in the collection
format: int64
type: integer
itemsPerPage:
type: integer
startIndex:
type: integer
schemas:
type: array
items:
type: string
Group:
description: Describes a group belonging to an organization
type: object
properties:
id:
description: The group's unique id
type: string
displayName:
description: The group's display name
type: string
members:
type: array
description: An array of members
maxItems: 0
items:
$ref: '#/components/schemas/Member'
meta:
$ref: '#/components/schemas/GroupMetadata'
schemas:
type: array
items:
type: string
externalId:
type: string
description: A groups id in an external system
required:
- id
- displayName
GroupDefinition:
description: Describes the group to create
type: object
properties:
displayName:
description: The group's display name
type: string
externalId:
type: string
description: The id of the group in an external system
required:
- displayName
GroupMetadata:
description: Group metadata
type: object
properties:
created:
description: The date and time the group was created
format: date-time
type: string
location:
description: A URI to get the group details through this API
type: string
lastModified:
type: string
format: date-time
description: Last modification date & time
version:
type: string
parameters:
groupId:
description: The key of the group to query. The group must be in the organization domain
in: path
name: groupId
required: true
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT