Skip to main content

Upload and fully approve a template in one call

POST 

/templates/single-step

Executes the complete template workflow in a single request: creates the template record, uploads template.csv and mappings.csv to GCS, records a column mapping per CSV row, generates the JSON validation schema (schema.json), and sets the template status to success.

When to use: Prefer this endpoint when the column-to-field mapping is known in advance and no human review of suggestions is needed. Use the legacy two-step flow (POST /templates then PUT /templates/{id} then PUT /templates/{id}/approve) when you need to inspect or adjust auto-suggested mappings before committing.

How: Send a multipart/form-data request with the required tenant-id header and fields: name (display name), type (PRACTITIONER, FACILITY, or GROUP - GROUP requires the tenant's supportGroupRosters configuration, otherwise 400), description (optional), and file. The file must have a .csv extension (400 otherwise) and is a mappings-definition CSV: each row defines one roster column (header name, mapped Certify attribute, required flag, optional multiple-value group and separator). Every row must carry a mapped attribute; rows with missing mapping keys cause a 400.

Returns: A SingleStepTemplateFlowResponse with the new templateId, the resolved fields, the final status (success, or failure if schema generation failed - the record then stays in-progress), and the GCS object paths schemaUrl and templateUrl (paths, not signed URLs). On success the template is immediately usable for roster uploads.

Request​

Responses​

The created template's ID, resolved column mappings, final status, and artifact object paths.