@teamleader/focus-api-specification 1.169.0 → 1.170.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ info:
3
3
  title: Teamleader API
4
4
  description: This is the documentation of the Teamleader Focus API. If you have any feedback, or are you missing functionality to support your use case? Let us know via [api@teamleader.eu](mailto:api@teamleader.eu).
5
5
  contact: {}
6
- version: 1.169.0
6
+ version: 1.170.0
7
7
  servers:
8
8
  - url: https://api.focus.teamleader.eu
9
9
  variables: {}
@@ -723,7 +723,10 @@ paths:
723
723
  tags:
724
724
  - users
725
725
  summary: users.getWeekSchedule
726
- description: Returns information about week schedule of a user. Only available with the *Weekly working schedule* feature.
726
+ description: |-
727
+ Returns information about week schedule of a user. Only available with the *Weekly working schedule* feature.
728
+
729
+ **Deprecated:** use `userSchedules.list` instead, which returns the working schedules of multiple users expanded per day over a date range.
727
730
  operationId: users.getWeekSchedule
728
731
  parameters: []
729
732
  requestBody:
@@ -767,6 +770,122 @@ paths:
767
770
  end:
768
771
  day: monday
769
772
  time: '17:00'
773
+ deprecated: true
774
+ /userSchedules.list:
775
+ post:
776
+ tags:
777
+ - users
778
+ summary: userSchedules.list
779
+ description: Returns the working schedules of one or more users, expanded per day over a date range of at most 7 days. Only available with the *Weekly working schedule* feature.
780
+ operationId: userSchedules.list
781
+ parameters: []
782
+ requestBody:
783
+ description: ''
784
+ content:
785
+ application/json:
786
+ schema:
787
+ allOf:
788
+ - $ref: '#/components/schemas/userSchedules.list.request'
789
+ - example:
790
+ filter:
791
+ user_ids:
792
+ - 87982c96-f2fe-4b05-838c-ff42c0525758
793
+ - b5094b3f-bb7a-0391-b01b-e709773f3509
794
+ from: '2026-06-01'
795
+ until: '2026-06-07'
796
+ page:
797
+ size: 20
798
+ number: 1
799
+ example:
800
+ filter:
801
+ user_ids:
802
+ - 87982c96-f2fe-4b05-838c-ff42c0525758
803
+ - b5094b3f-bb7a-0391-b01b-e709773f3509
804
+ from: '2026-06-01'
805
+ until: '2026-06-07'
806
+ page:
807
+ size: 20
808
+ number: 1
809
+ required: true
810
+ responses:
811
+ '200':
812
+ description: ''
813
+ headers: {}
814
+ content:
815
+ application/json:
816
+ schema:
817
+ allOf:
818
+ - $ref: '#/components/schemas/userSchedules.list.response'
819
+ - example:
820
+ data:
821
+ - user:
822
+ type: user
823
+ id: 87982c96-f2fe-4b05-838c-ff42c0525758
824
+ schedule:
825
+ - date: '2026-06-01'
826
+ periods:
827
+ - type: working_hours
828
+ start:
829
+ time: '09:00'
830
+ end:
831
+ time: '12:00'
832
+ - type: lunch_break
833
+ start:
834
+ time: '12:00'
835
+ end:
836
+ time: '13:00'
837
+ - type: working_hours
838
+ start:
839
+ time: '13:00'
840
+ end:
841
+ time: '17:00'
842
+ - date: '2026-06-02'
843
+ periods:
844
+ - type: working_hours
845
+ start:
846
+ time: '09:00'
847
+ end:
848
+ time: '17:00'
849
+ meta:
850
+ page:
851
+ size: 20
852
+ number: 1
853
+ matches: 2
854
+ example:
855
+ data:
856
+ - user:
857
+ type: user
858
+ id: 87982c96-f2fe-4b05-838c-ff42c0525758
859
+ schedule:
860
+ - date: '2026-06-01'
861
+ periods:
862
+ - type: working_hours
863
+ start:
864
+ time: '09:00'
865
+ end:
866
+ time: '12:00'
867
+ - type: lunch_break
868
+ start:
869
+ time: '12:00'
870
+ end:
871
+ time: '13:00'
872
+ - type: working_hours
873
+ start:
874
+ time: '13:00'
875
+ end:
876
+ time: '17:00'
877
+ - date: '2026-06-02'
878
+ periods:
879
+ - type: working_hours
880
+ start:
881
+ time: '09:00'
882
+ end:
883
+ time: '17:00'
884
+ meta:
885
+ page:
886
+ size: 20
887
+ number: 1
888
+ matches: 2
770
889
  deprecated: false
771
890
  /teams.list:
772
891
  post:
@@ -17578,6 +17697,93 @@ components:
17578
17697
  description: The time of day in 24-hour hh:mm format. The time will be reported in the user's time zone.
17579
17698
  example: '17:00'
17580
17699
  description: ''
17700
+ userSchedules.list.request:
17701
+ title: userSchedules.list.request
17702
+ required:
17703
+ - filter
17704
+ type: object
17705
+ properties:
17706
+ filter:
17707
+ type: object
17708
+ required:
17709
+ - user_ids
17710
+ - from
17711
+ - until
17712
+ properties:
17713
+ user_ids:
17714
+ type: array
17715
+ items:
17716
+ type: string
17717
+ example: 87982c96-f2fe-4b05-838c-ff42c0525758
17718
+ description: The users for which to return working schedules.
17719
+ from:
17720
+ type: string
17721
+ description: Start of the date range (inclusive) in `YYYY-MM-DD` format.
17722
+ example: '2026-06-01'
17723
+ until:
17724
+ type: string
17725
+ description: End of the date range (inclusive) in `YYYY-MM-DD` format. Must be on or after `from`, and the range may span at most 7 days.
17726
+ example: '2026-06-07'
17727
+ page:
17728
+ $ref: '#/components/schemas/Page'
17729
+ userSchedules.list.response:
17730
+ title: userSchedules.list.response
17731
+ type: object
17732
+ properties:
17733
+ data:
17734
+ type: array
17735
+ items:
17736
+ type: object
17737
+ properties:
17738
+ user:
17739
+ allOf:
17740
+ - $ref: '#/components/schemas/TypeAndId'
17741
+ - properties:
17742
+ type:
17743
+ type: string
17744
+ enum:
17745
+ - user
17746
+ example: user
17747
+ schedule:
17748
+ type: array
17749
+ items:
17750
+ type: object
17751
+ properties:
17752
+ date:
17753
+ type: string
17754
+ description: The day in `YYYY-MM-DD` format.
17755
+ example: '2026-06-01'
17756
+ periods:
17757
+ type: array
17758
+ items:
17759
+ type: object
17760
+ properties:
17761
+ type:
17762
+ type: string
17763
+ enum:
17764
+ - working_hours
17765
+ - lunch_break
17766
+ example: working_hours
17767
+ start:
17768
+ type: object
17769
+ properties:
17770
+ time:
17771
+ type: string
17772
+ description: The time of day in 24-hour hh:mm format. The time will be reported in the user's time zone.
17773
+ example: '09:00'
17774
+ end:
17775
+ type: object
17776
+ properties:
17777
+ time:
17778
+ type: string
17779
+ description: The time of day in 24-hour hh:mm format. The time will be reported in the user's time zone.
17780
+ example: '17:00'
17781
+ description: The working schedule expanded per day over the requested range. Non-working days are omitted.
17782
+ description: ''
17783
+ meta:
17784
+ allOf:
17785
+ - $ref: '#/components/schemas/Meta'
17786
+ - description: Only included with request parameter `includes=pagination`
17581
17787
  teams.list.request:
17582
17788
  title: teams.list.request
17583
17789
  type: object
@@ -0,0 +1,5 @@
1
+ ---
2
+ category: addition
3
+ ---
4
+
5
+ We added the `userSchedules.list` endpoint, which returns the working schedules of multiple users expanded per day over a date range. The `users.getWeekSchedule` endpoint is still supported, but deprecated in favour of `userSchedules.list`.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@teamleader/focus-api-specification",
3
3
  "description": "Teamleader Focus API Specification",
4
- "version": "1.169.0",
4
+ "version": "1.170.0",
5
5
  "author": "Teamleader <development@teamleader.eu> (https://www.teamleader.eu)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/teamleadercrm/focus-api-specification/issues"