Artist Module Backend API
Related documentation: Artist Source of Truth Registry · Artist Module Backend · Artist Product Vision · Artist Endpoint Map · Frontend Artist · Error Contract
Purpose
Section titled “Purpose”This page is the runtime-oriented route inventory for the Artist module backend.
Use this page for:
- exact route families that currently exist
- auth/header rules
- ID behavior
- route discovery by capability area
Use Artist Endpoint Map when the question is:
- what is this endpoint for
- what screen should call it
- what flow does it belong to
Runtime basics
Section titled “Runtime basics”- runtime: Go / Fiber
- base path:
/api/v1 - health route:
GET /health - docs artifact: generated OpenAPI from backend repo
Auth model
Section titled “Auth model”All /api/v1/* routes accept either:
Bearer mode
Section titled “Bearer mode”Required headers:
Authorization: Bearer <JWT>x-org: <core-company-id>
Internal mode
Section titled “Internal mode”Required header:
X-Internal-API-Key: <MARKET_INTERNAL_API_KEY>
Response pattern
Section titled “Response pattern”Success:
{ "success": true, "data": {}}Error:
{ "success": false, "error": { "code": "SOME_CODE", "message": "Readable explanation" }}ID rules
Section titled “ID rules”The service still uses mixed ID families.
Typical rule:
- main directory entities often expose UUID path IDs
- geo and some compatibility entities still expose integer path IDs
Frontend should not guess. It should follow the generated OpenAPI and the actual returned IDs.
Include and subresource model
Section titled “Include and subresource model”Main entity reads are intentionally light by default.
Use:
include=...for moderate detail expansion- dedicated subresource routes for tabs and independently loaded sections
Typical examples:
GET /api/v1/artists?include=profile,genresGET /api/v1/companies/{id}?include=people,locations
Route inventory
Section titled “Route inventory”Directory and reference routes
Section titled “Directory and reference routes”Artists
Section titled “Artists”GET /api/v1/artistsPOST /api/v1/artistsGET /api/v1/artists/{id}PATCH /api/v1/artists/{id}DELETE /api/v1/artists/{id}GET /api/v1/artists/{id}/profilePUT /api/v1/artists/{id}/profileGET /api/v1/artists/{id}/genresPUT /api/v1/artists/{id}/genresGET /api/v1/artists/{id}/subgenresPUT /api/v1/artists/{id}/subgenresGET /api/v1/artists/{id}/platform-accountsPUT /api/v1/artists/{id}/platform-accountsGET /api/v1/artists/{id}/provider-refsPUT /api/v1/artists/{id}/provider-refsGET /api/v1/artists/{id}/teamPUT /api/v1/artists/{id}/teamGET /api/v1/artists/{id}/rosterPUT /api/v1/artists/{id}/roster
Companies
Section titled “Companies”GET /api/v1/companiesPOST /api/v1/companiesGET /api/v1/companies/{id}PATCH /api/v1/companies/{id}DELETE /api/v1/companies/{id}GET /api/v1/companies/{id}/peoplePUT /api/v1/companies/{id}/peopleGET /api/v1/companies/{id}/locationsPUT /api/v1/companies/{id}/locationsGET /api/v1/companies/{id}/genresPUT /api/v1/companies/{id}/genresGET /api/v1/companies/{id}/rosterPUT /api/v1/companies/{id}/rosterGET /api/v1/companies/{id}/social-metricsPUT /api/v1/companies/{id}/social-metrics
People
Section titled “People”GET /api/v1/peoplePOST /api/v1/peopleGET /api/v1/people/{id}PATCH /api/v1/people/{id}DELETE /api/v1/people/{id}GET /api/v1/people/{id}/companiesGET /api/v1/people/{id}/platform-accountsPUT /api/v1/people/{id}/platform-accounts
Taxonomy, geo, platform, provider
Section titled “Taxonomy, geo, platform, provider”GET /api/v1/genresPOST /api/v1/genresGET /api/v1/genres/{id}PATCH /api/v1/genres/{id}DELETE /api/v1/genres/{id}GET /api/v1/subgenresPOST /api/v1/subgenresGET /api/v1/subgenres/{id}PATCH /api/v1/subgenres/{id}DELETE /api/v1/subgenres/{id}GET /api/v1/regionsPOST /api/v1/regionsGET /api/v1/regions/{id}PATCH /api/v1/regions/{id}DELETE /api/v1/regions/{id}GET /api/v1/regions/{id}/subregionsGET /api/v1/regions/{id}/countriesGET /api/v1/subregions/{id}/countriesGET /api/v1/countriesPOST /api/v1/countriesGET /api/v1/countries/{id}PATCH /api/v1/countries/{id}DELETE /api/v1/countries/{id}GET /api/v1/countries/{id}/statesGET /api/v1/countries/{id}/citiesGET /api/v1/statesPOST /api/v1/statesGET /api/v1/states/{id}PATCH /api/v1/states/{id}DELETE /api/v1/states/{id}GET /api/v1/states/{id}/citiesGET /api/v1/citiesPOST /api/v1/citiesGET /api/v1/cities/{id}PATCH /api/v1/cities/{id}DELETE /api/v1/cities/{id}GET /api/v1/platformsPOST /api/v1/platformsGET /api/v1/platforms/{id}PATCH /api/v1/platforms/{id}DELETE /api/v1/platforms/{id}GET /api/v1/provider-sourcesPOST /api/v1/provider-sourcesGET /api/v1/provider-sources/{id}PATCH /api/v1/provider-sources/{id}DELETE /api/v1/provider-sources/{id}
Ownership, representation, and availability
Section titled “Ownership, representation, and availability”POST /api/v1/market-companies/{id}/claimsGET /api/v1/market-companies/{id}/claimsPOST /api/v1/market-companies/{id}/claims/{claimId}/approvePOST /api/v1/market-companies/{id}/claims/{claimId}/rejectGET /api/v1/market-companies/{id}/ownershipPOST /api/v1/artists/{id}/representation-claimsPOST /api/v1/artists/{id}/representation-claims/{claimId}/approvePOST /api/v1/artists/{id}/representation-claims/{claimId}/rejectGET /api/v1/artists/{id}/representationPOST /api/v1/artists/{id}/representation/disputesGET /api/v1/artists/{id}/availabilitiesPOST /api/v1/artists/{id}/availabilitiesPATCH /api/v1/artists/{id}/availabilities/{availabilityId}DELETE /api/v1/artists/{id}/availabilities/{availabilityId}GET /api/v1/marketplace/artist-availabilities
Booking workflow
Section titled “Booking workflow”GET /api/v1/booking-requestsPOST /api/v1/booking-requestsGET /api/v1/booking-requests/{requestId}PATCH /api/v1/booking-requests/{requestId}POST /api/v1/booking-requests/{requestId}/withdrawPOST /api/v1/booking-requests/{requestId}/convert-to-offerGET /api/v1/booking-offersPOST /api/v1/booking-offersGET /api/v1/booking-offers/{offerId}POST /api/v1/booking-offers/{offerId}/counterPOST /api/v1/booking-offers/{offerId}/acceptPOST /api/v1/booking-offers/{offerId}/declinePOST /api/v1/booking-offers/{offerId}/cancelGET /api/v1/booking-offers/{offerId}/holdsPOST /api/v1/booking-offers/{offerId}/holdsPATCH /api/v1/booking-offers/{offerId}/holds/{holdId}GET /api/v1/bookingsGET /api/v1/bookings/{bookingId}GET /api/v1/bookings/{bookingId}/activityPOST /api/v1/bookings/{bookingId}/activity
Contracts
Section titled “Contracts”GET /api/v1/market-companies/{id}/contract-templatesPOST /api/v1/market-companies/{id}/contract-templatesGET /api/v1/contract-templates/{templateId}PATCH /api/v1/contract-templates/{templateId}POST /api/v1/contract-templates/{templateId}/activatePOST /api/v1/contract-templates/{templateId}/archivePOST /api/v1/contract-templates/{templateId}/upload-sourceGET /api/v1/contract-templates/{templateId}/variablesGET /api/v1/bookings/{bookingId}/contractsPOST /api/v1/bookings/{bookingId}/contractsGET /api/v1/contracts/{contractId}POST /api/v1/contracts/{contractId}/sendPOST /api/v1/contracts/{contractId}/voidGET /api/v1/contracts/{contractId}/versionsPOST /api/v1/contracts/{contractId}/versionsGET /api/v1/contracts/{contractId}/signaturesPOST /api/v1/contracts/{contractId}/attachmentsGET /api/v1/contracts/{contractId}/eventsPOST /api/v1/contracts/{contractId}/signersPATCH /api/v1/contracts/{contractId}/signers/{signerId}POST /api/v1/contracts/{contractId}/signers/{signerId}/sendPOST /api/v1/contracts/{contractId}/signers/{signerId}/signPOST /api/v1/contracts/{contractId}/signers/{signerId}/decline
Touring, itinerary, and logistics
Section titled “Touring, itinerary, and logistics”GET /api/v1/artists/{id}/tour-plansPOST /api/v1/artists/{id}/tour-plansGET /api/v1/tour-plans/{tourPlanId}PATCH /api/v1/tour-plans/{tourPlanId}POST /api/v1/tour-plans/{tourPlanId}/stopsPATCH /api/v1/tour-plans/{tourPlanId}/stops/{stopId}GET /api/v1/tour-plans/{tourPlanId}/routingPOST /api/v1/tour-plans/{tourPlanId}/routing/rebuildGET /api/v1/tour-plans/{tourPlanId}/conflictsGET /api/v1/bookings/{bookingId}/logisticsPOST /api/v1/bookings/{bookingId}/logisticsPATCH /api/v1/bookings/{bookingId}/logisticsGET /api/v1/bookings/{bookingId}/itineraryPOST /api/v1/bookings/{bookingId}/itinerary-itemsPATCH /api/v1/bookings/{bookingId}/itinerary-items/{itemId}GET /api/v1/bookings/{bookingId}/logistics-submissionsPOST /api/v1/bookings/{bookingId}/logistics-submissionsGET /api/v1/logistics-submissions/{submissionId}PATCH /api/v1/logistics-submissions/{submissionId}POST /api/v1/logistics-submissions/{submissionId}/submitPOST /api/v1/logistics-submissions/{submissionId}/approvePOST /api/v1/logistics-submissions/{submissionId}/rejectPOST /api/v1/logistics-submissions/{submissionId}/request-changesGET /api/v1/logistics-submissions/{submissionId}/decisions
Relationship intelligence and read models
Section titled “Relationship intelligence and read models”GET /api/v1/relationshipsGET /api/v1/relationships/{relationshipId}GET /api/v1/relationships/{relationshipId}/notesPOST /api/v1/relationships/{relationshipId}/notesGET /api/v1/relationships/{relationshipId}/flagsPOST /api/v1/relationships/{relationshipId}/flagsGET /api/v1/relationships/{relationshipId}/ratingsPOST /api/v1/relationships/{relationshipId}/ratingsGET /api/v1/relationships/{relationshipId}/trust-scoreGET /api/v1/relationships/{relationshipId}/signalsGET /api/v1/artists/{id}/booking-historyGET /api/v1/promoters/{id}/booking-historyGET /api/v1/agencies/{id}/booking-historyGET /api/v1/bookings/{bookingId}/finance-statusGET /api/v1/bookings/{bookingId}/payment-scheduleGET /api/v1/bookings/{bookingId}/deposit-statusPOST /api/v1/bookings/{bookingId}/finance-handoffGET /api/v1/agencies/{id}/dashboardGET /api/v1/agencies/{id}/roster/pipelineGET /api/v1/agencies/{id}/tasksGET /api/v1/agencies/{id}/activityGET /api/v1/promoters/{id}/dashboardGET /api/v1/promoters/{id}/shortlistsPOST /api/v1/promoters/{id}/shortlistsPOST /api/v1/promoters/{id}/shortlists/{shortlistId}/artistsGET /api/v1/promoters/{id}/inquiriesGET /api/v1/promoters/{id}/offersGET /api/v1/marketplace/artistsGET /api/v1/marketplace/agenciesGET /api/v1/marketplace/promotersGET /api/v1/marketplace/talent-buyersGET /api/v1/marketplace/venues
Public route
Section titled “Public route”Outside the auth-protected /api/v1 surface:
GET /health
Practical documentation rule
Section titled “Practical documentation rule”Use:
- this page for the exact route surface
- Artist Endpoint Map for route purpose, frontend screen mapping, and flow explanations