# Mapping

## Create Mapping

> Creates a new mapping for a specific flow step.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Mapping"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MappingResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Mapping"}}},"Mapping":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"flow_version_id":{"type":"string"},"flow_step_id":{"type":"string"},"mapping":{"type":"string"},"mapping_file":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"MappingStoreRequest":{"type":"object","properties":{"flow_version_id":{"type":"string"},"flow_step_id":{"type":"string"},"mapping":{"type":"string"},"mapping_file":{"type":"string"}},"required":["flow_version_id","flow_step_id"]}}},"paths":{"/api/v1/mapping":{"post":{"summary":"Create Mapping","description":"Creates a new mapping for a specific flow step.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingStoreRequest"}}}},"tags":["Mapping"],"parameters":[]}}}}
```

## Generate Mapping

> Auto-generates a mapping between a specific source endpoint and a specific destination endpoint using field tag matching.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Mapping"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}}},"paths":{"/api/v1/mapping/generate/{sourceEndpoint}/{destinationEndpoint}":{"get":{"summary":"Generate Mapping","description":"Auto-generates a mapping between a specific source endpoint and a specific destination endpoint using field tag matching.","parameters":[{"name":"sourceEndpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The sourceEndpoint identifier."},{"name":"destinationEndpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The destinationEndpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Mapping"]}}}}
```

## Get Mapping

> Retrieves the details of a specific mapping.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Mapping"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MappingResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Mapping"}}},"Mapping":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"flow_version_id":{"type":"string"},"flow_step_id":{"type":"string"},"mapping":{"type":"string"},"mapping_file":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/api/v1/mapping/{mapping}":{"get":{"summary":"Get Mapping","description":"Retrieves the details of a specific mapping.","parameters":[{"name":"mapping","in":"path","required":true,"schema":{"type":"string"},"description":"The mapping identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Mapping"]}}}}
```

## Export Mapping

> Exports the configuration of a specific mapping as a JSON file.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Mapping"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}}},"paths":{"/api/v1/mapping/{mapping}/export":{"get":{"summary":"Export Mapping","description":"Exports the configuration of a specific mapping as a JSON file.","parameters":[{"name":"mapping","in":"path","required":true,"schema":{"type":"string"},"description":"The mapping identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Mapping"]}}}}
```
