Convert Collaborators API

Convert Experiences organizes customer data into Accounts(which are billable entities) and gives Users access to accounts under different roles. By default the **user that initially setups an account**, will get access to that account as the **owner** of it. Other users can be invited to get access to specific/all projects inside that account becoming this way **Collaborators** of that **Account**

Operations 6

GET /accounts/{account_id}/users-accesses List users and their access permissions for an account #
PUT /accounts/{account_id}/users-accesses/update Update a user's access permissions for an account #
POST /accounts/{account_id}/users-accesses/add Invite a new collaborator to an account #
POST /accounts/{account_id}/users-accesses/delete Remove a collaborator's access from an account #
POST /check-partner Check partner status for extended API access #
POST /auth/accept-invitation Accept a collaborator invitation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/convert-collaborators-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

convert-collaborators-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Convert Accounts Collaborators API
  description: 'Move your app forward with the Convert API. The Convert API allows

    you to manage your Convert Experiences projects using code. The REST API is

    an interface for managing and extending functionality of Convert. For

    example, instead of creating and maintaining projects using the Convert

    Experiences web dashboard you can create an experiment programmatically.

    Additionally, if you prefer to run custom analysis on experiment results you

    can leverage the API to pull data from Convert Experiences into your own

    workflow. If you do not have a Convert account already, sign up for a free

    developer account at https://www.convert.com/api/.


    *[Convert API V1](/doc/v1) is still available and documentation can be found [here](/doc/v1) but using it is highly discouraged

    as it will be phased out in the future*

    '
  version: 2.0.0
servers:
- url: https://api.convert.com/api/v2
  description: Live API server
- url: https://apidev.convert.com/api/v2
  description: DEV API server
- url: http://apidev.convert.com:5000/api/v2
  description: DEV mocked API server
tags:
- name: Collaborators
  description: 'Convert Experiences organizes customer data into Accounts(which are billable entities) and gives Users access to accounts under different roles.  By default the **user that initially setups an account**, will get access to that account as the **owner** of it.  Other users can be invited to get access to specific/all projects inside that account becoming this way **Collaborators** of that **Account**

    '
