Skip to content

[Typescript] "No matching export ..." error for PIPEDRIVE.COM api #7861

Description

@WolfgangHG

Found as part of #7774:

Using the source code from 2026-06-17 and this command:

.\it\generate-code.ps1 -descriptionUrl https://developers.pipedrive.com/docs/api/v1/openapi.yaml -language typescript -dev
.\it\exec-cmd.ps1 -descriptionUrl https://developers.pipedrive.com/docs/api/v1/openapi.yaml -language typescript

The generated client does not compile:

X [ERROR] No matching export in "src/app/client/oauth/token/index.ts" for import "createPostResponseFromDiscriminatorValue"

    src/app/client/oauth/token/index.ts:5:9:
      5 │ import { createPostResponseFromDiscriminatorValue, serializePostRequestBody, serializePostResponse, type P...
        ╵          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

X [ERROR] No matching export in "src/app/client/oauth/token/index.ts" for import "serializePostRequestBody"

    src/app/client/oauth/token/index.ts:5:51:
      5 │ ...eatePostResponseFromDiscriminatorValue, serializePostRequestBody, serializePostResponse, type PostReque...
        ╵                                            ~~~~~~~~~~~~~~~~~~~~~~~~

X [ERROR] No matching export in "src/app/client/oauth/token/index.ts" for import "TokenRequestBuilderNavigationMetadata"

    src/app/client/oauth/index.ts:7:57:
      7 │ ...tRequestBuilderRequestsMetadata, TokenRequestBuilderNavigationMetadata, TokenRequestBuilderRequestsMeta...
        ╵                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

X [ERROR] No matching export in "src/app/client/oauth/token/index.ts" for import "TokenRequestBuilderRequestsMetadata"

    src/app/client/oauth/index.ts:7:96:
      7 │ ...RequestBuilderNavigationMetadata, TokenRequestBuilderRequestsMetadata, type TokenRequestBuilder } from ...
        ╵ 

This is the error line in "app\client\oauth\token\index.ts":

import { createPostResponseFromDiscriminatorValue, serializePostRequestBody, serializePostResponse, type PostRequestBody, type PostResponse } from './index.js';

And this is the error line in "app\client\oauth\index.ts":

import { EmptyPathSegmentRequestBuilderRequestsMetadata, TokenRequestBuilderNavigationMetadata, TokenRequestBuilderRequestsMetadata, type TokenRequestBuilder } from './token/index.js';

It is caused by the endpoint /oauth/token/ ("Refreshing the tokens"), but I don't see anything special here:

  /oauth/token/:
    post:
      summary: Refreshing the tokens
      description: 'The `access_token` has a lifetime. After a period of time, which was returned to you in `expires_in` JSON property, the `access_token` will be invalid, and you can no longer use it to get data from our API. To refresh the `access_token`, you must use the `refresh_token`.'
      operationId: refresh-tokens
      x-token-cost: 0
      servers:
        - url: 'https://oauth.pipedrive.com'
      tags:
        - Oauth
      security:
        - basic_authentication: []
      parameters:
        - in: header
          name: Authorization
          required: true
          schema:
            type: string
          description: 'Base 64 encoded string containing the `client_id` and `client_secret` values. The header value should be `Basic <base64(client_id:client_secret)>`.'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              title: getTokensRequest
              type: object
              properties:
                grant_type:
                  type: string
                  enum:
                    - authorization_code
                    - refresh_token
                  default: refresh_token
                  description: 'Since you are to refresh your access_token, you must use the value "refresh_token"'
                refresh_token:
                  type: string
                  description: The refresh token that you received after you exchanged the authorization code
      responses:
        '200':
          description: Returns user Oauth2 tokens.
          content:
            application/json:
              schema:
                title: GetTokensResponse
                type: object
                properties:
                  access_token:
                    type: string
                    description: 'You need to use an `access_token` for accessing the user''s data via API. You will need to [refresh the access token](https://pipedrive.readme.io/docs/marketplace-oauth-authorization#step-7-refreshing-the-tokens) if the `access_token` becomes invalid.'
                  token_type:
                    type: string
                    description: The format of the token. Always "Bearer".
                  refresh_token:
                    type: string
                    description: 'A refresh token is needed when you refresh the access token. refresh_token will expire if it isn''t used in 60 days. Each time refresh_token is used, its expiry date is reset back to 60 days.'
                  scope:
                    type: string
                    description: List of scopes to which users have agreed to grant access within this `access_token`
                  expires_in:
                    type: integer
                    description: The maximum time in seconds until the `access_token` expires
                  api_domain:
                    type: string
                    description: 'The base URL path, including the company_domain, where the requests can be sent to'
              example:
                access_token: 'v1u:AQIB...iPsNrmj'
                token_type: Bearer
                expires_in: 3599
                refresh_token: '1:1:2a5496a8bdd0f829dcb09dc8ba82b188f0ea4481'
                scope: base
                api_domain: 'https://user-company.pipedrive.com'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Needs Triage 🔍

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions