---
title: "Validate a project source binding"
method: POST
path: "/v1/projects/validate"
tags: ["Projects"]
---

# Validate a project source binding

`POST /v1/projects/validate`

Validates whether a locator/source pair maps to an existing project, surfacing drift or conflicts.

## Headers

- `Authorization` string

## Request body

- object
  - `locator` object
    - `workspaceName` string, required
    - `projectName` string, required
  - `source` object, required
    - `sourceType` string, required
    - `sourceUri` string, required
    - `repoSubpath` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'project-validation', required
    - `attributes` object, required
      - `locator` object, nullable, required
        - `workspaceName` string, required
        - `projectName` string, required
      - `source` object, required
        - `sourceType` string, required
        - `sourceUri` string, required
        - `repoSubpath` string, required
      - `outcome` union, required
        - 'match'
        - 'locator_drift'
        - 'provenance_drift'
        - 'full_mismatch'
        - 'conflict'
      - `allowedActions` union[], required
        - union
          - 'relink'
          - 'update_source'
          - 'update_name'
          - 'create'
      - `linkedProject` object, nullable, required
        - `id` string, uuid, required
        - `workspaceId` string, uuid, required
        - `workspaceName` string, required
        - `name` string, required
        - `sourceType` string, required
        - `sourceUri` string, required
        - `repoSubpath` string, required
      - `sourceMatches` object[], required
        - `id` string, uuid, required
        - `workspaceId` string, uuid, required
        - `workspaceName` string, required
        - `name` string, required
        - `sourceType` string, required
        - `sourceUri` string, required
        - `repoSubpath` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/tessl/apis/tessl-api.md) · [All operations](https://skmtc.net/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tessl/tessl-api/versions/fbb186825642/schema)
