Before you begin
You’ll need an API key to follow this guide. If you don’t have one, contact your Symmetry Client Success representative or reach out through the Client Support Center. You’ll also need to decide between Choose Mode, where the employee selects forms directly, and Guided Mode, where SPF asks targeted questions to determine the employee’s required forms. This guide covers both. See Form Modes for a full comparison.Postman
Download the SPF Postman collection and environment variables to test all endpoints with pre-built sample requests.
Symmetry Payroll Forms API overview
Explore and test every endpoint interactively in the SPF Swagger docs for production and staging.
Always develop and test against the staging environment before pointing your integration at production.
Step 1: Authenticate
Every SPF API endpoint other than/authentication/login itself requires a JWT access token. Request one by calling the authentication endpoint with your API key.
api-key header:
accessToken:
Authorization header on every other request in this guide. See Authentication in SPF for the full header format and token lifetime.
Step 2: Determine applicable forms
With your access token, call/forms with the employee’s home address and one or more work addresses. SPF uses these locations to determine which withholding forms the employee is recommended to complete.
forms array, where each entry includes the form’s id, name, title, formVersion, formLocality, formType, whether it’s recommended, and an initialQuestionSet: the question set ID you’ll need in Step 4. It also returns a locationData array with the normalized address and geocoding result for each address you submitted.
Need a full list of supported form IDs? Use the
/getAllFormIds endpoint, or refer to the SPF Catalog. A /v2/forms endpoint is also available with additional options such as includePreviewForms. See the Swagger docs for details.Step 3: Get guided flows (guided mode only)
If you’re implementing Guided Mode, call/guided-flows instead of /forms. Guided flows ask the employee targeted questions to determine the precise withholding forms they need, rather than presenting a list to choose from.
/forms (homeAddress and workAddresses). The response returns a flows array, where each entry includes a flow id, locality, residencyStatus, and whether it hasFlowQuestions. It also returns a locationData array with the normalized address and geocoding result for each address you submitted.
id to /flowQuestionSet to retrieve its first question set:
/flowQuestionSet with each subsequent question set ID returned in the response until the flow is complete.
Step 4: Retrieve form questions
Once you have aformId (from /forms, /guided-flows, or the employee’s own selection in Choose Mode), call /formQuestionSet to retrieve the questions for that form, starting with its initialQuestionSet ID.
questions (with id, questionText, htmlType, displayType, and validationRegex), along with navigation data telling you the next question set to request. Continue calling /formQuestionSet with each subsequent question set ID as the employee progresses through the form.
Step 5: Submit and retrieve the completed form
Once the employee has answered all required questions, call/fillPdf to submit their answers and receive the completed form PDF and tax parameters.
fields is a flat object: each key is a question id returned by /formQuestionSet in Step 4, and each value is the employee’s answer to that question, as a string.
signForm controls how the returned PDF is signed: PREVIEW (the default) for an unsigned, masked preview, SIGN for a completed and fully executed form, or SIGN_EXTERNALLY for a completed form left open for an external signing tool. See Interpreting SPF API responses for the full breakdown of each option.
The response includes:
- A completed, signable PDF of the withholding form
- Tax parameters for use in your payroll system
- Form metadata, including
name,title,formType, andlocality
Full endpoint reference
Next steps
SPF API overview
Base URLs, authentication, and the full interactive endpoint reference.
Core concepts overview
The model behind every SPF integration: forms, determination, and outputs.

