---
title: "Process and upload a template"
method: POST
path: "/templates"
tags: ["Template"]
---

# Process and upload a template

`POST /templates`

Uploads a new template file with metadata for processing

## Headers

- `tenant-id` string, required

## Response `200`

Template processed successfully

- TemplateUploadResponse
  - `status` string
  - `data` TemplateData
    - `id` string
    - `name` string
    - `entities` string[]
    - `allFields` Field[]
      - `name` string
      - `mappedKey` string
      - `mappedEntity` string
      - `entityGroup` string
      - `isRequired` boolean
      - `isStaticField` boolean
      - `isSingleSelect` boolean
      - `validationRegex` string
      - `description` string
      - `enum` string[]
      - `singleSelect` boolean
    - `fields` FieldSuggestion[]
      - `name` string
      - `suggestedMatches` Field[]
        - `name` string
        - `mappedKey` string
        - `mappedEntity` string
        - `entityGroup` string
        - `isRequired` boolean
        - `isStaticField` boolean
        - `isSingleSelect` boolean
        - `validationRegex` string
        - `description` string
        - `enum` string[]
        - `singleSelect` boolean

## Other responses

- `400` — Invalid input or request
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `500` — Internal server error

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/3d27e9019c7b/schema)
