Media
Create Media Upload URL
Creates a Media Upload URL
Authorization
HTTPBearer AuthorizationBearer <token>
In: header
Header Parameters
Members-Context?string
Members organization id (org_…) when the client has multiple organizations.
Default
""Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://api.members.dev/v1/media/upload" \ -H "Content-Type: application/json" \ -d '{ "media_type": "org_logo", "content_type": "image/png" }'{
"upload_url": "string",
"public_url": "string",
"object_key": "orgs/org_01ARZ…/logo_550e8400-e29b-41d4-a716-446655440000.png",
"expires_in": 300
}{
"type": "https://api.members.dev/errors/invalid_credentials",
"title": "Invalid credentials",
"status": 401,
"detail": "Invalid API Key or token.",
"code": "invalid_credentials"
}{
"type": "https://api.members.dev/errors/not_linked_to_tenant",
"title": "Not linked to tenant",
"status": 403,
"detail": "Not linked to this tenant",
"code": "not_linked_to_tenant"
}{
"type": "https://api.members.dev/errors/member_not_found",
"title": "Member not found",
"status": 404,
"detail": "No member exists with the given id in this organization.",
"code": "member_not_found"
}{
"type": "https://api.members.dev/errors/members_context_required",
"title": "Members context required",
"status": 422,
"detail": "This client has multiple organizations. Send the Members-Context header with the organization id (org_…) for this request.",
"code": "members_context_required"
}{
"type": "https://api.members.dev/errors/rate_limit_exceeded",
"title": "Rate limit exceeded",
"status": 429,
"detail": "Rate limit exceeded",
"code": "rate_limit_exceeded"
}