paths:
  /accounts/{account_id}/users-accesses:
    get:
      operationId: getAccountUsersAccessesList
      summary: List users and their access permissions for an account
      description: 'Retrieves a list of all users who have collaborator access to the specified account.

        For each user, it details the projects they can access and their role within those projects (e.g., Admin, Editor).

        The `expand` parameter can be used to get more details about the projects.

        As per the Knowledge Base, "Account owners can invite collaborators to projects and choose to give them varying privileges."

        '
      tags:
      - Collaborators
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      - name: expand
        description: 'Specifies the list of objects which would be expanded in the response. Otherwise, only their id would be returned.


          Read more in the section related to [Expanding Fields](#tag/Expandable-Fields)

          '
        in: query
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/AccountUserAccessesExpandFields'
      responses:
        '200':
          $ref: '#/components/responses/AccountUsersAccessesListResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/users-accesses/update:
    put:
      operationId: updateAccountUserAccesses
      summary: Update a user's access permissions for an account
      description: 'Modifies the access rights of an existing collaborator for the specified account.

        This can involve changing their role for specific projects or altering which projects they can access.

        Identifies the user by `user_id` (for active collaborators) or `email` (for pending invitations).

        '
      tags:
      - Collaborators
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/UpdateAccountUserAccessesRequest'
      responses:
        '200':
          $ref: '#/components/responses/AccountUserAccesses'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/users-accesses/add:
    post:
      operationId: addAccountUserAccesses
      summary: Invite a new collaborator to an account
      description: 'Sends an invitation to a user (identified by email) to become a collaborator on the specified account.

        The request defines the initial set of projects and the role the user will have for those projects.

        The user will receive an email to accept the invitation.

        '
      tags:
      - Collaborators
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/CreateAccountUserAccessesRequest'
      responses:
        '201':
          $ref: '#/components/responses/AccountUserAccesses'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/users-accesses/delete:
    post:
      operationId: deleteAccountUserAccesses
      summary: Remove a collaborator's access from an account
      description: 'Revokes a user''s collaborator access to specified projects within an account, or entirely from the account.

        Identifies the user by `user_id` or `email`.

        '
      tags:
      - Collaborators
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/DeleteAccountUserAccessesRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /check-partner:
    post:
      operationId: checkPartner
      summary: Check partner status for extended API access
      description: 'Verifies if the provided email belongs to a registered partner, potentially enabling extended API functionalities.

        This is an internal mechanism.

        '
      tags:
      - Collaborators
      requestBody:
        $ref: '#/components/requestBodies/CheckPartnerRequest'
      responses:
        '200':
          $ref: '#/components/responses/CheckPartnerResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /auth/accept-invitation:
    post:
      operationId: acceptInvitation
      summary: Accept a collaborator invitation
      description: 'Allows a user to accept an invitation to collaborate on an account using a unique hash token received via email.

        If the user is new to Convert, this will also trigger account creation.

        '
      tags:
      - Collaborators
      requestBody:
        $ref: '#/components/requestBodies/AcceptInvitationRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    SE_ProcTypes:
      type: string
      description: 'The statistical methodology used for analyzing experiment results and determining winners.

        - `frequentist`: Traditional hypothesis testing approach using p-values and confidence intervals (e.g., T-tests). KB: "Statistical Methods Used".

        - `bayesian`: Bayesian statistical approach providing probabilities of one variation being better than another (e.g., Chance to Win). KB: "Statistical Models in Convert.com''s A/B Testing Platform".

        '
      enum:
      - frequentist
      - bayesian
    IntegrationGA3:
      type: object
      properties:
        type:
          enum:
          - ga3
        property_UA:
          type: string
          maxLength: 150
          nullable: true
          description: The Universal Analytics Property ID (e.g., "UA-XXXXXXXX-Y") to which Convert experiment data will be sent.
    CheckPartnerRequestData:
      type: object
      properties:
        email:
          description: The email address of the potential partner to verify.
          type: string
          maxLength: 100
    TrackingScriptReleaseLatest:
      allOf:
      - $ref: '#/components/schemas/TrackingScriptReleaseBase'
      - type: object
        additionalProperties: false
        properties:
          type:
            enum:
            - latest
    SimpleLocation:
      type: object
      properties:
        id:
          type: integer
          description: The unique numerical identifier of the location.
          readOnly: true
        name:
          type: string
          description: The user-defined, friendly name of the location.
          maxLength: 100
    UserByEmail:
      type: object
      properties:
        email:
          description: The email address of the collaborator or invitee.
          type: string
          maxLength: 100
    BaseProject:
      type: object
      properties:
        global_javascript:
          type: string
          nullable: true
          description: 'Custom JavaScript code that will be included on all pages where this project''s tracking script is installed.

            This script runs before any experience-specific code, making it suitable for global helper functions, third-party integrations setup (like analytics), or defining global variables.

            KB: "Project, Experience, Variation Javascript" - "Global Project JavaScript".

            '
        name:
          type: string
          maxLength: 200
          description: A user-defined, friendly name for the project (e.g., "Main Website Optimization", "Q3 Marketing Campaigns", "Mobile App Features").
        project_type:
          type: string
          description: 'The type of project, determining its capabilities and how it''s used:

            - `web`: For traditional website A/B testing, MVT, Split URL, personalization, and deploys using the client-side JavaScript tracking snippet.

            - `fullstack`: For server-side experiments, feature flagging, and mobile app testing using Convert''s Full Stack SDKs.

            KB: "Full Stack Experiments on Convert".

            '
          enum:
          - web
          - fullstack
          default: web
        reporting_settings:
          allOf:
          - type: object
            description: Project settings used for reporting
            properties:
              tested_visitors_quota:
                type: integer
                minimum: 0
                description: Maximum number of tested visitors that is allowed to go through this project in a billing cycle. After that number has been reached, no experiences that have influence over tested visitors will run in this project.
              currency_symbol:
                type: string
                description: Currency symbol used in the reporting.
                maxLength: 10
              blocked_ips:
                type: object
                nullable: true
                properties:
                  single:
                    type: array
                    description: List of single ip addresses blocked.
                    items:
                      type: object
                      minProperties: 1
                      properties:
                        value:
                          type: string
                          format: ip-address
                        name:
                          type: string
                          nullable: true
                          maxLength: 64
                      required:
                      - value
                  range:
                    type: array
                    description: List of ip addresses range.
                    items:
                      type: object
                      minProperties: 1
                      properties:
                        start:
                          type: string
                          format: ip-address
                          description: Starts from ip.
                        end:
                          type: string
                          format: ip-address
                          description: Ends with ip.
                        name:
                          type: string
                          nullable: true
                          maxLength: 64
                      required:
                      - start
                      - end
                description: A list of blocked IPs that are not allowed to be counted in the reports
              stop_tracking_goals_after_days:
                type: string
                description: 'Defines goals tracking life time: goals won''t be tracking after specified days unless used in active experiments.'
                enum:
                - 'OFF'
                - 1 day
                - 15 days
                - 30 days
                - 60 days
              smart_recommendations:
                type: boolean
                default: true
                description: 'Whether to run or not Smart Recommendations.

                  '
              keep_running_until_confidence:
                type: boolean
                description: 'If true, experiments do not auto-complete when planned sample size (100% progress) is reached alone.

                  They only auto-complete when both planned sample size is reached and the confidence threshold is met.

                  If false, experiments complete automatically when planned sample size is reached, regardless of confidence level.

                  Default depends on automation toggle: when keep_winner or stop_loser is enabled, default is true; otherwise false.

                  '
          - $ref: '#/components/schemas/ExperienceReportingSettings'
        settings:
          type: object
          description: General operational settings for the project.
          properties:
            allow_crossdomain_tracking:
              type: boolean
              description: 'If true, enables automatic passing of Convert tracking cookies (`_conv_v`, `_conv_s`) as URL parameters when visitors navigate between different domains listed in this project''s `Active Websites`.

                Essential for maintaining consistent visitor identity and experiment bucketing across multiple domains (e.g., main site to a separate checkout domain).

                KB: "Cookies and Cross-Domain Testing".

                '
            allow_gdpr:
              type: boolean
              description: 'If true, displays GDPR-related warnings in the Convert UI for settings or features that might have privacy implications (e.g., using certain audience conditions, enabling cross-domain tracking).

                KB: "GDPR warnings".

                '
            data_anonymization:
              type: boolean
              description: 'If true, masks the names of experiences, variations, segments, and goals in the public JavaScript tracking snippet and in data sent to some third-party integrations.

                Instead of names, their numerical IDs are used. Enhances privacy by preventing public disclosure of experiment details.

                KB: "Prevent Experiment Details Data Leak with Data Anonymization".

                '
            do_not_track:
              type: string
              enum:
              - 'OFF'
              - EU ONLY
              - EEA ONLY
              - Worldwide
              description: 'Configures if and how the project respects the "Do Not Track" (DNT) browser setting sent by visitors.

                - `OFF`: DNT signals are ignored.

                - `EU ONLY`: Respects DNT for visitors from EU countries.

                - `EEA ONLY`: Respects DNT for visitors from European Economic Area countries.

                - `Worldwide`: Respects DNT for all visitors globally.

                If respected, the Convert script may not load or track for visitors with DNT enabled.

                KB: "Respect Browser Do Not Track Setting".

                '
            global_privacy_control:
              type: string
              enum:
              - 'OFF'
              - EU ONLY
              - EEA ONLY
              - Worldwide
              description: 'Configures if and how the project respects Global Privacy Control (GPC) signals sent by visitors'' browsers.

                Options are similar to `do_not_track`. If respected, data collection and tracking may be limited.

                KB: "Respect Browser Do Not Track Setting" - "Global Privacy Control (GPC)".

                '
            include_jquery:
              type: boolean
              description: '(For legacy tracking script) If true, Convert''s tracking script will include its own version of the jQuery library.

                If your website already loads jQuery, set this to false to avoid loading it twice and improve page performance. Ensure your site''s jQuery loads before the Convert script.

                KB: "Do not include jQuery into the tracking scripts".

                '
            include_jquery_v1:
              type: boolean
              default: false
              description: '(For new v1 tracking script) If true, includes a jQuery-compatible API within the Convert script, even though the core script is jQuery-independent.

                Set to true if your variation code or global JS relies on `convert.$()` syntax and your site doesn''t globally provide jQuery.

                The new script itself does not require jQuery to function.

                '
            disable_spa_functionality:
              type: boolean
              default: false
              description: 'If true, disables Convert''s built-in optimizations and automatic handling for Single Page Applications (SPAs).

                Most SPAs work well with default SPA functionality enabled. Only disable if encountering specific conflicts or issues.

                KB: "SPA Optimizations", "Running Experiments on Single Page Apps".

                '
            do_not_track_referral:
              type: boolean
              default: false
              description: 'If true, Convert will not store referral data (like HTTP referrer or UTM parameters) in visitor cookies for use across subsequent pages or sessions.

                Referral data will still be used for targeting on the initial page view where it''s present.

                '
            time_zone:
              type: string
              description: 'The primary timezone for this project (e.g., "America/New_York", "Europe/London", "UTC").

                This timezone is used for scheduling experiences, interpreting time-based audience conditions (like ''hour of day - project_tz''), and displaying timestamps in reports.

                '
            utc_offset:
              $ref: '#/components/schemas/UTC_Offset'
            time_format:
              type: string
              description: Preferred time format for display within the Convert application UI for this project (12-hour or 24-hour).
              enum:
              - 12h
              - 24h
            debug_token:
              $ref: '#/components/schemas/GenerateDebugTokenData'
            disable_default_config:
              type: boolean
              default: false
              description: '(For Full Stack projects) If true, disables the default public configuration endpoint for this project.

                Access to project configuration via SDKs would then strictly require an authenticated SDK key. Enhances security for Full Stack projects.

                '
            include_experience_collaborators:
              type: boolean
              default: false
              description: 'If true, experience details retrieved via API will include information about the experience owner and collaborators.

                KB: "Assign Visible Owners and Collaborators to Experiences".

                '
            version:
              type: string
              maxLength: 50
              nullable: true
              readOnly: true
              description: 'An internal version identifier for the project''s configuration.

                This version string changes whenever a modification is made that affects the tracking script''s content (e.g., updating an experience, goal, or project setting).

                Format: [ISO_datetime]-[incremental_number].

                '
            legacy_script:
              type: boolean
              default: false
              description: 'If true, this project is configured to use Convert''s legacy tracking script.

                If false, it uses the newer, more performant v1 tracking script.

                New projects default to `false`. Existing projects retain their current script setting.

                KB: "How to Install the Main Tag / Convert Tracking Code / JavaScript" - "The Tracking Script vs Legacy Tracking Script".

                '
            ignore_unused_locations:
              type: boolean
              default: false
              description: 'If true, locations that are not currently associated with any active experiences will be excluded from the tracking script data downloaded by visitors.

                This can help reduce snippet size and improve performance.

                KB: "Benefits of Archiving Unused Goals, Locations, and Audiences." (Related concept for goals).

                '
            personalization:
              type: object
              nullable: true
              description: Personalization settings.
              properties:
                enabled:
                  type: boolean
                  default: false
                  description: Indicates whether personalization is enabled for this project.
            tracking_script:
              type: object
              description: 'Settings related to the management and versioning of the Convert tracking script for this project.

                Allows choosing a release strategy (manual, latest, scheduled) and viewing available/applied script versions.

                KB: "Tracking Script Version Management".

                '
              additionalProperties: false
              nullable: true
              properties:
                current_version:
                  description: The version string of the tracking script currently active for this project (e.g., "v2.11.3").
                  type: string
                previous_version:
                  type: string
                  description: The version string of the tracking script that was active before the `current_version`. Only available if a rollback is possible (manual mode).
                  nullable: true
                  readOnly: true
                available_versions:
                  $ref: '#/components/schemas/TrackingScriptAvailableVersions'
                release:
                  $ref: '#/components/schemas/TrackingScriptRelease'
            visitor_insights:
              allOf:
              - $ref: '#/components/schemas/VisitorInsightsBase'
              - type: object
                properties:
                  id:
                    type: string
                    readOnly: true
                    description: Id of the visitor insights
                    nullable: true
              description: 'Settings for Convert Signals™ (Visitor Insights), which captures sessions with user frustration signals.

                KB: "Understanding Convert Signals™ and signals.observer.min.js script in Convert".

                '
        integrations_settings:
          type: object
          description: Project-wide settings for various third-party integrations (e.g., Google Analytics, Crazy Egg, Hotjar). Experience-level settings can sometimes override these.
          properties:
            crazyegg:
              description: 'Settings for Crazy Egg integration. Requires API key and secret for certain functionalities like automatically creating snapshots for variations.

                KB: "Integrate Convert Experiences with Crazy Egg".

                '
              properties:
                api_key:
                  type: string
                  maxLength: 100
                  nullable: true
                  description: Crazy Egg API key for this project.
                api_secret:
                  type: string
                  maxLength: 100
                  nullable: true
                  description: Crazy Egg API secret. Not returned in GET requests for security.
            google_analytics:
              $ref: '#/components/schemas/GA_Settings'
            kissmetrics:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: If true, enables sending of Convert experiment data to Kissmetrics for this project.
            hotjar:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: If true, enables sending of Convert experiment data (as tags) to Hotjar for this project.
        status:
          $ref: '#/components/schemas/ProjectStatuses'
        custom_domain:
          type: object
          nullable: true
          description: 'Configuration for using a custom domain (CNAME) to serve the Convert tracking script and receive tracking data.

            This can improve branding and potentially reduce issues with ad blockers or third-party cookie restrictions.

            Requires DNS setup.

            '
          required:
          - domain
          properties:
            domain:
              type: string
              description: The custom domain name (e.g., "analytics.yourcompany.com") to be used for Convert tracking.
              maxLength: 150
              pattern: ^.+\..+
            status:
              type: string
              description: 'The activation status of the custom domain:

                - `pending`: DNS changes are made, awaiting verification and activation by Convert.

                - `active`: Custom domain is verified and actively being used for tracking.

                '
              readOnly: true
              enum:
              - pending
              - active
            ownership_verification:
              type: array
              nullable: true
              readOnly: true
              description: DNS records and values required to verify ownership of the custom domain. Provided by Convert during setup.
              items:
                $ref: '#/components/schemas/CustomDomainOwnershipVerificationItem'
            version:
              type: string
              description: The version of the custom domain.
              readOnly: true
        environments:
          type: object
          description: 'A user-defined map of environments for this project (e.g., "production", "staging", "development").

            Each environment has its own variant of the tracking script. Experiences are typically configured to run in a specific environment.

            The number of allowed environments depends on the account''s subscription plan.

            KB: "The Environments Feature".

            '
          additionalProperties:
            type: object
            description: Defines a single environment. The key of this object in the parent `environments` map is the environment's machine-readable name (e.g., "production").
            properties:
              label:
                type: string
                description: A user-friendly display name for the environment (e.g., "Production Live Site", "QA Staging Server").
              is_default:
                type: boolean
                description: If true, this environment is considered the default for the project. New experiences might default to this environment if not specified. Only one environment can be the default.
              js:
                type: string
                nullable: true
                description: 'The environment-specific javascript code that will be loaded after the project''s global javascript.

                  When an environment is specified in the request, this code will be appended to the project''s global_javascript with a newline character.

                  '
            required:
            - label
            - is_default
          default:
            production:
              label: Production
              is_default: true
        default_goals:
          type: array
          description: A list of Goal IDs that will be automatically added to any new experience created within this project.
          items:
            $ref: '#/components/schemas/SimpleGoalExpandable'
        default_audiences:
          type: array
          description: A list of Audience IDs that will be automatically added to any new experience created within this project.
          items:
            $ref: '#/components/schemas/SimpleAudienceExpandable'
        default_locations:
          type: array
          description: A list of Location IDs that will be automatically added to any new experience created within this project.
          items:
            $ref: '#/components/schemas/SimpleLocationExpandable'
    Project:
      description: 'Represents a Convert project, which is a container for organizing a set of related optimization activities (experiences),

        their goals, target audiences, associated website domains, and collaborators.

        Each project has its own unique tracking script.

        Knowledge Base: "What is a Project?".

        '
      allOf:
      - $ref: '#/components/schemas/BaseProject'
      - type: object
        properties:
          id:
            type: integer
            description: Unique identifier representing a specific project in an user account. The project Id is part of the tracking snippet
          accessRole:
            $ref: '#/components/schemas/AccessRoleNames'
          owner_email:
            type: string
            description: Used only internally - An email of project owner. This field will exist only if project type is shared.
          account_id:
            type: integer
            description: The unique ID of the account under which this project is created. Account ID is also part of the tracking snippet
          created_at:
            type: integer
            description: Unix timestamp when project was created, in UTC time.
          modified_at:
            type: integer
            description: Unix timestamp when project was last modified, in UTC time.
          tracking_snippet:
            type: string
            description: The tracking code that needs to be placed on site in order to serve experiences from this project.
          updateMetadata:
            type: object
            description: 'Live update status for CDN invalidation of this project''s data and JS bundle.

              These fields allow the UI to inform the user when changes are pending and when they took effect.

              All timestamps are in seconds (UTC).

              '
            properties:
              pendingChanges:
                type: object
                description: Flags indicating if changes are pending CDN invalidation.
                properties:
                  data:
                    type: boolean
                    description: True if data changes are pending CDN invalidation.
                  js:
                    type: boolean
                    description: True if JS bundle changes are pending CDN invalidation.
              lastInvalidation:
                type: object
                description: Timestamps for the last completed CDN invalidations.
                properties:
                  js:
                    type: integer
                    nullable: true
                    description: Timestamp (seconds) when the last JS CDN invalidation completed.
                  data:
                    type: integer
                    nullable: true
                    description: Timestamp (seconds) when the last Data CDN invalidation completed.
              nextInvalidation:
                type: object
                description: Timestamps for the nearest scheduled CDN invalidations.
                properties:
                  js:
                    type: integer
                    nullable: true
                    description: The nearest scheduled CDN invalidation time (seconds) for the JS bundle if pending.
   

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/convert/refs/heads/main/openapi/convert-collaborators-api-openapi.yml