---
title: "Resolve Harbor Source Mappings"
method: POST
path: "/api/harbors/{harbor_id}/source-mappings/resolve"
tags: ["Harbors"]
---

# Resolve Harbor Source Mappings

`POST /api/harbors/{harbor_id}/source-mappings/resolve`

## Request

- Base URL: `https://app.polytomic.com`
- URL: `https://app.polytomic.com/api/harbors/{harbor_id}/source-mappings/resolve`
- Auth: one of:
  - HTTP bearer
  - HTTP basic

Resolves documented source table and field identities to the names a Harbor's backing Connection accepts.

## Path parameters

- `harbor_id` string, uuid, required: Unique identifier of the Harbor

## Headers

- `X-Polytomic-Version` string

## Request body

- ResolveHarborSourceMappingsRequest
  - `sources` HarborSourceReference[], nullable, required: Source tables to resolve. Answered in request order; maximum 200 entries, each naming at most 500 fields.
    - `connection_id` string, uuid, required: Source Connection the documented table belongs to: the bulk sync's source, or the model's Connection
    - `fields` string[]: Source field identifiers to translate. Fields not listed are not returned.
    - `model_id` string, uuid: Model identifier for a table a model sync delivers. Fields are then model field identifiers. Exactly one of schema_id and model_id is required.
    - `schema_id` string: Source schema identifier, exactly as source schema discovery reports it, for a table a bulk sync delivers. Exactly one of schema_id and model_id is required.

## Response `200`

OK

- ResolveHarborSourceMappingsEnvelope
  - `data` object: The resolved source mappings
    - `backing_connection_id` string, uuid: Connection the resolved names belong to
    - `sources` HarborSourceMappingResponse[], nullable: One result per requested source table, in request order
      - `destination_schema_id` string: Qualified table name in the Harbor's backing Connection. Empty unless status is resolved.
      - `fields` object, nullable: Requested source field identifiers mapped to their destination names. A requested field that is not in the Harbor is absent.
      - `status` string: resolved when exactly one sync writes the table into the Harbor and the table is there: a bulk sync's completed run, or a model sync's configured table in the Harbor's cached schema. unresolved when none does, ambiguous when more than one does.

## Other responses

- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/polytomic/apis/polytomic-api.md) - [All operations](https://skmtc.dev/polytomic/apis/polytomic-api/llms.txt) - [OpenAPI document](https://skmtc.dev/polytomic/apis/polytomic-api/revisions/3c88180d2470?raw)
