basecamp-sdk 0.24.0 → 0.25.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f300a3079488142de429c2df9e1abe31178cfa71ce8dbaddbf98d1d6b641c977
4
- data.tar.gz: c277cb71684ca7ee5e60c165a79be00bd3ae123401295ae09f2be5dc072875b2
3
+ metadata.gz: 7713550a3bc2d6b5dd732e3bdadb679d5016316e9f4004677c028a30daa65371
4
+ data.tar.gz: 71b74a2b499c484f245669d9b317df4f826c799f2d2bbda0cce140a75b22884f
5
5
  SHA512:
6
- metadata.gz: 5c609aa069c11cc436de1d503cc165fca51bebad3f10024b81dd3a4b9774b96f14e1fe8b9c6bf3171ef6a38dd22584acca22fac2ea028c4eec6361ce4b17fdf9
7
- data.tar.gz: 90662d68fa6fe592b284ec2767f21a59bd8d94571958e96cb7df50ce2aeb4e8c80daf26aa7afafd7551e66715e7ba938b8d22b103756aa3931ac74f1fe61d0ec
6
+ metadata.gz: a5f430f32c8ef3e13f0b3690ec31223bc942f06bc907708fe33fbfa84b99a86dcfe56a2734ef0e8224f5cfdfdc41ce4c28703e8321c6ba88330bba4bedf775f0
7
+ data.tar.gz: 834ea9c748c9d64ce67089e765875bf8c6c56a52ce0d895629b1c02f4d6e2acbdcb63b566a563c19823ce1c3199016b02fba3c92136bbbd5cb67cf6d950a0744
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://basecamp.com/schemas/sdk-metadata.json",
3
3
  "version": "1.0.0",
