---
title: "Une chanson complete de mon carnet"
method: GET
path: "/me/songs/{songId}"
tags: ["carnet"]
---

# Une chanson complete de mon carnet

`GET /me/songs/{songId}`

## Request

- Base URL: `https://jam-jam.org/api/v1`
- URL: `https://jam-jam.org/api/v1/me/songs/{songId}`
- Auth: one of:
  - HTTP bearer
  - none

Rend le resume ET `song`, le payload pivot canonique (accords,
paroles, structure), au meme format que l'artefact `songbook` d'une
conversion.

Un identifiant inconnu et un identifiant appartenant a un autre
compte rendent le MEME `404`, au mot pres : cette API ne dit jamais
si un objet existe ailleurs.

## Path parameters

- `songId` string, required

## Response `200`

Chanson

- CarnetSongFull
  - `id` string, required: Identifiant stable au carnet (slug artiste-titre).
  - `title` string, required
  - `artist` string, nullable, required
  - `key` string, nullable, required: Tonalite affichee, meme convention que l'export ChordPro (`G`, `Am`...).
  - `capo` number, nullable, required
  - `bpm` number, nullable, required
  - `playlistIds` string[], required: Playlists (plates, multi-appartenance) qui contiennent cette chanson.
  - `updatedAt` string, date-time, required
  - `song` object, required: Payload pivot canonique : le MEME objet que `songs[0]` de l'artefact `GET /jobs/{id}/result/songbook`.

## Other responses

- `401`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `403`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `404`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `429`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).

---

[API](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api.md) · [All operations](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/revisions/64cd41a46e4e?raw)
