Skip to content

[Bug] PowerApps CLI unable to find/add Dataverse API #433

Description

@BeaNs-au

Describe the bug

I had GHCP compile this report based on our troubleshooting sessions. I'm a 'low code' dev with a sys admin background so wanted to make sure enough detail was captured for you. Hope that's okay, apologies if not.

pa app find-dataverse-api and pa app add dataverse-api do not discover a published Dataverse Custom API, even though the same operation is present in the environment's $metadata document.

A different Custom API in the same environment, new_WorkingApi, was successfully discovered and generated the previous day.

Steps to Reproduce

  1. Create a public, global Dataverse Custom API Action named new_SaveDraftApi.

  2. Set:

    • Is Function: No
    • Is Private: No
    • Allowed Custom Processing Step Type: Sync and Async
    • Enabled for Workflow: No
  3. Add required request parameters:

    • new_InspectionId (Guid)
    • new_ExpectedRowVersion (String)
    • new_ExteriorGoodCondition (Integer)
  4. Add response property:

    • new_CurrentRowVersion (String)
  5. Save and publish the Custom API in an unmanaged solution.

  6. Verify the Custom API record and parameters exist through Dataverse queries.

  7. Download the environment metadata document and confirm it contains new_SaveDraftApi.

  8. From the root of an associated Power Apps Code App project, run:

    pa app find-dataverse-api --search "SaveDraftApi" --json
  9. Then run:

    pa app add dataverse-api --api-name new_SaveDraftApi

Expected behavior

pa app find-dataverse-api should return new_SaveDraftApi, and pa app add dataverse-api should generate the schema and typed service for the public Custom API.

Actual behavior

The operation is omitted from pa app find-dataverse-api results. Adding it fails with:

No Dataverse operation named 'new_SaveDraftApi' was found.
Use 'find-dataverse-api' to search for available operations.

A broad search for Save returns built-in operations but does not return new_SaveDraftApi.

Screenshots or Error Messages

The Custom API is verified in Dataverse with these settings:

  • Unique name: new_SaveDraftApi
  • Binding type: Global
  • Is Function: No
  • Is Private: No
  • Allowed Custom Processing Step Type: Sync and Async
  • Request parameters:
    • new_InspectionId: Guid, required
    • new_ExpectedRowVersion: String, required
    • new_ExteriorGoodCondition: Integer, required
  • Response property:
    • new_CurrentRowVersion: String

The downloaded Dataverse $metadata XML contains both:

new_WorkingApi
new_SaveDraftApi

I ran a wireshark capture to try and rule out Corp proxy issues as a potential cause
Network capture shows successful DNS resolution, TLS handshakes, and traffic exchange with both the Power Platform environment API and Dataverse API. No TLS alerts or transport anomalies were observed on those connections.

Environment information

  • Framework, build tool or relevant package used: React 19, TypeScript 5.9, Vite 7
  • Power Apps SDK: @microsoft/power-apps 1.2.13
  • Code Apps CLI: pa 0.15.3
  • Connection/components: Dataverse Custom API, Power Apps Code App
  • Environment: Dataverse online, Power Platform environment in Australia region
  • OS: Windows 11

Additional context

The same project and environment successfully generated a client for the public global Custom API new_WorkingApi using:

pa app add dataverse-api --api-name new_WorkingApi

The new Custom API is included in the same unmanaged solution as the working API. It was created and republished more than 15 hours before testing, so this does not appear to be normal metadata propagation delay.

No manual edits were made to generated Code Apps API schemas or power.config.json.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions