/* Stats API Documentation Official API for Major League Baseball. API version: 2.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package api import ( "bytes" "context" "io" "net/http" "net/url" "strings" ) // AnalyticsAPIService AnalyticsAPI service type AnalyticsAPIService service type ApiContextMetricsRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} guid interface{} fields *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiContextMetricsRequest) Fields(fields interface{}) ApiContextMetricsRequest { r.fields = &fields return r } func (r ApiContextMetricsRequest) Execute() (*http.Response, error) { return r.ApiService.ContextMetricsExecute(r) } /* ContextMetrics Get context metrics for a specific gamePk. Returns a json file containing raw coordinate data and refined calculated metrics.

This responses can be very large, so it is strongly recommended that you pass "Accept-Encoding: gzip" as a header to have the responses compressed. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @param guid Unique identifier for a play within a game @return ApiContextMetricsRequest */ func (a *AnalyticsAPIService) ContextMetrics(ctx context.Context, gamePk interface{}, guid interface{}) ApiContextMetricsRequest { return ApiContextMetricsRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, guid: guid, } } // Execute executes the request func (a *AnalyticsAPIService) ContextMetricsExecute(r ApiContextMetricsRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.ContextMetrics") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/{guid}/contextMetrics" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarPath = strings.Replace(localVarPath, "{"+"guid"+"}", url.PathEscape(parameterValueToString(r.guid, "guid")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiContextMetricsWithAveragesRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} guid interface{} fields *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiContextMetricsWithAveragesRequest) Fields(fields interface{}) ApiContextMetricsWithAveragesRequest { r.fields = &fields return r } func (r ApiContextMetricsWithAveragesRequest) Execute() (*http.Response, error) { return r.ApiService.ContextMetricsWithAveragesExecute(r) } /* ContextMetricsWithAverages Get a json file containing raw coordinate data and refined calculated metrics. Returns a json file containing raw coordinate data and refined calculated metrics.

This responses can be very large, so it is strongly recommended that you pass "Accept-Encoding: gzip" as a header to have the responses compressed. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @param guid Unique identifier for a play within a game @return ApiContextMetricsWithAveragesRequest */ func (a *AnalyticsAPIService) ContextMetricsWithAverages(ctx context.Context, gamePk interface{}, guid interface{}) ApiContextMetricsWithAveragesRequest { return ApiContextMetricsWithAveragesRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, guid: guid, } } // Execute executes the request func (a *AnalyticsAPIService) ContextMetricsWithAveragesExecute(r ApiContextMetricsWithAveragesRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.ContextMetricsWithAverages") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/{guid}/contextMetricsAverages" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarPath = strings.Replace(localVarPath, "{"+"guid"+"}", url.PathEscape(parameterValueToString(r.guid, "guid")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiContextMetricsWithAveragesPostRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} guid interface{} fields *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiContextMetricsWithAveragesPostRequest) Fields(fields interface{}) ApiContextMetricsWithAveragesPostRequest { r.fields = &fields return r } func (r ApiContextMetricsWithAveragesPostRequest) Execute() (*http.Response, error) { return r.ApiService.ContextMetricsWithAveragesPostExecute(r) } /* ContextMetricsWithAveragesPost Get a json file containing raw coordinate data and refined calculated metrics. Returns a json file containing raw coordinate data and refined calculated metrics.

