Remove OAuth authorization flows and use API key authentication for MCP

This commit is contained in:
Mike Cao committed 2026-09-09 15:22:15 -07:00
1 parent 16acac5530
commit b185837063
85 files changed
+383 -4631

No files matched your search

@@ -15,7 +15,6 @@ export interface OperationDefinition {
readonly pathParams: readonly string[];
readonly queryParams: readonly string[];
readonly hasBody: boolean;
readonly scope?: string;
}
export const operations = {
@@ -401,7 +400,6 @@ export const operations = {
'maxResults',
],
hasBody: false,
scope: 'analytics:read',
},
getEventDataArraySeries: {
operationId: 'getEventDataArraySeries',
@@ -719,7 +717,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getEventDataPropertySeries: {
operationId: 'getEventDataPropertySeries',
@@ -796,7 +793,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getEventDataValues: {
operationId: 'getEventDataValues',
@@ -836,7 +832,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getLink: {
operationId: 'getLink',
@@ -906,7 +901,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: false,
scope: 'websites:read',
},
getMyApiKeys: {
operationId: 'getMyApiKeys',
@@ -1028,7 +1022,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getReport: {
operationId: 'getReport',
@@ -1531,7 +1524,6 @@ export const operations = {
pathParams: ['websiteId'],
queryParams: [],
hasBody: false,
scope: 'websites:read',
},
getWebsiteActive: {
operationId: 'getWebsiteActive',
@@ -1540,7 +1532,6 @@ export const operations = {
pathParams: ['websiteId'],
queryParams: [],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteAnnotation: {
operationId: 'getWebsiteAnnotation',
@@ -1565,7 +1556,6 @@ export const operations = {
pathParams: ['websiteId'],
queryParams: [],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteEvents: {
operationId: 'getWebsiteEvents',
@@ -1611,7 +1601,6 @@ export const operations = {
'search',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteEventSeries: {
operationId: 'getWebsiteEventSeries',
@@ -1651,7 +1640,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteEventStats: {
operationId: 'getWebsiteEventStats',
@@ -1693,7 +1681,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteExpandedMetrics: {
operationId: 'getWebsiteExpandedMetrics',
@@ -1739,7 +1726,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteMetrics: {
operationId: 'getWebsiteMetrics',
@@ -1785,7 +1771,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsitePageviews: {
operationId: 'getWebsitePageviews',
@@ -1827,7 +1812,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteRecorderConfig: {
operationId: 'getWebsiteRecorderConfig',
@@ -2119,7 +2103,6 @@ export const operations = {
pathParams: ['websiteId', 'sessionId'],
queryParams: [],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteSessionActivity: {
operationId: 'getWebsiteSessionActivity',
@@ -2128,7 +2111,6 @@ export const operations = {
pathParams: ['websiteId', 'sessionId'],
queryParams: ['startAt', 'endAt', 'distinctId'],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteSessionProperties: {
operationId: 'getWebsiteSessionProperties',
@@ -2137,7 +2119,6 @@ export const operations = {
pathParams: ['websiteId', 'sessionId'],
queryParams: [],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteSessionReplays: {
operationId: 'getWebsiteSessionReplays',
@@ -2203,7 +2184,6 @@ export const operations = {
'search',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteSessionStats: {
operationId: 'getWebsiteSessionStats',
@@ -2240,7 +2220,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteSessionsWeekly: {
operationId: 'getWebsiteSessionsWeekly',
@@ -2356,7 +2335,6 @@ export const operations = {
'match',
],
hasBody: false,
scope: 'analytics:read',
},
getWebsiteValues: {
operationId: 'getWebsiteValues',
@@ -2407,7 +2385,6 @@ export const operations = {
'includeTeams',
],
hasBody: false,
scope: 'websites:read',
},
login: {
operationId: 'login',
@@ -2448,7 +2425,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runBreakdownReport: {
operationId: 'runBreakdownReport',
@@ -2457,7 +2433,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runFunnelReport: {
operationId: 'runFunnelReport',
@@ -2466,7 +2441,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runGoalReport: {
operationId: 'runGoalReport',
@@ -2491,7 +2465,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runPerformanceReport: {
operationId: 'runPerformanceReport',
@@ -2508,7 +2481,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runRevenueReport: {
operationId: 'runRevenueReport',
@@ -2517,7 +2489,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
runUtmReport: {
operationId: 'runUtmReport',
@@ -2526,7 +2497,6 @@ export const operations = {
pathParams: [],
queryParams: [],
hasBody: true,
scope: 'analytics:read',
},
saveWebsiteReplay: {
operationId: 'saveWebsiteReplay',
@@ -3174,7 +3144,6 @@ export abstract class GeneratedUmamiClient {
* List events with custom properties
* Returns a page of events in the selected date range, grouping each event's custom property records together.
* `GET /api/websites/{websiteId}/event-data`
* OAuth scope: `analytics:read`
*/
getEventData(
input: OperationInput<'getEventData'>,
@@ -3283,7 +3252,6 @@ export abstract class GeneratedUmamiClient {
* List event property usage
* Returns event names and their custom property names, data types, and record counts for the selected date range and filters.
* `GET /api/websites/{websiteId}/event-data/properties`
* OAuth scope: `analytics:read`
*/
getEventDataProperties(
input: OperationInput<'getEventDataProperties'>,
@@ -3308,7 +3276,6 @@ export abstract class GeneratedUmamiClient {
* Get event property totals
* Returns counts of events with custom data, distinct property names, and property records for the selected date range and filters.
* `GET /api/websites/{websiteId}/event-data/stats`
* OAuth scope: `analytics:read`
*/
getEventDataStats(
input: OperationInput<'getEventDataStats'>,
@@ -3321,7 +3288,6 @@ export abstract class GeneratedUmamiClient {
* List event property values
* Returns values and their occurrence counts for a custom event property, optionally restricted by event name and data type.
* `GET /api/websites/{websiteId}/event-data/values`
* OAuth scope: `analytics:read`
*/
getEventDataValues(
input: OperationInput<'getEventDataValues'>,
@@ -3382,7 +3348,6 @@ export abstract class GeneratedUmamiClient {
* Get my authentication details
* Returns the current authentication context, including the authenticated user or share credentials.
* `GET /api/me`
* OAuth scope: `websites:read`
*/
getMe(
input?: OperationInput<'getMe'>,
@@ -3479,7 +3444,6 @@ export abstract class GeneratedUmamiClient {
* Get real-time website activity
* Returns recent website activity and visitor data for the real-time view, applying the supplied filters.
* `GET /api/realtime/{websiteId}`
* OAuth scope: `analytics:read`
*/
getRealtime(
input: OperationInput<'getRealtime'>,
@@ -3804,7 +3768,6 @@ export abstract class GeneratedUmamiClient {
* Get a website
* Returns the specified website's details and configuration.
* `GET /api/websites/{websiteId}`
* OAuth scope: `websites:read`
*/
getWebsite(
input: OperationInput<'getWebsite'>,
@@ -3817,7 +3780,6 @@ export abstract class GeneratedUmamiClient {
* Get active website visitors
* Returns the number of visitors active on the website in the last few minutes.
* `GET /api/websites/{websiteId}/active`
* OAuth scope: `analytics:read`
*/
getWebsiteActive(
input: OperationInput<'getWebsiteActive'>,
@@ -3854,7 +3816,6 @@ export abstract class GeneratedUmamiClient {
* Get the website's available date range
* Returns the earliest and latest recorded event dates for the website.
* `GET /api/websites/{websiteId}/daterange`
* OAuth scope: `analytics:read`
*/
getWebsiteDateRange(
input: OperationInput<'getWebsiteDateRange'>,
@@ -3867,7 +3828,6 @@ export abstract class GeneratedUmamiClient {
* List tracked events
* Returns a page of pageviews and custom events in the date range, newest first. Supports filtering by event name and searching event details.
* `GET /api/websites/{websiteId}/events`
* OAuth scope: `analytics:read`
*/
getWebsiteEvents(
input: OperationInput<'getWebsiteEvents'>,
@@ -3880,7 +3840,6 @@ export abstract class GeneratedUmamiClient {
* Get custom event counts over time
* Returns counts grouped by event name and time interval, optionally limited to the most frequent event names.
* `GET /api/websites/{websiteId}/events/series`
* OAuth scope: `analytics:read`
*/
getWebsiteEventSeries(
input: OperationInput<'getWebsiteEventSeries'>,
@@ -3893,7 +3852,6 @@ export abstract class GeneratedUmamiClient {
* Get website event statistics
* Returns website event totals for the selected date range and filters, including totals for the comparison period.
* `GET /api/websites/{websiteId}/events/stats`
* OAuth scope: `analytics:read`
*/
getWebsiteEventStats(
input: OperationInput<'getWebsiteEventStats'>,
@@ -3906,7 +3864,6 @@ export abstract class GeneratedUmamiClient {
* Get detailed website metrics
* Returns additional analytics for the selected page, event, visitor, or channel dimension, using the supplied date range and filters.
* `GET /api/websites/{websiteId}/metrics/expanded`
* OAuth scope: `analytics:read`
*/
getWebsiteExpandedMetrics(
input: OperationInput<'getWebsiteExpandedMetrics'>,
@@ -3919,7 +3876,6 @@ export abstract class GeneratedUmamiClient {
* Get ranked website metrics
* Returns the most frequent values for a dimension such as pages, referrers, countries, browsers, campaigns, or events. Counts pageviews or events for activity dimensions and unique visitors for visitor dimensions.
* `GET /api/websites/{websiteId}/metrics`
* OAuth scope: `analytics:read`
*/
getWebsiteMetrics(
input: OperationInput<'getWebsiteMetrics'>,
@@ -3932,7 +3888,6 @@ export abstract class GeneratedUmamiClient {
* Get pageviews and sessions over time
* Returns pageviews and sessions grouped by the requested time interval and timezone, including a comparison period when requested.
* `GET /api/websites/{websiteId}/pageviews`
* OAuth scope: `analytics:read`
*/
getWebsitePageviews(
input: OperationInput<'getWebsitePageviews'>,
@@ -4101,7 +4056,6 @@ export abstract class GeneratedUmamiClient {
* Get a visitor session
* Returns details for a website session, including linked visitor identities and whether session deletion is available to the caller.
* `GET /api/websites/{websiteId}/sessions/{sessionId}`
* OAuth scope: `analytics:read`
*/
getWebsiteSession(
input: OperationInput<'getWebsiteSession'>,
@@ -4114,7 +4068,6 @@ export abstract class GeneratedUmamiClient {
* Get a visitor's session activity
* Returns activity for the specified session and sessions linked by visitor identity, using the requested date range and optional distinct ID.
* `GET /api/websites/{websiteId}/sessions/{sessionId}/activity`
* OAuth scope: `analytics:read`
*/
getWebsiteSessionActivity(
input: OperationInput<'getWebsiteSessionActivity'>,
@@ -4127,7 +4080,6 @@ export abstract class GeneratedUmamiClient {
* Get a session's custom properties
* Returns custom property records, data types, and values for the specified website session.
* `GET /api/websites/{websiteId}/sessions/{sessionId}/properties`
* OAuth scope: `analytics:read`
*/
getWebsiteSessionProperties(
input: OperationInput<'getWebsiteSessionProperties'>,
@@ -4152,7 +4104,6 @@ export abstract class GeneratedUmamiClient {
* List visitor sessions
* Returns a page of visitor sessions in the date range, newest first. Search matches distinct ID, city, browser, operating system, or device.
* `GET /api/websites/{websiteId}/sessions`
* OAuth scope: `analytics:read`
*/
getWebsiteSessions(
input: OperationInput<'getWebsiteSessions'>,
@@ -4165,7 +4116,6 @@ export abstract class GeneratedUmamiClient {
* Get visitor session statistics
* Returns aggregate session metrics for the website over the selected date range and filters.
* `GET /api/websites/{websiteId}/sessions/stats`
* OAuth scope: `analytics:read`
*/
getWebsiteSessionStats(
input: OperationInput<'getWebsiteSessionStats'>,
@@ -4202,7 +4152,6 @@ export abstract class GeneratedUmamiClient {
* Get website summary statistics
* Returns pageviews, unique visitors, visits, bounces, and total time on site for the selected date range and comparison period.
* `GET /api/websites/{websiteId}/stats`
* OAuth scope: `analytics:read`
*/
getWebsiteStats(
input: OperationInput<'getWebsiteStats'>,
@@ -4251,7 +4200,6 @@ export abstract class GeneratedUmamiClient {
* List websites
* Returns a paginated list of the current user's websites, optionally including websites accessible through team membership.
* `GET /api/websites`
* OAuth scope: `websites:read`
*/
listWebsites(
input?: OperationInput<'listWebsites'>,
@@ -4312,7 +4260,6 @@ export abstract class GeneratedUmamiClient {
* Run an attribution report
* Calculates how traffic sources contribute to conversions using the supplied attribution settings, date range, and filters.
* `POST /api/reports/attribution`
* OAuth scope: `analytics:read`
*/
runAttributionReport(
input: OperationInput<'runAttributionReport'>,
@@ -4325,7 +4272,6 @@ export abstract class GeneratedUmamiClient {
* Run a breakdown report
* Groups website activity by the selected dimensions for the requested date range and filters.
* `POST /api/reports/breakdown`
* OAuth scope: `analytics:read`
*/
runBreakdownReport(
input: OperationInput<'runBreakdownReport'>,
@@ -4338,7 +4284,6 @@ export abstract class GeneratedUmamiClient {
* Run a funnel report
* Calculates visitor progression through a sequence of pages or events using the supplied funnel steps and filters.
* `POST /api/reports/funnel`
* OAuth scope: `analytics:read`
*/
runFunnelReport(
input: OperationInput<'runFunnelReport'>,
@@ -4375,7 +4320,6 @@ export abstract class GeneratedUmamiClient {
* Run a visitor journey report
* Returns paths through pages or events using the supplied journey settings and website filters.
* `POST /api/reports/journey`
* OAuth scope: `analytics:read`
*/
runJourneyReport(
input: OperationInput<'runJourneyReport'>,
@@ -4400,7 +4344,6 @@ export abstract class GeneratedUmamiClient {
* Run a retention report
* Calculates how groups of visitors return over time using the supplied retention settings, date range, and filters.
* `POST /api/reports/retention`
* OAuth scope: `analytics:read`
*/
runRetentionReport(
input: OperationInput<'runRetentionReport'>,
@@ -4413,7 +4356,6 @@ export abstract class GeneratedUmamiClient {
* Run a revenue report
* Returns revenue trends, totals with a comparison period, and breakdowns by country, region, referrer, and channel.
* `POST /api/reports/revenue`
* OAuth scope: `analytics:read`
*/
runRevenueReport(
input: OperationInput<'runRevenueReport'>,
@@ -4426,7 +4368,6 @@ export abstract class GeneratedUmamiClient {
* Run a campaign report
* Returns traffic breakdowns for UTM source, medium, campaign, term, and content using the supplied date range and filters.
* `POST /api/reports/utm`
* OAuth scope: `analytics:read`
*/
runUtmReport(
input: OperationInput<'runUtmReport'>,
+1 -531
View File
@@ -750,90 +750,6 @@ export interface paths {
patch?: never;
trace?: never;
};
'/api/oauth/authorize': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get OAuth authorization request details
* @description Validates an OAuth authorization request and returns the client and requested permissions for the consent screen. Requires an interactive user session.
*/
get: operations['describeOAuthAuthorization'];
put?: never;
/**
* Approve or deny OAuth access
* @description Records the user's consent decision and returns a redirect URL. Approval includes an authorization code, the request state, and the issuer.
*/
post: operations['decideOAuthAuthorization'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/oauth/register': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Register an OAuth client
* @description Registers a public OAuth client for clients that do not support Client ID Metadata Documents. Clients that support them should use an HTTPS metadata URL as their client ID.
*/
post: operations['oauthRegisterClient'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/oauth/revoke': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Revoke an OAuth refresh token
* @description Revokes the supplied refresh token. Unknown tokens are accepted without revealing whether they existed.
*/
post: operations['oauthRevoke'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/oauth/token': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Get or refresh an OAuth access token
* @description Exchanges an authorization code and PKCE verifier, or a refresh token, for an access token. Accepts form-encoded or JSON requests and rotates refresh tokens on use.
*/
post: operations['oauthToken'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/pixels': {
parameters: {
query?: never;
@@ -2959,149 +2875,6 @@ export interface components {
y: number;
};
MetricRows: components['schemas']['MetricRow'][];
OAuthAuthorizationDecision: {
/** @description OAuth client identifier. */
client_id: string;
/** @description PKCE challenge derived from the code verifier. */
code_challenge?: string;
/** @description Method used to derive the PKCE challenge; use S256. */
code_challenge_method?: string;
/** @enum {string} */
decision: 'approve' | 'deny';
/** @description Registered redirect URI to receive the authorization response. */
redirect_uri?: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource?: string;
/** @description OAuth authorization response type; use code. */
response_type?: string;
/** @description Space-separated OAuth permissions. */
scope?: string;
/** @description Client-provided value returned unchanged to correlate the authorization response. */
state?: string;
};
OAuthAuthorizationDetails: {
client: {
/** @description Unique identifier of the resource. */
id: string;
logoUri?: string;
/** @description Display name of the resource. */
name: string;
/** @enum {string} */
source: 'metadata-document' | 'registered';
uri?: string;
};
redirectUri: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource: string;
scopes: {
/** @description Description of the resource. */
description: string;
/** @description Space-separated OAuth permissions. */
scope: string;
}[];
};
OAuthAuthorizationRedirect: {
redirectUrl: string;
};
OAuthClientRegistrationRequest: {
/** @enum {string} */
application_type?: 'web' | 'native';
/** @description Human-readable name of the OAuth client. */
client_name: string;
/** @description URL of the OAuth client homepage. */
client_uri?: string;
/** @description OAuth grant types supported by the client. */
grant_types?: string[];
/** @description URL of the OAuth client logo. */
logo_uri?: string;
/** @description Redirect URIs registered for the OAuth client. */
redirect_uris: string[];
/** @description Authorization response types supported by the client. */
response_types?: string[];
/** @description Space-separated OAuth permissions. */
scope?: string;
software_id?: string;
software_version?: string;
/**
* @description Client authentication method used at the token endpoint.
* @constant
*/
token_endpoint_auth_method?: 'none';
};
OAuthClientRegistrationResponse: {
/** @enum {string} */
application_type?: 'web' | 'native';
/** @description OAuth client identifier. */
client_id: string;
client_id_issued_at: number;
/** @description Human-readable name of the OAuth client. */
client_name: string;
/** @description URL of the OAuth client homepage. */
client_uri?: string;
/** @description OAuth grant types supported by the client. */
grant_types: string[];
/** @description URL of the OAuth client logo. */
logo_uri?: string;
/** @description Redirect URIs registered for the OAuth client. */
redirect_uris: string[];
/** @description Authorization response types supported by the client. */
response_types: string[];
/** @description Space-separated OAuth permissions. */
scope?: string;
software_id?: string;
software_version?: string;
/**
* @description Client authentication method used at the token endpoint.
* @constant
*/
token_endpoint_auth_method: 'none';
};
OAuthErrorResponse: {
/** @description Error details returned when the operation fails. */
error: string;
/** @description Human-readable explanation of the OAuth error. */
error_description?: string;
};
OAuthRevocationRequest: {
token: string;
/** @description Hint indicating whether the revoked token is an access or refresh token. */
token_type_hint?: string;
};
OAuthTokenRequest: {
/** @description OAuth client identifier. */
client_id?: string;
code?: string;
/** @description Original PKCE verifier used to obtain the authorization code. */
code_verifier?: string;
/**
* @description OAuth grant used to obtain or refresh an access token.
* @enum {string}
*/
grant_type: 'authorization_code' | 'refresh_token';
/** @description Registered redirect URI to receive the authorization response. */
redirect_uri?: string;
/** @description OAuth refresh token used to obtain a new access token. */
refresh_token?: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource?: string;
/** @description Space-separated OAuth permissions. */
scope?: string;
};
OAuthTokenResponse: {
/** @description OAuth access token used to authorize API requests. */
access_token: string;
/** @description Access token lifetime in seconds. */
expires_in: number;
/** @description OAuth refresh token used to obtain a new access token. */
refresh_token: string;
/** @description Space-separated OAuth permissions. */
scope: string;
/**
* @description Authorization scheme for the access token.
* @constant
*/
token_type: 'Bearer';
};
/** @description Successful operation response. */
Ok: {
/**
@@ -7392,12 +7165,7 @@ export interface operations {
/** @description Display name of the resource. */
name: string;
};
authType?: 'session' | 'share' | 'api-key' | 'oauth';
oauth?: {
clientId: string;
scopes: string[];
tokenId?: string;
};
authType?: 'session' | 'share' | 'api-key';
shareToken?: {
/** @description ID of the board. */
boardId?: string;
@@ -8041,240 +7809,6 @@ export interface operations {
};
};
};
describeOAuthAuthorization: {
parameters: {
query: {
/** @description OAuth client identifier. */
client_id: string;
/** @description PKCE challenge derived from the code verifier. */
code_challenge?: string;
/** @description Method used to derive the PKCE challenge; use S256. */
code_challenge_method?: string;
/** @description Registered redirect URI to receive the authorization response. */
redirect_uri?: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource?: string;
/** @description OAuth authorization response type; use code. */
response_type?: string;
/** @description Space-separated OAuth permissions. */
scope?: string;
/** @description Client-provided value returned unchanged to correlate the authorization response. */
state?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Authorization request details. */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthAuthorizationDetails'];
};
};
/** @description Invalid authorization request. */
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthErrorResponse'];
};
};
/** @description Unauthorized. */
401: {
headers: {
[name: string]: unknown;
};
content: {
/**
* @example {
* "error": {
* "code": "unauthorized",
* "message": "Unauthorized.",
* "status": 401
* }
* }
*/
'application/json': components['schemas']['ApiError'];
};
};
};
};
decideOAuthAuthorization: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
'application/json': components['schemas']['OAuthAuthorizationDecision'];
};
};
responses: {
/** @description Redirect URL for the browser. */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthAuthorizationRedirect'];
};
};
/** @description Bad request. */
400: {
headers: {
[name: string]: unknown;
};
content: {
/**
* @example {
* "error": {
* "code": "bad-request",
* "message": "Bad request.",
* "status": 400
* }
* }
*/
'application/json': components['schemas']['ApiError'];
};
};
/** @description Unauthorized. */
401: {
headers: {
[name: string]: unknown;
};
content: {
/**
* @example {
* "error": {
* "code": "unauthorized",
* "message": "Unauthorized.",
* "status": 401
* }
* }
*/
'application/json': components['schemas']['ApiError'];
};
};
};
};
oauthRegisterClient: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
'application/json': components['schemas']['OAuthClientRegistrationRequest'];
};
};
responses: {
/** @description Registered client. */
201: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthClientRegistrationResponse'];
};
};
/** @description Invalid client metadata. */
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthErrorResponse'];
};
};
};
};
oauthRevoke: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
'application/json': components['schemas']['OAuthRevocationRequest'];
'application/x-www-form-urlencoded': components['schemas']['OAuthRevocationRequest'];
};
};
responses: {
/** @description Token revoked (or already invalid). */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': Record<string, never>;
};
};
/** @description Malformed request. */
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthErrorResponse'];
};
};
};
};
oauthToken: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
'application/json': components['schemas']['OAuthTokenRequest'];
'application/x-www-form-urlencoded': components['schemas']['OAuthTokenRequest'];
};
};
responses: {
/** @description Access and refresh tokens. */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthTokenResponse'];
};
};
/** @description Invalid grant or request. */
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthErrorResponse'];
};
};
/** @description Invalid client. */
401: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['OAuthErrorResponse'];
};
};
};
};
getPixels: {
parameters: {
query?: {
@@ -13104,8 +12638,6 @@ export interface operations {
createdBy: number;
/** @description Tracked links associated with the user. */
links: number;
oauthAuthorizationCodes: number;
oauthRefreshTokens: number;
/** @description Tracking pixels associated with the user. */
pixels: number;
/** @description Saved reports associated with the user. */
@@ -13278,68 +12810,6 @@ export interface operations {
/** @description ID of the associated user. */
userId: string;
}[];
oauthAuthorizationCodes: {
clientId: string;
codeChallenge: string;
codeChallengeMethod: string;
codeHash: string;
/**
* Format: date-time
* @description Date and time the record was created.
*/
createdAt: string;
/**
* Format: date-time
* @description Date and time the credential expires.
*/
expiresAt: string;
/** @description Unique identifier of the resource. */
id: string;
redirectUri: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource: string;
/** @description Space-separated OAuth permissions. */
scope: string;
/**
* Format: date-time
* @description Date and time the code was used.
*/
usedAt: string;
/** @description ID of the associated user. */
userId: string;
}[];
oauthRefreshTokens: {
clientId: string;
/**
* Format: date-time
* @description Date and time the record was created.
*/
createdAt: string;
/**
* Format: date-time
* @description Date and time the credential expires.
*/
expiresAt: string;
/** @description Unique identifier of the resource. */
id: string;
/**
* Format: date-time
* @description Date and time the credential was last used.
*/
lastUsedAt: string;
/** @description Resource URI identifying the API targeted by the OAuth request. */
resource: string;
/**
* Format: date-time
* @description Date and time the credential was revoked.
*/
revokedAt: string;
/** @description Space-separated OAuth permissions. */
scope: string;
tokenHash: string;
/** @description ID of the associated user. */
userId: string;
}[];
/** @description Password used to authenticate the account. */
password: string;
/** @description Tracking pixels associated with the user. */
+1 -1
View File
@@ -7,7 +7,7 @@ export interface UmamiClientOptions {
*/
baseUrl?: string;
/**
* Bearer token: a login token from `POST /api/auth/login`, an OAuth access token, or a
* Bearer token: a login token from `POST /api/auth/login`, or a
* self-hosted API key (`umami_…`).
*/
token?: string;