Overview
The Beat Requests API powers the custom beat request marketplace. Users spend tokens to create time-limited requests specifying their needs (genre, BPM, mood, budget). Producers browse active requests and submit tracks to fulfill them.Base URL:
https://open.beatpass.ca/api/v1/beat-requestsAuthentication: All beat request endpoints require a valid Bearer token.Request Lifecycle
Create Request
User spends tokens to create a beat request with specifications (genre, BPM, mood, budget, reference track). Requests are active for 24, 48, or 72 hours.
Review Submissions
The requester reviews submitted tracks and connects with producers directly if interested.
Token System
Beat requests use a token-based system tied to the user’s subscription plan:Token Cost
24h = 1 token, 48h = 2 tokens, 72h = 3 tokens
Monthly Allocation
Tokens refresh monthly based on subscription plan
Refunds
Tokens are refunded when the owner deletes a request (capped at plan allowance)
Endpoints
List Active Requests
Get all active beat requests on the marketplace.Create Request
Create a new beat request by spending tokens.Description of the beat you’re looking for.
Reference track URL or description for producers to understand the style.
Preferred genre.
Preferred BPM range (e.g., “135-145”).
Preferred musical key.
Desired mood or vibe.
Budget range.
How long the request stays active:
24, 48, or 72. Default: 24.Get Request
Get details for a specific beat request.Delete Request
Delete a beat request. Only the request owner can delete.When a request is deleted, the spent tokens are refunded to the owner (capped at plan allowance). For example, deleting a 72-hour request refunds up to 3 tokens, but never exceeds the user’s monthly token limit.
Submit Track
Submit a track to an active beat request. Producers use this endpoint to send their beats to a requester. Each producer can submit multiple tracks per request, up to the platform limit.The ID of the track to submit. Must be a platform-hosted track owned by (or collaborated on by) the authenticated user, with completed audio processing.
- Track must be uploaded to the platform (external links not accepted)
- Track must have completed audio processing
- Producer must own or collaborate on the track
- Cannot submit to your own request
- Cannot submit the same track twice to the same request
Get Submissions
Get the list of tracks submitted to a beat request. Only available to the request owner.Renew Request
Renew an expired beat request for an additional period. The renewal uses the same duration as the original request and costs the same number of tokens. Requests can only be renewed within 30 days of expiration.Log Request View
Record that a producer has viewed a beat request. Used for analytics and engagement tracking.Beat request ID.
User-Specific Endpoints
My Requests
Get the authenticated user’s own beat requests.My Submitted Tracks
Get tracks the authenticated user has submitted to beat requests.Token Status
Check the user’s current token balance and rate limit status.Reference Data
Statistics
Get platform-wide beat request statistics.Duration Tiers
Get available duration tiers and their token costs.Error Reference
Creation
| Error | Code | Cause |
|---|---|---|
| Invalid duration | 400 | Duration must be 24, 48, or 72 |
| Insufficient tokens | 429 | Not enough tokens for chosen duration |
| Description too short | 422 | Content under minimum length |
| Reference track required | 422 | Missing reference track URL |
Submission
| Error | Code | Cause |
|---|---|---|
| Request not found | 404 | Invalid request ID |
| Request expired | 410 | Duration window has closed |
| Duplicate submission | 409 | Same track already submitted |
| Submission limit reached | 422 | Maximum tracks per request reached |
| Duplicate audio detected | 409 | Audio fingerprint matches existing submission |
| Track not platform-hosted | 422 | Track must be uploaded to the platform |
| Fingerprint not completed | 422 | Track audio processing not finished |
| Not track owner | 403 | Must own or collaborate on the track |
| Self-submission blocked | 403 | Cannot submit to your own request |
Deletion & Renewal
| Error | Code | Cause |
|---|---|---|
| Unauthorized | 403 | Only the request owner can delete or renew |
| Request still active | 409 | Cannot renew a request that hasn’t expired |
| Renewal window expired | 410 | More than 30 days since expiration |
| No token for renewal | 429 | No tokens available |