From f903dba1e4a06ab7906a55c8ed69e1ad4774516d Mon Sep 17 00:00:00 2001
From: codykerns <44073103+codykerns@users.noreply.github.com>
Date: Fri, 6 Feb 2026 18:40:23 +0000
Subject: [PATCH] [create-pull-request] automated change
---
openapi-spec/api-v2-beta.yaml | 149 ++++++++++++++++++++++++++++++++++
openapi-spec/api-v2.yaml | 149 ++++++++++++++++++++++++++++++++++
2 files changed, 298 insertions(+)
diff --git a/openapi-spec/api-v2-beta.yaml b/openapi-spec/api-v2-beta.yaml
index 80f63f78e..402f7947f 100644
--- a/openapi-spec/api-v2-beta.yaml
+++ b/openapi-spec/api-v2-beta.yaml
@@ -7,6 +7,8 @@ tags:
description: Operations about apps.
- name: Charts & Metrics
description: Operations about chart metrics.
+- name: Collaborator
+ description: Operations about collaborators.
- name: Customer
description: Operations about customers.
- name: Entitlement
@@ -1195,6 +1197,69 @@ paths:
description: 'This endpoint requires the following permission(s): project_configuration:apps:read.
This endpoint belongs to the Project Configuration domain,
which has a default rate limit of 60 requests per minute.'
+ /projects/{project_id}/collaborators:
+ get:
+ summary: Get a list of collaborators
+ operationId: list-collaborators
+ x-revenuecat-rate-limiting-domain: project_configuration
+ x-scopes:
+ - project_configuration:collaborators:read
+ x-release-status: public
+ tags:
+ - Collaborator
+ parameters:
+ - name: project_id
+ description: ID of the project
+ required: true
+ in: path
+ schema:
+ type: string
+ maxLength: 255
+ example: proj1ab2c3d4
+ - name: starting_after
+ in: query
+ required: false
+ schema:
+ type: string
+ example: ent12354
+ - name: limit
+ in: query
+ required: false
+ schema:
+ type: integer
+ example: 10
+ default: 20
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListCollaborators'
+ headers:
+ RevenueCat-Rate-Limit-Current-Usage:
+ $ref: '#/components/headers/RateLimitCurrentUsage'
+ RevenueCat-Rate-Limit-Current-Limit:
+ $ref: '#/components/headers/RateLimitCurrentLimit'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '423':
+ $ref: '#/components/responses/Locked'
+ '429':
+ $ref: '#/components/responses/RateLimited'
+ '500':
+ $ref: '#/components/responses/InternalError'
+ '503':
+ $ref: '#/components/responses/InternalError'
+ description: 'This endpoint requires the following permission(s): project_configuration:collaborators:read.
+ This endpoint belongs to the Project Configuration domain,
+ which has a default rate limit of 60 requests per minute.'
/projects/{project_id}/customers:
get:
summary: Get a list of customers
@@ -7451,6 +7516,57 @@ components:
nullable: true
type: string
example: Geography
+ Collaborator:
+ type: object
+ required:
+ - id
+ - email
+ - role
+ - accepted_at
+ - has_mfa
+ - object
+ properties:
+ object:
+ description: String representing the object's type. Objects of the same
+ type share the same value.
+ enum:
+ - collaborator
+ type: string
+ id:
+ description: The id of the collaborator
+ nullable: false
+ type: string
+ minLength: 1
+ example: collab1a2b3c4d5
+ name:
+ description: The name of the collaborator
+ nullable: true
+ type: string
+ example: John Doe
+ email:
+ description: The email address of the collaborator
+ nullable: false
+ type: string
+ format: email
+ example: john.doe@example.com
+ role:
+ description: The role of the collaborator
+ nullable: false
+ type: string
+ example: admin
+ accepted_at:
+ description: The date when the collaborator accepted the invitation in ms
+ since epoch
+ nullable: true
+ type: integer
+ format: int64
+ example: 1658399423658
+ has_mfa:
+ description: Whether the collaborator has 2FA enabled
+ nullable: false
+ type: boolean
+ example: true
+ additionalProperties: false
Country:
type: string
nullable: true
@@ -8576,6 +8692,38 @@ components:
example: 1758617658369
required:
- updated_at_ms
+ ListCollaborators:
+ type: object
+ required:
+ - items
+ - next_page
+ - object
+ - url
+ title: CollaboratorList
+ properties:
+ object:
+ description: String representing the object's type. Objects of the same
+ type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ items:
+ description: Details about each object.
+ items:
+ $ref: '#/components/schemas/Collaborator'
+ type: array
+ next_page:
+ description: URL to access the next page of the project's collaborators.
+ If not present / null, there is no next page
+ type: string
+ nullable: true
+ example: /v2/projects/proj1ab2c3d4/collaborators?starting_after=collab1a2b3c4d5
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ example: /v2/projects/proj1ab2c3d4/collaborators
+ additionalProperties: false
ListCustomerActiveEntitlements:
type: object
required:
@@ -11339,6 +11487,7 @@ x-tagGroups:
tags:
- App
- Charts & Metrics
+ - Collaborator
- Customer
- Entitlement
- Offering
diff --git a/openapi-spec/api-v2.yaml b/openapi-spec/api-v2.yaml
index 3230f8a66..cdc37cc72 100644
--- a/openapi-spec/api-v2.yaml
+++ b/openapi-spec/api-v2.yaml
@@ -7,6 +7,8 @@ tags:
description: Operations about apps.
- name: Charts & Metrics
description: Operations about chart metrics.
+- name: Collaborator
+ description: Operations about collaborators.
- name: Customer
description: Operations about customers.
- name: Entitlement
@@ -1195,6 +1197,69 @@ paths:
description: 'This endpoint requires the following permission(s): project_configuration:apps:read.
This endpoint belongs to the Project Configuration domain,
which has a default rate limit of 60 requests per minute.'
+ /projects/{project_id}/collaborators:
+ get:
+ summary: Get a list of collaborators
+ operationId: list-collaborators
+ x-revenuecat-rate-limiting-domain: project_configuration
+ x-scopes:
+ - project_configuration:collaborators:read
+ x-release-status: public
+ tags:
+ - Collaborator
+ parameters:
+ - name: project_id
+ description: ID of the project
+ required: true
+ in: path
+ schema:
+ type: string
+ maxLength: 255
+ example: proj1ab2c3d4
+ - name: starting_after
+ in: query
+ required: false
+ schema:
+ type: string
+ example: ent12354
+ - name: limit
+ in: query
+ required: false
+ schema:
+ type: integer
+ example: 10
+ default: 20
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListCollaborators'
+ headers:
+ RevenueCat-Rate-Limit-Current-Usage:
+ $ref: '#/components/headers/RateLimitCurrentUsage'
+ RevenueCat-Rate-Limit-Current-Limit:
+ $ref: '#/components/headers/RateLimitCurrentLimit'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '423':
+ $ref: '#/components/responses/Locked'
+ '429':
+ $ref: '#/components/responses/RateLimited'
+ '500':
+ $ref: '#/components/responses/InternalError'
+ '503':
+ $ref: '#/components/responses/InternalError'
+ description: 'This endpoint requires the following permission(s): project_configuration:collaborators:read.
+ This endpoint belongs to the Project Configuration domain,
+ which has a default rate limit of 60 requests per minute.'
/projects/{project_id}/customers:
get:
summary: Get a list of customers
@@ -7284,6 +7349,57 @@ components:
nullable: true
type: string
example: Geography
+ Collaborator:
+ type: object
+ required:
+ - id
+ - email
+ - role
+ - accepted_at
+ - has_mfa
+ - object
+ properties:
+ object:
+ description: String representing the object's type. Objects of the same
+ type share the same value.
+ enum:
+ - collaborator
+ type: string
+ id:
+ description: The id of the collaborator
+ nullable: false
+ type: string
+ minLength: 1
+ example: collab1a2b3c4d5
+ name:
+ description: The name of the collaborator
+ nullable: true
+ type: string
+ example: John Doe
+ email:
+ description: The email address of the collaborator
+ nullable: false
+ type: string
+ format: email
+ example: john.doe@example.com
+ role:
+ description: The role of the collaborator
+ nullable: false
+ type: string
+ example: admin
+ accepted_at:
+ description: The date when the collaborator accepted the invitation in ms
+ since epoch
+ nullable: true
+ type: integer
+ format: int64
+ example: 1658399423658
+ has_mfa:
+ description: Whether the collaborator has 2FA enabled
+ nullable: false
+ type: boolean
+ example: true
+ additionalProperties: false
Country:
type: string
nullable: true
@@ -8386,6 +8502,38 @@ components:
type: string
example: /v2/projects/projec1a2b3c4d/apps
additionalProperties: false
+ ListCollaborators:
+ type: object
+ required:
+ - items
+ - next_page
+ - object
+ - url
+ title: CollaboratorList
+ properties:
+ object:
+ description: String representing the object's type. Objects of the same
+ type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ items:
+ description: Details about each object.
+ items:
+ $ref: '#/components/schemas/Collaborator'
+ type: array
+ next_page:
+ description: URL to access the next page of the project's collaborators.
+ If not present / null, there is no next page
+ type: string
+ nullable: true
+ example: /v2/projects/proj1ab2c3d4/collaborators?starting_after=collab1a2b3c4d5
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ example: /v2/projects/proj1ab2c3d4/collaborators
+ additionalProperties: false
ListCustomerActiveEntitlements:
type: object
required:
@@ -11148,6 +11296,7 @@ x-tagGroups:
tags:
- App
- Charts & Metrics
+ - Collaborator
- Customer
- Entitlement
- Offering