Spike Labs API
string · requiredstring · minLength: 1 · requiredstringstring · emailstring[]integer · min: 0 · max: 86400string · requiredstring · date-time · required
string · minLength: 1 · maxLength: 255 · requiredstring · minLength: 1 · maxLength: 255integer · min: 0string · uuid · requiredstring · uri · requiredstring · uri · requiredstring · date-time · required
integer · min: 1 · max: 100integer · min: 0string · enumnumber · requirednumber · requirednumber · required
string · uuid · requiredstring · uuid · requiredstring · uuid · requiredstring · requiredstring · requirednumber · requiredstring · uri · requiredstring · uri · requiredstring · enum · requiredstring · date-time · requiredstring · date-time · required
string · uuid · requiredstring · uuid · requiredstring · uuid · requiredstring · requiredstring · requirednumber · requiredstring · uri · requiredstring · uri · requiredstring · enum · requiredstring · date-time · requiredstring · date-time · required
POST
https://api.spikelabs.com
/tenant/api/tokens/mint
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Request Body
user_idnameemailscopesexp_secondsResponses
Token minted successfully
tokenexpires_atGenerate presigned URL for large file upload
POST
https://api.spikelabs.com
/media/api/files/presigned
Returns a presigned S3 URL for direct browser-to-S3 upload. Use for files > 5MB. After upload completes, call POST /files/{id}/confirm.
Generate presigned URL for large file upload › Request Body
mimeTypefilenamesizeGenerate presigned URL for large file upload › Responses
Presigned URL generated successfully
iduploadUrlcdnUrlexpiresAtList files for tenant
GET
https://api.spikelabs.com
/media/api/files
List all files for the authenticated tenant with pagination.
query Parameters
limitDefault: 20
offsetDefault: 0
statusEnum values:
pending
completed
failed
List files for tenant › Responses
200
Files listed successfully
object[] · required
totallimitoffsetConfirm presigned upload completed
POST
https://api.spikelabs.com
/media/api/files/{id}/confirm
Called after presigned URL upload completes to update file metadata and mark as completed.
path Parameters
idConfirm presigned upload completed › Responses
Upload confirmed successfully
idtenantIdfilenamemimeTypesizecdnUrlthumbnailUrlThumbnail URL for fast gallery loading (WebP, 320px)
uploadStatusEnum values:
pending
completed
failed
uploadedAtcreatedAtGet file metadata
GET
https://api.spikelabs.com
/media/api/files/{id}
Retrieve metadata for a specific file by ID.
path Parameters
idGet file metadata › Responses
File metadata retrieved successfully
idtenantIdfilenamemimeTypesizecdnUrlthumbnailUrlThumbnail URL for fast gallery loading (WebP, 320px)
uploadStatusEnum values:
pending
completed
failed
uploadedAtcreatedAt