4
- "generated": "2026-10-05T19:11:15Z",
4
+ "generated": "2026-10-15T16:04:42Z",
5
5
  "operations": {
6
6
  "GetAccount": {
7
7
  "retry": {
@@ -48,7 +48,7 @@ module Basecamp
48
48
  end
49
49
  end
50
50
 
51
- # List boosts on a specific event within a recording
51
+ # List boosts on a specific event within a recording. Only boostable events carry boosts: those whose action is completed, adopted, column_changed or moved_in (their JSON includes boosts_count and boosts_url). Any other event answers 403 Forbidden; an event on a recording the person cannot see answers 404.
52
52
  # @param recording_id [Integer] recording id ID
53
53
  # @param event_id [Integer] event id ID
54
54
  # @param page [Integer, nil] Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8.
@@ -61,7 +61,7 @@ module Basecamp
61
61
  end
62
62
  end
63
63
 
64
- # Create a boost on a specific event within a recording
64
+ # Create a boost on a specific event within a recording. Only boostable events accept one: those whose action is completed, adopted, column_changed or moved_in (their JSON includes boosts_count and boosts_url). Any other event answers 403 Forbidden, as does an event on a recording whose comments are closed; an event on a recording the person cannot see answers 404.
65
65
  # @param recording_id [Integer] recording id ID
66
66
  # @param event_id [Integer] event id ID
67
67
  # @param content [String] content
@@ -89,11 +89,14 @@ module Basecamp
89
89
  end
90
90
  end
91
91
 
92
- # Move a column within a card table
92
+ # Move a column to a slot within its card table. target_id is the card table's own id (the same as cardTableId), not a column; position is the 1-based slot among the columns, not counting Triage, Not Now or Done.
93
93
  # @param card_table_id [Integer] card table id ID
94
- # @param source_id [Integer] source id
95
- # @param target_id [Integer] target id
96
- # @param position [Integer, nil] position
94
+ # @param source_id [Integer] The column to move.
95
+ # @param target_id [Integer] The card table the column moves within: the same id as `cardTableId`.
96
+ # Basecamp refuses any other destination, a column included, with 422.
97
+ # @param position [Integer, nil] 1-based slot among the card table's columns, not counting Triage,
98
+ # Not Now or Done. 1 puts the column first; a slot past the last puts it
99
+ # last. Default: 1.
97
100
  # @return [void]
98
101
  def move(card_table_id:, source_id:, target_id:, position: nil)
99
102
  with_operation(service: "cardcolumns", operation: "move", is_mutation: true, resource_id: card_table_id) do
@@ -81,15 +81,14 @@ module Basecamp
81
81
  end
82
82
  end
83
83
 
84
- # Update an existing question
84
+ # Update an existing question's title, schedule or both. A schedule replaces the whole schedule, so send every part of it: one without frequency or time_of_day is refused, and one without start_date re-anchors the recurrence on today. Pausing and resuming are PauseQuestion and ResumeQuestion.
85
85
  # @param question_id [Integer] question id ID
86
- # @param title [String, nil] title
86
+ # @param title [String, nil] The question text. An update carries a title, a schedule or both.
87
87
  # @param schedule [Hash, nil] schedule
88
- # @param paused [Boolean, nil] paused
89
88
  # @return [Hash] response data
90
- def update_question(question_id:, title: nil, schedule: nil, paused: nil)
89
+ def update_question(question_id:, title: nil, schedule: nil)
91
90
  with_operation(service: "checkins", operation: "update_question", is_mutation: true, resource_id: question_id) do
92
- http_put("/questions/#{question_id}", body: compact_params(title: title, schedule: schedule, paused: paused)).json(operation: "UpdateQuestion")
91
+ http_put("/questions/#{question_id}", body: compact_params(title: title, schedule: schedule)).json(operation: "UpdateQuestion")
93
92
  end
94
93
  end
95
94
 
@@ -15,26 +15,24 @@ module Basecamp
15
15
  end
16
16
  end
17
17
 
18
- # Create a new lineup marker
18
+ # Create a new lineup marker. Returns the created marker.
19
19
  # @param name [String] name
20
20
  # @param date [String] date
21
- # @return [void]
21
+ # @return [Hash] response data
22
22
  def create(name:, date:)
23
23
  with_operation(service: "lineup", operation: "create", is_mutation: true) do
24
- http_post("/lineup/markers.json", body: compact_params(name: name, date: date))
25
- nil
24
+ http_post("/lineup/markers.json", body: compact_params(name: name, date: date)).json(operation: "CreateLineupMarker")
26
25
  end
27
26
  end
28
27
 
29
- # Update an existing lineup marker
28
+ # Update an existing lineup marker. Returns the updated marker.
30
29
  # @param marker_id [Integer] marker id ID
31
30
  # @param name [String, nil] name
32
31
  # @param date [String, nil] date
33
- # @return [void]
32
+ # @return [Hash] response data
34
33
  def update(marker_id:, name: nil, date: nil)
35
34
  with_operation(service: "lineup", operation: "update", is_mutation: true, resource_id: marker_id) do
36
- http_put("/lineup/markers/#{marker_id}", body: compact_params(name: name, date: date))
37
- nil
35
+ http_put("/lineup/markers/#{marker_id}", body: compact_params(name: name, date: date)).json(operation: "UpdateLineupMarker")
38
36
  end
39
37
  end
40
38
 
@@ -7,7 +7,7 @@ module Basecamp
7
7
  # @generated from OpenAPI spec
8
8
  class MyNotificationsService < BaseService
9
9
 
10
- # Get the current user's notification inbox (the "Hey!" menu).
10
+ # Get the current user's notifications (the "Hey!" menu in Basecamp 4).
11
11
  # @param page [Integer, nil] Page number for paginating through read items. Defaults to 1. This
12
12
  # operation is not auto-paginated in any SDK, so a page is returned as
13
13
  # asked for and later pages are not followed.
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Auto-generated from OpenAPI spec. Do not edit manually.
4
- # Generated: 2026-10-05T19:11:15Z
4
+ # Generated: 2026-10-15T16:04:42Z
5
5
 
6
6
  require "json"
7
7
  require "time"
@@ -3299,7 +3299,7 @@ module Basecamp
3299
3299
  include TypeHelpers
3300
3300
  # @!attribute [rw] clientside
3301
3301
  # @deprecated This shape is deprecated since 2024-01: Use Client Visibility feature instead
3302
- attr_accessor :app_url, :created_at, :id, :name, :status, :updated_at, :url, :bookmark_url, :bookmarked, :client_company, :clients_enabled, :clientside, :description, :dock, :end_date, :purpose, :star_url, :starred, :start_date
3302
+ attr_accessor :app_url, :created_at, :id, :name, :status, :updated_at, :url, :bookmark_url, :bookmarked, :client_company, :clients_enabled, :clientside, :description, :dock, :end_date, :purpose, :star_url, :starred, :start_date, :timesheet_enabled
3303
3303
 
3304
3304
  # @return [Array<Symbol>]
3305
3305
  def self.required_fields
@@ -3326,6 +3326,7 @@ module Basecamp
3326
3326
  @star_url = data["star_url"]
3327
3327
  @starred = parse_boolean(data["starred"])
3328
3328
  @start_date = data["start_date"]
3329
+ @timesheet_enabled = parse_boolean(data["timesheet_enabled"])
3329
3330
  end
3330
3331
 
3331
3332
  def to_h
@@ -3349,6 +3350,7 @@ module Basecamp
3349
3350
  "star_url" => @star_url,
3350
3351
  "starred" => @starred,
3351
3352
  "start_date" => @start_date,
3353
+ "timesheet_enabled" => @timesheet_enabled,
3352
3354
  }.compact
3353
3355
  end
3354
3356
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Basecamp
4
- VERSION = "0.24.0"
4
+ VERSION = "0.25.0"
5
5
  API_VERSION = "2026-09-15"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basecamp-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Basecamp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-07 00:00:00.000000000 Z
11
+ date: 2026-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday