Developer documentation

JolyMusic API documentation

Integrate your application with the JolyMusic music catalog and account.

Base URL: https://jolymusic.com. All paths begin with /api.

Access and token lifecycle

Personal API tokens are available while an account has an active paid plan. Create and revoke them in Profile → API tokens.

  • The complete token is shown once; save it in a password manager or secret store.
  • Only a one-way token hash is stored by JolyMusic.
  • Revoke tokens immediately if they are lost or no longer needed.
  • Revoked, expired, and Free-plan tokens are rejected.

Authentication

Send personal tokens in every authenticated request using this exact header:

X-Joly-Api-Token: joly_your_token_here

Never put a token in a URL, browser bundle, public repository, or client-side application. Browser clients must use an origin allowed by the server CORS configuration.

Quick start

Confirm authentication with the current-user endpoint:

curl --request GET \
  --header "X-Joly-Api-Token: joly_your_token_here" \
  https://jolymusic.com/api/mobile/me

For a local HTTPS server with a self-signed certificate, add -k to curl. Never use -k in production.

Request and response conventions

  • Responses are JSON. Send Content-Type application/json when sending a JSON body.
  • Catalog and bootstrap payloads return data; aggregated payloads also include meta.includes and meta.count.
  • Several read endpoints return an ETag. Send If-None-Match on later GET requests and reuse the cached body after a 304 Not Modified response.
  • Item routes use positive integer IDs.
  • Public catalog routes do not require a token. Use a personal token for routes that identify or modify the account.

Select only catalog groups you need

curl "https://jolymusic.com/api/mobile/entities?include=keys,intervals,instruments"

Endpoint reference

This is the stable integration surface. The interactive OpenAPI reference documents the broader API Platform resources.

Account and aggregated catalog

MethodPathAuthenticationDescription
GET/api/mobile/meRequiredCurrent user account, roles, subscription, and capabilities.
GET/api/mobile/music-bootstrapOptionalKeys, scales, and instruments. Supports keyId, bassIntervalId, and relationships.
GET/api/mobile/entitiesOptionalAggregated catalog. Optional comma-separated include parameter limits returned groups.
GET/api/mobile/circular-tracksOptionalVisible circular-track catalog.

Mobile resource collections

For each collection, append /{id} to retrieve one resource.

CollectionItemDescription
GET /api/mobile/keysGET /api/mobile/keys/{id}Pitch keys.
GET /api/mobile/intervalsGET /api/mobile/intervals/{id}Musical intervals.
GET /api/mobile/key-scalesGET /api/mobile/key-scales/{id}Key and scale relationships.
GET /api/mobile/harmoniesGET /api/mobile/harmonies/{id}Visible harmonies.
GET /api/mobile/circular-rhythmsGET /api/mobile/circular-rhythms/{id}Circular rhythms.
GET /api/mobile/sound-enginesGET /api/mobile/sound-engines/{id}Sound engine metadata.
GET /api/mobile/sound-presetsGET /api/mobile/sound-presets/{id}Visible sound presets.
GET /api/mobile/articlesGET /api/mobile/articles/{id}Published articles.
GET /api/mobile/media-assetsGET /api/mobile/media-assets/{id}Visible media metadata.
GET /api/mobile/instrumentsGET /api/mobile/instruments/{id}Instrument catalog.
GET /api/mobile/instrument-rowsGET /api/mobile/instrument-rows/{id}Instrument-row catalog.
GET /api/mobile/music-systemsGET /api/mobile/music-systems/{id}Music-system catalog.
GET /api/mobile/music-systems/{id}/stateResolved state for one music system.

Public helpers

MethodPathDescription
GET/api/keysKey collection.
GET/api/instrumentsInstrument collection.
GET/api/instruments_selectInstrument select options.
GET/api/instrument_rows_selectInstrument-row select options.
GET/api/drum-folders.json /api/drum-folder-files.jsonDrum browser folders and files.

Response examples

Every endpoint listed above has a concrete JSON response example below.

Examples are shortened for readability. Real responses can contain more records and fields, while IDs, counts, URLs, and dates depend on your data and access rights.

Account and aggregated catalog results

GET/api/mobile/me

Example 200 response

{
    "id": 42,
    "username": "ada",
    "email": "ada@example.com",
    "roles": [
        "ROLE_USER"
    ],
    "personas": [
        "musician"
    ],
    "favoriteInstrumentIds": [
        10
    ],
    "locale": "en",
    "isVerified": true,
    "tier": "premium",
    "subscriptionPlan": "premium",
    "subscriptionTier": "premium",
    "subscriptionPlanCode": "premium-monthly",
    "groupQuota": 10,
    "canMakePrivate": true,
    "canUsePaidFeatures": true
}
GET/api/mobile/music-bootstrap

Example 200 response

{
    "meta": {
        "includes": [
            "keys",
            "key_scales",
            "instruments"
        ],
        "count": {
            "keys": 24,
            "key_scales": 202,
            "instruments": 33
        }
    },
    "data": {
        "keys": [
            {
                "id": 8,
                "baseTone": {
                    "id": 1,
                    "name": "C",
                    "midi": 48,
                    "solfege": "do"
                },
                "alteration": 0,
                "accidentals": 0,
                "signature": "",
                "frequency": 415.305,
                "color": "#ff0000"
            }
        ],
        "key_scales": [
            {
                "id": 1,
                "keyId": 8,
                "name": "Major (Ionian)",
                "type": "scale",
                "signature": "1,2,2,1,2,2,2",
                "fullName": "C Major (Ionian)",
                "keyToneName": "C",
                "canonicalPath": "\/chords-and-scales\/c\/major-ionian",
                "tones": [
                    {
                        "intervalId": 1,
                        "intervalAbbr": "1",
                        "noteName": "C",
                        "midiNumber": 48
                    },
                    {
                        "intervalId": 3,
                        "intervalAbbr": "2",
                        "noteName": "D",
                        "midiNumber": 50
                    }
                ]
            }
        ],
        "instruments": [
            {
                "id": 10,
                "name": "Bass (4-string)",
                "slug": "bass-4-string",
                "familyRouteKey": "fretboard",
                "familyCode": "FRETBOARD",
                "familyName": "Fretboard",
                "isPublic": true,
                "isPublished": true,
                "musicSystemIds": [
                    1
                ],
                "allowedPlaybackCapabilities": [
                    "monotonal",
                    "polytonal"
                ]
            }
        ]
    }
}
GET/api/mobile/entities?include=keys,intervals,instruments

Example 200 response

{
    "meta": {
        "includes": [
            "keys",
            "intervals",
            "instruments"
        ],
        "count": {
            "keys": 24,
            "intervals": 25,
            "instruments": 33
        }
    },
    "data": {
        "keys": [
            {
                "id": 8,
                "baseTone": {
                    "id": 1,
                    "name": "C",
                    "midi": 48,
                    "solfege": "do"
                },
                "alteration": 0,
                "accidentals": 0,
                "signature": "",
                "frequency": 415.305,
                "color": "#ff0000"
            }
        ],
        "intervals": [
            {
                "id": 5,
                "name": "Major Third",
                "abbreviation": "M3",
                "jazzAbbreviation": "3",
                "semitones": 4,
                "color": "#FFFF00",
                "degree": "III"
            }
        ],
        "instruments": [
            {
                "id": 10,
                "name": "Bass (4-string)",
                "slug": "bass-4-string",
                "familyRouteKey": "fretboard",
                "familyCode": "FRETBOARD",
                "familyName": "Fretboard",
                "isPublic": true,
                "isPublished": true,
                "musicSystemIds": [
                    1
                ],
                "allowedPlaybackCapabilities": [
                    "monotonal",
                    "polytonal"
                ]
            }
        ]
    }
}
GET/api/mobile/circular-tracks?limit=1

Example 200 response

{
    "meta": {
        "resource": "circular_tracks",
        "count": 1,
        "total": 148,
        "limit": 1
    },
    "data": [
        {
            "id": "rhythm:148",
            "kind": "rhythm",
            "name": "Circular Dubstep Half Time",
            "isPublic": true,
            "transport": {
                "bpm": 140,
                "ppq": 960,
                "beatsPerBar": 4,
                "beatUnit": 4
            },
            "ringCount": 4,
            "circularTrack": {
                "id": "standalone-circular-track",
                "type": "CIRCULAR",
                "rings": []
            },
            "source": {
                "type": "rhythm",
                "rhythmId": 148,
                "slug": "circular-dubstep-half-time"
            }
        }
    ]
}

Mobile collection and item results

Pitch keys.

GET/api/mobile/keys — Collection result
{
    "meta": {
        "resource": "keys",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 8,
            "baseTone": {
                "id": 1,
                "name": "C",
                "midi": 48,
                "solfege": "do"
            },
            "alteration": 0,
            "accidentals": 0,
            "signature": "",
            "frequency": 415.305,
            "color": "#ff0000"
        }
    ]
}
GET/api/mobile/keys/8 — Item result
{
    "meta": {
        "resource": "key",
        "count": 7,
        "filters": []
    },
    "data": {
        "id": 8,
        "baseTone": {
            "id": 1,
            "name": "C",
            "midi": 48,
            "solfege": "do"
        },
        "alteration": 0,
        "accidentals": 0,
        "signature": "",
        "frequency": 415.305,
        "color": "#ff0000"
    }
}

Musical intervals.

GET/api/mobile/intervals — Collection result
{
    "meta": {
        "resource": "intervals",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 5,
            "name": "Major Third",
            "abbreviation": "M3",
            "jazzAbbreviation": "3",
            "semitones": 4,
            "color": "#FFFF00",
            "degree": "III"
        }
    ]
}
GET/api/mobile/intervals/5 — Item result
{
    "meta": {
        "resource": "interval",
        "count": 7,
        "filters": []
    },
    "data": {
        "id": 5,
        "name": "Major Third",
        "abbreviation": "M3",
        "jazzAbbreviation": "3",
        "semitones": 4,
        "color": "#FFFF00",
        "degree": "III"
    }
}

Key and scale relationships.

GET/api/mobile/key-scales — Collection result
{
    "meta": {
        "resource": "key_scales",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 1,
            "keyId": 8,
            "name": "Major (Ionian)",
            "type": "scale",
            "signature": "1,2,2,1,2,2,2",
            "fullName": "C Major (Ionian)",
            "keyToneName": "C",
            "canonicalPath": "\/chords-and-scales\/c\/major-ionian",
            "tones": [
                {
                    "intervalId": 1,
                    "intervalAbbr": "1",
                    "noteName": "C",
                    "midiNumber": 48
                },
                {
                    "intervalId": 3,
                    "intervalAbbr": "2",
                    "noteName": "D",
                    "midiNumber": 50
                }
            ]
        }
    ]
}
GET/api/mobile/key-scales/1 — Item result
{
    "meta": {
        "resource": "key_scale",
        "count": 9,
        "filters": []
    },
    "data": {
        "id": 1,
        "keyId": 8,
        "name": "Major (Ionian)",
        "type": "scale",
        "signature": "1,2,2,1,2,2,2",
        "fullName": "C Major (Ionian)",
        "keyToneName": "C",
        "canonicalPath": "\/chords-and-scales\/c\/major-ionian",
        "tones": [
            {
                "intervalId": 1,
                "intervalAbbr": "1",
                "noteName": "C",
                "midiNumber": 48
            },
            {
                "intervalId": 3,
                "intervalAbbr": "2",
                "noteName": "D",
                "midiNumber": 50
            }
        ]
    }
}

Visible harmonies.

GET/api/mobile/harmonies — Collection result
{
    "meta": {
        "resource": "harmonies",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 42,
            "name": "Autumn Leaves",
            "ownerId": 3,
            "ownerUsername": "jolymusic",
            "isPublic": true,
            "events": [
                {
                    "id": 101,
                    "startTick": 0,
                    "durationTick": 3840,
                    "keyId": 8,
                    "scaleId": 1,
                    "label": "Cmaj7"
                }
            ],
            "sections": [
                {
                    "id": 12,
                    "sectionType": "A",
                    "label": "Theme A",
                    "position": 0,
                    "repeatCount": 2
                }
            ],
            "ownerTags": [
                "jazz"
            ],
            "userTags": []
        }
    ]
}
GET/api/mobile/harmonies/42 — Item result
{
    "meta": {
        "resource": "harmony",
        "count": 9,
        "filters": []
    },
    "data": {
        "id": 42,
        "name": "Autumn Leaves",
        "ownerId": 3,
        "ownerUsername": "jolymusic",
        "isPublic": true,
        "events": [
            {
                "id": 101,
                "startTick": 0,
                "durationTick": 3840,
                "keyId": 8,
                "scaleId": 1,
                "label": "Cmaj7"
            }
        ],
        "sections": [
            {
                "id": 12,
                "sectionType": "A",
                "label": "Theme A",
                "position": 0,
                "repeatCount": 2
            }
        ],
        "ownerTags": [
            "jazz"
        ],
        "userTags": []
    }
}

Circular rhythms.

GET/api/mobile/circular-rhythms — Collection result
{
    "meta": {
        "resource": "circular_rhythms",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 148,
            "name": "Circular Dubstep Half Time",
            "slug": "circular-dubstep-half-time",
            "isPublic": true,
            "ownerTags": [
                "dubstep",
                "half-time"
            ],
            "state": {
                "bpm": 140,
                "ppq": 960,
                "beatsPerBar": 4
            },
            "updatedAt": "2026-06-09T00:30:30+00:00"
        }
    ]
}
GET/api/mobile/circular-rhythms/148 — Item result
{
    "meta": {
        "resource": "circular_rhythm",
        "count": 7,
        "filters": []
    },
    "data": {
        "id": 148,
        "name": "Circular Dubstep Half Time",
        "slug": "circular-dubstep-half-time",
        "isPublic": true,
        "ownerTags": [
            "dubstep",
            "half-time"
        ],
        "state": {
            "bpm": 140,
            "ppq": 960,
            "beatsPerBar": 4
        },
        "updatedAt": "2026-06-09T00:30:30+00:00"
    }
}

Sound engine metadata.

GET/api/mobile/sound-engines — Collection result
{
    "meta": {
        "resource": "sound_engines",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 1,
            "code": "tone",
            "label": "Tone.js",
            "description": "Browser synthesis and sampling engine",
            "isEnabled": true,
            "defaultConfig": {
                "playMode": "pitched"
            },
            "supportedPlaybackCapabilities": [
                "monotonal",
                "polytonal",
                "percussion"
            ]
        }
    ]
}
GET/api/mobile/sound-engines/1 — Item result
{
    "meta": {
        "resource": "sound_engine",
        "count": 7,
        "filters": []
    },
    "data": {
        "id": 1,
        "code": "tone",
        "label": "Tone.js",
        "description": "Browser synthesis and sampling engine",
        "isEnabled": true,
        "defaultConfig": {
            "playMode": "pitched"
        },
        "supportedPlaybackCapabilities": [
            "monotonal",
            "polytonal",
            "percussion"
        ]
    }
}

Visible sound presets.

GET/api/mobile/sound-presets — Collection result
{
    "meta": {
        "resource": "sound_presets",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 29,
            "name": "Tone.js \u2022 Realistic Acoustic Kit",
            "color": "#e67e22",
            "isPublic": true,
            "isKit": true,
            "playbackCapability": "percussion",
            "engine": {
                "id": 1,
                "code": "tone",
                "label": "Tone.js"
            },
            "playback": {
                "engineCode": "tone",
                "playMode": "percussion",
                "toneInstrument": "db-tone:29"
            }
        }
    ]
}
GET/api/mobile/sound-presets/29 — Item result
{
    "meta": {
        "resource": "sound_preset",
        "count": 8,
        "filters": []
    },
    "data": {
        "id": 29,
        "name": "Tone.js \u2022 Realistic Acoustic Kit",
        "color": "#e67e22",
        "isPublic": true,
        "isKit": true,
        "playbackCapability": "percussion",
        "engine": {
            "id": 1,
            "code": "tone",
            "label": "Tone.js"
        },
        "playback": {
            "engineCode": "tone",
            "playMode": "percussion",
            "toneInstrument": "db-tone:29"
        }
    }
}

Published articles.

GET/api/mobile/articles — Collection result
{
    "meta": {
        "resource": "articles",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 17,
            "title": "Understanding tonal gravity",
            "slug": "understanding-tonal-gravity",
            "content": "<p>Article content\u2026<\/p>",
            "published": true,
            "createdAt": "2026-01-12T10:00:00+00:00",
            "updatedAt": "2026-06-10T14:30:00+00:00",
            "tags": [
                "harmony",
                "theory"
            ]
        }
    ]
}
GET/api/mobile/articles/17 — Item result
{
    "meta": {
        "resource": "article",
        "count": 8,
        "filters": []
    },
    "data": {
        "id": 17,
        "title": "Understanding tonal gravity",
        "slug": "understanding-tonal-gravity",
        "content": "<p>Article content\u2026<\/p>",
        "published": true,
        "createdAt": "2026-01-12T10:00:00+00:00",
        "updatedAt": "2026-06-10T14:30:00+00:00",
        "tags": [
            "harmony",
            "theory"
        ]
    }
}

Visible media metadata.

GET/api/mobile/media-assets — Collection result
{
    "meta": {
        "resource": "media_assets",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 91,
            "title": "Practice backing track",
            "nameSlug": "practice-backing-track",
            "kind": "audio",
            "audience": "public",
            "mimeType": "audio\/mpeg",
            "path": "\/uploads\/media\/practice-backing-track.mp3",
            "durationMs": 182000,
            "isPublic": true
        }
    ]
}
GET/api/mobile/media-assets/91 — Item result
{
    "meta": {
        "resource": "media_asset",
        "count": 9,
        "filters": []
    },
    "data": {
        "id": 91,
        "title": "Practice backing track",
        "nameSlug": "practice-backing-track",
        "kind": "audio",
        "audience": "public",
        "mimeType": "audio\/mpeg",
        "path": "\/uploads\/media\/practice-backing-track.mp3",
        "durationMs": 182000,
        "isPublic": true
    }
}

Instrument catalog.

GET/api/mobile/instruments — Collection result
{
    "meta": {
        "resource": "instruments",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 10,
            "name": "Bass (4-string)",
            "slug": "bass-4-string",
            "familyRouteKey": "fretboard",
            "familyCode": "FRETBOARD",
            "familyName": "Fretboard",
            "isPublic": true,
            "isPublished": true,
            "musicSystemIds": [
                1
            ],
            "allowedPlaybackCapabilities": [
                "monotonal",
                "polytonal"
            ]
        }
    ]
}
GET/api/mobile/instruments/10 — Item result
{
    "meta": {
        "resource": "instrument",
        "count": 10,
        "filters": []
    },
    "data": {
        "id": 10,
        "name": "Bass (4-string)",
        "slug": "bass-4-string",
        "familyRouteKey": "fretboard",
        "familyCode": "FRETBOARD",
        "familyName": "Fretboard",
        "isPublic": true,
        "isPublished": true,
        "musicSystemIds": [
            1
        ],
        "allowedPlaybackCapabilities": [
            "monotonal",
            "polytonal"
        ]
    }
}

Instrument-row catalog.

GET/api/mobile/instrument-rows — Collection result
{
    "meta": {
        "resource": "instrument_rows",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 2137,
            "instrumentId": 20,
            "instrumentName": "Drum Kit",
            "familyCode": "DRUMS",
            "midi": 36,
            "label": "Kick",
            "x": 1,
            "y": 3,
            "z": 0,
            "config": {
                "drum": "kick",
                "midi": 36,
                "isPercussion": true
            }
        }
    ]
}
GET/api/mobile/instrument-rows/2137 — Item result
{
    "meta": {
        "resource": "instrument_row",
        "count": 10,
        "filters": []
    },
    "data": {
        "id": 2137,
        "instrumentId": 20,
        "instrumentName": "Drum Kit",
        "familyCode": "DRUMS",
        "midi": 36,
        "label": "Kick",
        "x": 1,
        "y": 3,
        "z": 0,
        "config": {
            "drum": "kick",
            "midi": 36,
            "isPercussion": true
        }
    }
}

Music-system catalog.

