Metadata API and Tooling API deployment behaviour
What Metadata API and Tooling API each do in a deployment pipeline: payload limits, rollback and validation, quick deploy, the one-at-a-time deployment queue and cancellation, deploy permissions, source-tracked versus manifest deploys, and what a retrieve really returns.
Given a scenario, describe the capabilities, limitations and considerations when using the Metadata and Tooling APIs for deployment.
~8 min read · 15 practice questions ·
What the exam expects
- Choose Metadata API or Tooling API for a deployment, tooling or reporting requirement, and recognise when neither applies because the requirement is about records.
- Pick source-tracked or manifest-based deploys for each pipeline stage, knowing production never tracks source.
- Predict how payload size, rollbackOnError,
--ignore-errors, validation, quick deploy and the default test behaviour shape a release. - Explain the deployment queue and when cancelling still works; set least-privilege deploy permissions; predict what a profile or wildcard retrieve returns.
Key terms: metadata component (an instance of a metadata type, such as one custom tab), validation (a check-only deployment that runs tests but commits nothing), quick deploy (deploying a recent passing validation without rerunning tests), MetadataContainer (a Tooling API container of working copies such as ApexClassMember), source tracking (the CLI's record of changes between a project and an org).
Key facts
- Detail
- About 39 MB compressed, 50 MB after base-64, about 600 MB uncompressed
- Detail
- Modify Metadata Through Metadata API Functions or Modify All Data
- Detail
- rollbackOnError must be true; never
--ignore-errors
- Detail
- One deployment runs at a time; queue order not guaranteed
- Detail
- Validation passed for the same target within the last 10 days
- Detail
- No tests run in production from API 34.0
- Detail
- Never allowed in production; select components with a manifest, directory or metadata list
- Detail
- Beta; Tooling API 2,000 records, no reports; Bulk API 2.0 100,000
- Detail
- Excludes standard objects and managed package components
Sources for this section (6)
- deploy()developer.salesforce.com (opens in a new tab)
- project deploy start (CLI command reference)developer.salesforce.com (opens in a new tab)
- deployRecentValidation()developer.salesforce.com (opens in a new tab)
- Running Tests in a Deploymentdeveloper.salesforce.com (opens in a new tab)
- MetadataComponentDependency (Beta)developer.salesforce.com (opens in a new tab)
- Sample package.xml Manifest Filesdeveloper.salesforce.com (opens in a new tab)
- Why can a release with large binary static resources fail the size check well below 600 MB uncompressed?
- When does a passing validation stop qualifying for quick deploy?
- Why might a profile deployed from source leave a permission enabled that the file no longer grants?
- Which coverage rule must a validation meet for quick deploy when it ran RunSpecifiedTests?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Platform Development Lifecycle and Deployment Architect pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 26 lessons of the Platform Development Lifecycle and Deployment Architect guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Inline practice questions and one-click topic practice (15 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams