Skip to content

API Surface Area Roadmap (Phases 8-14) #17

@rianjs

Description

@rianjs

Overview

This issue tracks the API command implementations for the Salesforce CLI. Phases 1-7 (infrastructure, auth, CI/CD, packaging) are complete. This covers Phases 8-14 for the API surface area.

Decisions:

  • SOAP API: Ignored (not relevant for modern CLI)
  • Composite API: Deferred (placeholder issue for future consideration)

API Priority Matrix

API CLI Suitability Use Case Phase
REST API Excellent Core CRUD, queries, metadata 8
Bulk API 2.0 Excellent Large data import/export 9
Tooling API Excellent Developer tools, Apex, tests 10
Metadata API Good Deploy/retrieve (thin wrapper) 11
GraphQL API Very Good Modern queries, mutations 12
Streaming API Limited Event subscriptions 13
Composite API Deferred Batch operations 14 (placeholder)

Phase Summary

Phase 8: REST API Commands

  • sfdc query - SOQL queries with pagination
  • sfdc record - CRUD operations (get, create, update, delete)
  • sfdc search - SOSL text search
  • sfdc object - List/describe SObjects and fields
  • sfdc limits - Show org API limits

Phase 9: Bulk API 2.0

  • sfdc bulk import - Import CSV/JSON data (insert/update/upsert/delete)
  • sfdc bulk export - Export data via bulk query
  • sfdc bulk job - Job management (list, status, results, errors, abort)

Phase 10: Tooling API

  • sfdc apex - List, get, execute anonymous, run tests
  • sfdc log - List, get, tail debug logs
  • sfdc coverage - Code coverage reports

Phase 11: Metadata API (thin wrapper)

  • sfdc metadata types - List metadata types
  • sfdc metadata list - List components
  • sfdc metadata retrieve - Retrieve metadata
  • sfdc metadata deploy - Deploy metadata

Phase 12: GraphQL API

  • sfdc graphql query - Execute GraphQL queries
  • sfdc graphql mutate - Execute mutations
  • sfdc graphql schema - Schema introspection

Phase 13: Streaming API

  • sfdc events - Listen, list, publish Platform Events
  • sfdc cdc - Change Data Capture subscriptions

Phase 14: Composite API (Placeholder)

Deferred for future consideration after user feedback on Phases 8-13.

Implementation Order

  1. Phase 8 - REST API commands (builds on existing client)
  2. Phase 9 - Bulk API (high value for data operations)
  3. Phase 10 - Tooling API (developer workflows)
  4. Phase 11 - Metadata API (thin wrapper)
  5. Phase 12 - GraphQL API (modern alternative)
  6. Phase 13 - Streaming API (limited CLI value)
  7. Phase 14 - Composite API (deferred)

Linked Issues

Total: ~57 items across 7 phases

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions