# getProvenance

> Part of the MAP Audio Music API docs. Index of every page: https://map.audio/developers/music-api/llms.txt. OpenAPI document: https://map.audio/developers/music-api/openapi.json.

`GET https://api.map.audio/v1/provenance/{id}`

Get a provenance record

A render's signed provenance record: the engine image, seed, presets, inputs and outputs with their SHA-256, the licence the render was made under, and that no AI model made the audio. Public, so anyone holding a record id can check it: verify `signature` (Ed25519 over the record's JSON with sorted keys and without `signature`) with the key in GET /.well-known/jwks.json whose `kid` matches. Free.

Auth: none; this route is public. Not an MCP tool: Public and unauthenticated: read it with a plain GET. get_job already returns each render's provenance record.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | A provenance record id (prov_…), from a job's `result.provenance.id`. Matches `^prov_[0-9A-HJKMNP-TV-Z]{26}$`. |

## Example

```sh
curl -sS "https://api.map.audio/v1/provenance/prov_01M6BPRVA8ZC7F7J737SQ0EPN2" \
  -H "Map-Version: 2026-11-01"
```

### 200: A render of 313 Disco

```json
{
  "object": "provenance",
  "id": "prov_01M6BPRVA8ZC7F7J737SQ0EPN2",
  "jobId": "job_01M6BPRE186QHP9QPYGDX5NNFP",
  "createdAt": "2026-11-01T14:03:41.877Z",
  "engine": {
    "product": "pam",
    "version": null,
    "runtime": "native-linux-x86_64",
    "image": "registry.cloudflare.com/c7c2e61448617e81ced650f444fb6787/pam-render@sha256:5c5ffe3fabc103e277280fbd65a08988d31361f00fe7857e36f603d67bcec42d"
  },
  "seed": 42,
  "presets": [
    {
      "ref": "pam:factory/313-disco",
      "sha256": "3afbf5dea1003b2d17385955017785a57d74c65f77f97b58cf5d7cec9794ca1c"
    }
  ],
  "packs": [],
  "userFiles": [],
  "inputs": [],
  "outputs": [
    {
      "file": "file_01M6BPRK0M34NBP2XKJ1RMX1TQ",
      "sha256": "5a3485b7a3221be5f7ead6ab953cbc198988a7246158215b32bb937acbd3852b"
    }
  ],
  "planner": null,
  "contracts": {
    "api": "2026-11-01",
    "pam.cli": 1
  },
  "aiModels": [],
  "audioByModel": false,
  "license": {
    "id": "lic_api_prototype_test",
    "commercialUse": false,
    "attribution": true
  },
  "kid": "6c2f0a9d4b7e1358",
  "signature": "ed25519:jsfkW3eF1r4kChqccp6AKLTvjTK5Re8acrEusqigz7MDUu6uZhsJXVnuQEl6EsErDgVYNXOkos9d0mMyt2CVCg"
}
```

### 404: Not found

```json
{
  "error": {
    "type": "not_found",
    "code": "not_found",
    "message": "No provenance record with that id; a job's result.provenance.id names its record.",
    "param": "id",
    "retryable": false,
    "jobId": null,
    "docUrl": "https://map.audio/developers/music-api/errors#not_found",
    "requestId": "9a3f7c2e5b1d8f40-LHR"
  }
}
```

## Responses

- `200`: The record.
- `404`: Not found
- `default`: Any other error: `error.code` names it, `error.param` the field at fault, and `error.docUrl` its entry in the error catalogue.

## Errors

- [`not_found`](https://map.audio/developers/music-api/errors#not_found)
- [`rate_limited`](https://map.audio/developers/music-api/errors#rate_limited)
- [`invalid_request`](https://map.audio/developers/music-api/errors#invalid_request)