This responses can be very large, so it is strongly recommended that you pass "Accept-Encoding: gzip" as a header to have the responses compressed. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @param guid Unique identifier for a play within a game @return ApiContextMetricsWithAveragesPostRequest */ func (a *AnalyticsAPIService) ContextMetricsWithAveragesPost(ctx context.Context, gamePk interface{}, guid interface{}) ApiContextMetricsWithAveragesPostRequest { return ApiContextMetricsWithAveragesPostRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, guid: guid, } } // Execute executes the request func (a *AnalyticsAPIService) ContextMetricsWithAveragesPostExecute(r ApiContextMetricsWithAveragesPostRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodPost localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.ContextMetricsWithAveragesPost") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/{guid}/contextMetricsAverages" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarPath = strings.Replace(localVarPath, "{"+"guid"+"}", url.PathEscape(parameterValueToString(r.guid, "guid")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiGameGuidsRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} fields *interface{} gameModeId *interface{} isPitch *interface{} isHit *interface{} isPickoff *interface{} hasUpdates *interface{} since *interface{} updatedSince *interface{} lastPlayTime *interface{} lastUpdatedTime *interface{} lastMetricsUpdatedTime *interface{} lastAuditUpdatedTime *interface{} lastVideoUpdatedTime *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiGameGuidsRequest) Fields(fields interface{}) ApiGameGuidsRequest { r.fields = &fields return r } // Statcast game mode. Format: 0 = Batting Practive, 1 = Warmup 2 = Live func (r ApiGameGuidsRequest) GameModeId(gameModeId interface{}) ApiGameGuidsRequest { r.gameModeId = &gameModeId return r } // If there was a pitch func (r ApiGameGuidsRequest) IsPitch(isPitch interface{}) ApiGameGuidsRequest { r.isPitch = &isPitch return r } // If there was a hit ball tracked func (r ApiGameGuidsRequest) IsHit(isHit interface{}) ApiGameGuidsRequest { r.isHit = &isHit return r } // If there was a pickoff func (r ApiGameGuidsRequest) IsPickoff(isPickoff interface{}) ApiGameGuidsRequest { r.isPickoff = &isPickoff return r } // True if updated by an auditor func (r ApiGameGuidsRequest) HasUpdates(hasUpdates interface{}) ApiGameGuidsRequest { r.hasUpdates = &hasUpdates return r } // Returns all data that was created after the specified timestamp. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) Since(since interface{}) ApiGameGuidsRequest { r.since = &since return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) UpdatedSince(updatedSince interface{}) ApiGameGuidsRequest { r.updatedSince = &updatedSince return r } // Returns all data that was created after the specified timestamp. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) LastPlayTime(lastPlayTime interface{}) ApiGameGuidsRequest { r.lastPlayTime = &lastPlayTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) LastUpdatedTime(lastUpdatedTime interface{}) ApiGameGuidsRequest { r.lastUpdatedTime = &lastUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) LastMetricsUpdatedTime(lastMetricsUpdatedTime interface{}) ApiGameGuidsRequest { r.lastMetricsUpdatedTime = &lastMetricsUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsRequest) LastAuditUpdatedTime(lastAuditUpdatedTime interface{}) ApiGameGuidsRequest { r.lastAuditUpdatedTime = &lastAuditUpdatedTime return r } // The last time SportyBot video was updated func (r ApiGameGuidsRequest) LastVideoUpdatedTime(lastVideoUpdatedTime interface{}) ApiGameGuidsRequest { r.lastVideoUpdatedTime = &lastVideoUpdatedTime return r } func (r ApiGameGuidsRequest) Execute() (*http.Response, error) { return r.ApiService.GameGuidsExecute(r) } /* GameGuids Get the GUIDs (plays) for a specific game. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @return ApiGameGuidsRequest */ func (a *AnalyticsAPIService) GameGuids(ctx context.Context, gamePk interface{}) ApiGameGuidsRequest { return ApiGameGuidsRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, } } // Execute executes the request func (a *AnalyticsAPIService) GameGuidsExecute(r ApiGameGuidsRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.GameGuids") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/guids" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } if r.gameModeId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameModeId", r.gameModeId, "", "") } if r.isPitch != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPitch", r.isPitch, "", "") } if r.isHit != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isHit", r.isHit, "", "") } if r.isPickoff != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPickoff", r.isPickoff, "", "") } if r.hasUpdates != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "hasUpdates", r.hasUpdates, "", "") } if r.since != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "since", r.since, "", "") } if r.updatedSince != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "updatedSince", r.updatedSince, "", "") } if r.lastPlayTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastPlayTime", r.lastPlayTime, "", "") } if r.lastUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastUpdatedTime", r.lastUpdatedTime, "", "") } if r.lastMetricsUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastMetricsUpdatedTime", r.lastMetricsUpdatedTime, "", "") } if r.lastAuditUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastAuditUpdatedTime", r.lastAuditUpdatedTime, "", "") } if r.lastVideoUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastVideoUpdatedTime", r.lastVideoUpdatedTime, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiGameGuidsFromPostgresRangeRequest struct { ctx context.Context ApiService *AnalyticsAPIService fields *interface{} gameModeId *interface{} isPitch *interface{} isHit *interface{} isPickoff *interface{} isNonStatcast *interface{} gamedayType *interface{} hasUpdates *interface{} lastPlayTime *interface{} lastUpdatedTime *interface{} lastMetricsUpdatedTime *interface{} lastAuditUpdatedTime *interface{} lastVideoUpdatedTime *interface{} gameDate *interface{} sportId *interface{} gameType *interface{} trackingSystemOwner *interface{} season *interface{} sortBy *interface{} limit *interface{} offset *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiGameGuidsFromPostgresRangeRequest) Fields(fields interface{}) ApiGameGuidsFromPostgresRangeRequest { r.fields = &fields return r } // Statcast game mode. Format: 0 = Batting Practive, 1 = Warmup 2 = Live func (r ApiGameGuidsFromPostgresRangeRequest) GameModeId(gameModeId interface{}) ApiGameGuidsFromPostgresRangeRequest { r.gameModeId = &gameModeId return r } // If there was a pitch func (r ApiGameGuidsFromPostgresRangeRequest) IsPitch(isPitch interface{}) ApiGameGuidsFromPostgresRangeRequest { r.isPitch = &isPitch return r } // If there was a hit ball tracked func (r ApiGameGuidsFromPostgresRangeRequest) IsHit(isHit interface{}) ApiGameGuidsFromPostgresRangeRequest { r.isHit = &isHit return r } // If there was a pickoff func (r ApiGameGuidsFromPostgresRangeRequest) IsPickoff(isPickoff interface{}) ApiGameGuidsFromPostgresRangeRequest { r.isPickoff = &isPickoff return r } // If non statcast games need to be included func (r ApiGameGuidsFromPostgresRangeRequest) IsNonStatcast(isNonStatcast interface{}) ApiGameGuidsFromPostgresRangeRequest { r.isNonStatcast = &isNonStatcast return r } // Indicates the level of Gameday (tracking, play-by-play, linescore, etc...) func (r ApiGameGuidsFromPostgresRangeRequest) GamedayType(gamedayType interface{}) ApiGameGuidsFromPostgresRangeRequest { r.gamedayType = &gamedayType return r } // True if updated by an auditor func (r ApiGameGuidsFromPostgresRangeRequest) HasUpdates(hasUpdates interface{}) ApiGameGuidsFromPostgresRangeRequest { r.hasUpdates = &hasUpdates return r } // Returns all data that was created after the specified timestamp. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeRequest) LastPlayTime(lastPlayTime interface{}) ApiGameGuidsFromPostgresRangeRequest { r.lastPlayTime = &lastPlayTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeRequest) LastUpdatedTime(lastUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeRequest { r.lastUpdatedTime = &lastUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeRequest) LastMetricsUpdatedTime(lastMetricsUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeRequest { r.lastMetricsUpdatedTime = &lastMetricsUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeRequest) LastAuditUpdatedTime(lastAuditUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeRequest { r.lastAuditUpdatedTime = &lastAuditUpdatedTime return r } // The last time SportyBot video was updated func (r ApiGameGuidsFromPostgresRangeRequest) LastVideoUpdatedTime(lastVideoUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeRequest { r.lastVideoUpdatedTime = &lastVideoUpdatedTime return r } // Date of Game. Format: YYYY-MM-DD func (r ApiGameGuidsFromPostgresRangeRequest) GameDate(gameDate interface{}) ApiGameGuidsFromPostgresRangeRequest { r.gameDate = &gameDate return r } // Top level organization of a sport func (r ApiGameGuidsFromPostgresRangeRequest) SportId(sportId interface{}) ApiGameGuidsFromPostgresRangeRequest { r.sportId = &sportId return r } // Type of Game. Available types in /api/v1/gameTypes func (r ApiGameGuidsFromPostgresRangeRequest) GameType(gameType interface{}) ApiGameGuidsFromPostgresRangeRequest { r.gameType = &gameType return r } // Owner of the tracking system func (r ApiGameGuidsFromPostgresRangeRequest) TrackingSystemOwner(trackingSystemOwner interface{}) ApiGameGuidsFromPostgresRangeRequest { r.trackingSystemOwner = &trackingSystemOwner return r } // Season of play func (r ApiGameGuidsFromPostgresRangeRequest) Season(season interface{}) ApiGameGuidsFromPostgresRangeRequest { r.season = &season return r } // Sort the set of data by the specified field func (r ApiGameGuidsFromPostgresRangeRequest) SortBy(sortBy interface{}) ApiGameGuidsFromPostgresRangeRequest { r.sortBy = &sortBy return r } // Number of results to return func (r ApiGameGuidsFromPostgresRangeRequest) Limit(limit interface{}) ApiGameGuidsFromPostgresRangeRequest { r.limit = &limit return r } // The pointer to start for a return set; used for pagination func (r ApiGameGuidsFromPostgresRangeRequest) Offset(offset interface{}) ApiGameGuidsFromPostgresRangeRequest { r.offset = &offset return r } func (r ApiGameGuidsFromPostgresRangeRequest) Execute() (*http.Response, error) { return r.ApiService.GameGuidsFromPostgresRangeExecute(r) } /* GameGuidsFromPostgresRange Get the GUIDs (plays) for a specific game. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiGameGuidsFromPostgresRangeRequest */ func (a *AnalyticsAPIService) GameGuidsFromPostgresRange(ctx context.Context) ApiGameGuidsFromPostgresRangeRequest { return ApiGameGuidsFromPostgresRangeRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request func (a *AnalyticsAPIService) GameGuidsFromPostgresRangeExecute(r ApiGameGuidsFromPostgresRangeRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.GameGuidsFromPostgresRange") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/analytics/guids" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } if r.gameModeId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameModeId", r.gameModeId, "", "") } if r.isPitch != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPitch", r.isPitch, "", "") } if r.isHit != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isHit", r.isHit, "", "") } if r.isPickoff != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPickoff", r.isPickoff, "", "") } if r.isNonStatcast != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isNonStatcast", r.isNonStatcast, "", "") } if r.gamedayType != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gamedayType", r.gamedayType, "", "") } if r.hasUpdates != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "hasUpdates", r.hasUpdates, "", "") } if r.lastPlayTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastPlayTime", r.lastPlayTime, "", "") } if r.lastUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastUpdatedTime", r.lastUpdatedTime, "", "") } if r.lastMetricsUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastMetricsUpdatedTime", r.lastMetricsUpdatedTime, "", "") } if r.lastAuditUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastAuditUpdatedTime", r.lastAuditUpdatedTime, "", "") } if r.lastVideoUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastVideoUpdatedTime", r.lastVideoUpdatedTime, "", "") } if r.gameDate != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameDate", r.gameDate, "", "") } if r.sportId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "sportId", r.sportId, "", "") } if r.gameType != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameType", r.gameType, "", "") } if r.trackingSystemOwner != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "trackingSystemOwner", r.trackingSystemOwner, "", "") } if r.season != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "season", r.season, "", "") } if r.sortBy != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "sortBy", r.sortBy, "", "") } if r.limit != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "") } if r.offset != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiGameGuidsFromPostgresRangeByGameRequest struct { ctx context.Context ApiService *AnalyticsAPIService fields *interface{} gameModeId *interface{} isPitch *interface{} isHit *interface{} isPickoff *interface{} isNonStatcast *interface{} gamedayType *interface{} hasUpdates *interface{} lastPlayTime *interface{} lastVideoUpdatedTime *interface{} lastUpdatedTime *interface{} lastMetricsUpdatedTime *interface{} lastAuditUpdatedTime *interface{} gameDate *interface{} sportId *interface{} gameType *interface{} season *interface{} trackingSystemOwner *interface{} sortBy *interface{} limit *interface{} offset *interface{} scheduleEventTypes *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiGameGuidsFromPostgresRangeByGameRequest) Fields(fields interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.fields = &fields return r } // Statcast game mode. Format: 0 = Batting Practive, 1 = Warmup 2 = Live func (r ApiGameGuidsFromPostgresRangeByGameRequest) GameModeId(gameModeId interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.gameModeId = &gameModeId return r } // If there was a pitch func (r ApiGameGuidsFromPostgresRangeByGameRequest) IsPitch(isPitch interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.isPitch = &isPitch return r } // If there was a hit ball tracked func (r ApiGameGuidsFromPostgresRangeByGameRequest) IsHit(isHit interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.isHit = &isHit return r } // If there was a pickoff func (r ApiGameGuidsFromPostgresRangeByGameRequest) IsPickoff(isPickoff interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.isPickoff = &isPickoff return r } // If non statcast games need to be included func (r ApiGameGuidsFromPostgresRangeByGameRequest) IsNonStatcast(isNonStatcast interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.isNonStatcast = &isNonStatcast return r } // Indicates the level of Gameday (tracking, play-by-play, linescore, etc...) func (r ApiGameGuidsFromPostgresRangeByGameRequest) GamedayType(gamedayType interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.gamedayType = &gamedayType return r } // True if updated by an auditor func (r ApiGameGuidsFromPostgresRangeByGameRequest) HasUpdates(hasUpdates interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.hasUpdates = &hasUpdates return r } // Returns all data that was created after the specified timestamp. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeByGameRequest) LastPlayTime(lastPlayTime interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.lastPlayTime = &lastPlayTime return r } // The last time SportyBot video was updated func (r ApiGameGuidsFromPostgresRangeByGameRequest) LastVideoUpdatedTime(lastVideoUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.lastVideoUpdatedTime = &lastVideoUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeByGameRequest) LastUpdatedTime(lastUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.lastUpdatedTime = &lastUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeByGameRequest) LastMetricsUpdatedTime(lastMetricsUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.lastMetricsUpdatedTime = &lastMetricsUpdatedTime return r } // Return data updated since a specified date. Format: YYYY-MM-DDTHH:MM:SSZ func (r ApiGameGuidsFromPostgresRangeByGameRequest) LastAuditUpdatedTime(lastAuditUpdatedTime interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.lastAuditUpdatedTime = &lastAuditUpdatedTime return r } // Date of Game. Format: YYYY-MM-DD func (r ApiGameGuidsFromPostgresRangeByGameRequest) GameDate(gameDate interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.gameDate = &gameDate return r } // Top level organization of a sport func (r ApiGameGuidsFromPostgresRangeByGameRequest) SportId(sportId interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.sportId = &sportId return r } // Type of Game. Available types in /api/v1/gameTypes func (r ApiGameGuidsFromPostgresRangeByGameRequest) GameType(gameType interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.gameType = &gameType return r } // Season of play func (r ApiGameGuidsFromPostgresRangeByGameRequest) Season(season interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.season = &season return r } // Owner of the tracking system func (r ApiGameGuidsFromPostgresRangeByGameRequest) TrackingSystemOwner(trackingSystemOwner interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.trackingSystemOwner = &trackingSystemOwner return r } // Sort the set of data by the specified field func (r ApiGameGuidsFromPostgresRangeByGameRequest) SortBy(sortBy interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.sortBy = &sortBy return r } // Number of results to return func (r ApiGameGuidsFromPostgresRangeByGameRequest) Limit(limit interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.limit = &limit return r } // The pointer to start for a return set; used for pagination func (r ApiGameGuidsFromPostgresRangeByGameRequest) Offset(offset interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.offset = &offset return r } // Comma delimited list of type of event types func (r ApiGameGuidsFromPostgresRangeByGameRequest) ScheduleEventTypes(scheduleEventTypes interface{}) ApiGameGuidsFromPostgresRangeByGameRequest { r.scheduleEventTypes = &scheduleEventTypes return r } func (r ApiGameGuidsFromPostgresRangeByGameRequest) Execute() (*http.Response, error) { return r.ApiService.GameGuidsFromPostgresRangeByGameExecute(r) } /* GameGuidsFromPostgresRangeByGame Get all games by updated date. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiGameGuidsFromPostgresRangeByGameRequest */ func (a *AnalyticsAPIService) GameGuidsFromPostgresRangeByGame(ctx context.Context) ApiGameGuidsFromPostgresRangeByGameRequest { return ApiGameGuidsFromPostgresRangeByGameRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request func (a *AnalyticsAPIService) GameGuidsFromPostgresRangeByGameExecute(r ApiGameGuidsFromPostgresRangeByGameRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.GameGuidsFromPostgresRangeByGame") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/analytics/game" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } if r.gameModeId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameModeId", r.gameModeId, "", "") } if r.isPitch != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPitch", r.isPitch, "", "") } if r.isHit != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isHit", r.isHit, "", "") } if r.isPickoff != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isPickoff", r.isPickoff, "", "") } if r.isNonStatcast != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "isNonStatcast", r.isNonStatcast, "", "") } if r.gamedayType != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gamedayType", r.gamedayType, "", "") } if r.hasUpdates != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "hasUpdates", r.hasUpdates, "", "") } if r.lastPlayTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastPlayTime", r.lastPlayTime, "", "") } if r.lastVideoUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastVideoUpdatedTime", r.lastVideoUpdatedTime, "", "") } if r.lastUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastUpdatedTime", r.lastUpdatedTime, "", "") } if r.lastMetricsUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastMetricsUpdatedTime", r.lastMetricsUpdatedTime, "", "") } if r.lastAuditUpdatedTime != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "lastAuditUpdatedTime", r.lastAuditUpdatedTime, "", "") } if r.gameDate != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameDate", r.gameDate, "", "") } if r.sportId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "sportId", r.sportId, "", "") } if r.gameType != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "gameType", r.gameType, "", "") } if r.season != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "season", r.season, "", "") } if r.trackingSystemOwner != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "trackingSystemOwner", r.trackingSystemOwner, "", "") } if r.sortBy != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "sortBy", r.sortBy, "", "") } if r.limit != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "") } if r.offset != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "", "") } if r.scheduleEventTypes != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "scheduleEventTypes", r.scheduleEventTypes, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiGameLastPitchRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePks *interface{} fields *interface{} } // Unique Primary Key Representing a Game func (r ApiGameLastPitchRequest) GamePks(gamePks interface{}) ApiGameLastPitchRequest { r.gamePks = &gamePks return r } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiGameLastPitchRequest) Fields(fields interface{}) ApiGameLastPitchRequest { r.fields = &fields return r } func (r ApiGameLastPitchRequest) Execute() (*http.Response, error) { return r.ApiService.GameLastPitchExecute(r) } /* GameLastPitch Get the last pitch for a list of games @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiGameLastPitchRequest */ func (a *AnalyticsAPIService) GameLastPitch(ctx context.Context) ApiGameLastPitchRequest { return ApiGameLastPitchRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request func (a *AnalyticsAPIService) GameLastPitchExecute(r ApiGameLastPitchRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.GameLastPitch") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/lastPitch" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.gamePks == nil { return nil, reportError("gamePks is required and must be specified") } parameterAddToHeaderOrQuery(localVarQueryParams, "gamePks", r.gamePks, "", "") if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiHomeRunBallparksRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} guid interface{} isHomeRunParks *interface{} fields *interface{} } func (r ApiHomeRunBallparksRequest) IsHomeRunParks(isHomeRunParks interface{}) ApiHomeRunBallparksRequest { r.isHomeRunParks = &isHomeRunParks return r } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiHomeRunBallparksRequest) Fields(fields interface{}) ApiHomeRunBallparksRequest { r.fields = &fields return r } func (r ApiHomeRunBallparksRequest) Execute() (*http.Response, error) { return r.ApiService.HomeRunBallparksExecute(r) } /* HomeRunBallparks Get if the play is a home run is each park for a specific play. Returns a json file containing raw coordinate data and refined calculated metrics.

