> ## Documentation Index
> Fetch the complete documentation index at: https://docs.techforgeinnovate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Project Mapping Fields

> Return the input fields a project expects so you can build brand-safe payloads dynamically.

# Get Project Mapping Fields

Returns the field map extracted from a project's stored instructions. This is the endpoint to call before building the `values` object for `POST /jobs/v2`.

## Path parameters

<ParamField path="projectId" type="string" required>
  Project UUID returned by `GET /api/provider/projects/active`.
</ParamField>

## Example request

```bash theme={null}
curl "https://api.techforgeinnovate.com/api/provider/projects/468ea7a0-66e1-4357-a760-236e54167f3e/mapping-fields" \
  -H "x-api-key: $TFI_API_KEY"
```

## Response

<ResponseField name="message" type="string" required>
  Returns `Success` when the project exists and is accessible.
</ResponseField>

<ResponseField name="data.projectId" type="string" required>
  Project UUID.
</ResponseField>

<ResponseField name="data.projectName" type="string" required>
  Human-readable project name.
</ResponseField>

<ResponseField name="data.projectType" type="string" required>
  Project workflow type.
</ResponseField>

<ResponseField name="data.fields" type="object" required>
  Map keyed by field identifier. Each field contains a label and an optional `instructionType`.
</ResponseField>

<ResponseField name="data.fetchedAt" type="string" required>
  ISO timestamp showing when the field map was generated.
</ResponseField>

Example response:

```json theme={null}
{
  "message": "Success",
  "data": {
    "projectId": "468ea7a0-66e1-4357-a760-236e54167f3e",
    "projectName": "Spring campaign avatar video",
    "projectType": "ai_talking_video",
    "fields": {
      "headline": {
        "label": "Headline",
        "instructionType": "text"
      },
      "voiceover": {
        "label": "Voiceover",
        "instructionType": "audio"
      },
      "avatar": {
        "label": "Avatar",
        "instructionType": "image"
      }
    },
    "fetchedAt": "2026-04-16T12:00:00.000Z"
  }
}
```

## Status codes

* `200 OK` when the project is found
* `401 Unauthorized` when the key is missing or invalid
* `404 Not Found` when the project does not belong to the authenticated account or no longer exists