GET/api/mobile/music-systems — Collection result
{
    "meta": {
        "resource": "music_systems",
        "count": 1,
        "filters": []
    },
    "data": [
        {
            "id": 1,
            "name": "12-tone equal temperament",
            "slug": "tet-12",
            "systemType": "equal_temperament",
            "octaveRatio": 2,
            "divisions": 12,
            "isPublic": true,
            "intervals": [
                {
                    "stepIndex": 0,
                    "label": "Unison",
                    "ratio": 1,
                    "cents": 0,
                    "color": "#FF0000"
                },
                {
                    "stepIndex": 1,
                    "label": "Minor Second",
                    "ratio": 1.059463,
                    "cents": 100,
                    "color": "#FF6600"
                }
            ]
        }
    ]
}
GET/api/mobile/music-systems/1 — Item result
{
    "meta": {
        "resource": "music_system",
        "count": 8,
        "filters": []
    },
    "data": {
        "id": 1,
        "name": "12-tone equal temperament",
        "slug": "tet-12",
        "systemType": "equal_temperament",
        "octaveRatio": 2,
        "divisions": 12,
        "isPublic": true,
        "intervals": [
            {
                "stepIndex": 0,
                "label": "Unison",
                "ratio": 1,
                "cents": 0,
                "color": "#FF0000"
            },
            {
                "stepIndex": 1,
                "label": "Minor Second",
                "ratio": 1.059463,
                "cents": 100,
                "color": "#FF6600"
            }
        ]
    }
}

Resolved state for one music system.

GET/api/mobile/music-systems/1/state — Item result
{
    "meta": {
        "resource": "music_system_state",
        "count": 5,
        "filters": []
    },
    "data": {
        "musicSystemId": 1,
        "slug": "tet-12",
        "divisions": 12,
        "octaveRatio": 2,
        "tones": [
            {
                "stepIndex": 0,
                "label": "C",
                "cents": 0,
                "frequency": 261.626
            },
            {
                "stepIndex": 1,
                "label": "C\u266f",
                "cents": 100,
                "frequency": 277.183
            }
        ]
    }
}

Public helper results

GET/api/keys

Example 200 response

[
    {
        "id": 8,
        "baseTone": {
            "id": 1,
            "name": "C",
            "midi": 48,
            "solfege": "do"
        },
        "alteration": 0,
        "accidentals": 0,
        "signature": "",
        "frequency": 415.305,
        "color": "#ff0000"
    }
]
GET/api/instruments

Example 200 response

[
    {
        "id": 10,
        "name": "Bass (4-string)",
        "slug": "bass-4-string",
        "familyRouteKey": "fretboard",
        "familyCode": "FRETBOARD",
        "familyName": "Fretboard",
        "isPublic": true,
        "isPublished": true,
        "musicSystemIds": [
            1
        ],
        "allowedPlaybackCapabilities": [
            "monotonal",
            "polytonal"
        ]
    }
]
GET/api/instruments_select

Example 200 response

{
    "items": [
        {
            "id": 10,
            "name": "Bass (4-string)",
            "familyCode": "FRETBOARD",
            "isPublished": true,
            "musicSystemIds": [
                1
            ],
            "isFavorite": false,
            "slug": "bass-4-string"
        }
    ]
}
GET/api/instrument_rows_select?instrumentId=20

Example 200 response

{
    "items": [
        {
            "id": 2137,
            "instrumentId": 20,
            "instrumentName": "Drum Kit",
            "familyCode": "DRUMS",
            "midi": 36,
            "label": "Kick",
            "x": 1,
            "y": 3,
            "z": 0,
            "config": {
                "drum": "kick",
                "midi": 36,
                "isPercussion": true
            }
        }
    ]
}
GET/api/drum-folders.json

Example 200 response

{
    "folders": [
        {
            "label": "acoustic-kit",
            "path": "\/samples\/drums\/acoustic-kit"
        }
    ]
}
GET/api/drum-folder-files.json?path=/samples/drums/acoustic-kit

Example 200 response

{
    "path": "\/samples\/drums\/acoustic-kit",
    "files": [
        {
            "url": "\/samples\/drums\/acoustic-kit\/kick.wav",
            "name": "kick.wav"
        }
    ]
}

Errors and troubleshooting

StatusMeaningAction
200SuccessUse the response payload.
304Cached representation is currentReuse your cached body.
401Token missing or invalidCheck the header; replace a lost or revoked token.
403Authentication is not allowedCheck plan, ownership, and permissions.
404Resource unavailableCheck the path and ID.
422Write validation failedReview validation details in the JSON response.

OpenAPI reference

The built-in interactive reference documents API Platform resource schemas and operations beyond the integration endpoints above.

Open API reference