This responses can be very large, so it is strongly recommended that you pass "Accept-Encoding: gzip" as a header to have the responses compressed. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @param guid Unique identifier for a play within a game @return ApiHomeRunBallparksRequest */ func (a *AnalyticsAPIService) HomeRunBallparks(ctx context.Context, gamePk interface{}, guid interface{}) ApiHomeRunBallparksRequest { return ApiHomeRunBallparksRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, guid: guid, } } // Execute executes the request func (a *AnalyticsAPIService) HomeRunBallparksExecute(r ApiHomeRunBallparksRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.HomeRunBallparks") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/{guid}/homeRunBallparks" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarPath = strings.Replace(localVarPath, "{"+"guid"+"}", url.PathEscape(parameterValueToString(r.guid, "guid")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.isHomeRunParks == nil { return nil, reportError("isHomeRunParks is required and must be specified") } parameterAddToHeaderOrQuery(localVarQueryParams, "isHomeRunParks", r.isHomeRunParks, "", "") if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil } type ApiParsedJsonFormattedAnalyticsRequest struct { ctx context.Context ApiService *AnalyticsAPIService gamePk interface{} guid interface{} fields *interface{} } // Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute func (r ApiParsedJsonFormattedAnalyticsRequest) Fields(fields interface{}) ApiParsedJsonFormattedAnalyticsRequest { r.fields = &fields return r } func (r ApiParsedJsonFormattedAnalyticsRequest) Execute() (*http.Response, error) { return r.ApiService.ParsedJsonFormattedAnalyticsExecute(r) } /* ParsedJsonFormattedAnalytics Get Statcast data for a specific play. Returns a json file containing raw coordinate data and refined calculated metrics.

This responses can be very large, so it is strongly recommended that you pass "Accept-Encoding: gzip" as a header to have the responses compressed. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param gamePk Unique Primary Key Representing a Game @param guid Unique identifier for a play within a game @return ApiParsedJsonFormattedAnalyticsRequest */ func (a *AnalyticsAPIService) ParsedJsonFormattedAnalytics(ctx context.Context, gamePk interface{}, guid interface{}) ApiParsedJsonFormattedAnalyticsRequest { return ApiParsedJsonFormattedAnalyticsRequest{ ApiService: a, ctx: ctx, gamePk: gamePk, guid: guid, } } // Execute executes the request func (a *AnalyticsAPIService) ParsedJsonFormattedAnalyticsExecute(r ApiParsedJsonFormattedAnalyticsRequest) (*http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AnalyticsAPIService.ParsedJsonFormattedAnalytics") if err != nil { return nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/api/v1/game/{gamePk}/{guid}/analytics" localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", url.PathEscape(parameterValueToString(r.gamePk, "gamePk")), -1) localVarPath = strings.Replace(localVarPath, "{"+"guid"+"}", url.PathEscape(parameterValueToString(r.guid, "guid")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.fields != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarHTTPResponse, newErr } return localVarHTTPResponse, nil }