Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/agorapulse-studio-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Open Studio Media API
description: Agorapulse's Open API documentation
version: '1.0'
servers:
- url: https://api.agorapulse.com
description: Production
security:
- bearerAuth: []
tags:
- name: Studio Media
description: Studio media upload management
paths:
/v1.0/library/organizations/{organizationId}/workspaces/{workspaceId}/studio/media/upload:
post:
tags:
- Studio Media
summary: Request a presigned upload URL for studio media
description: Returns a presigned S3 PUT URL that can be used to upload a media file directly to S3
operationId: requestUpload
parameters:
- name: organizationId
in: path
description: Organization identifier
required: true
- name: workspaceId
in: path
description: Workspace identifier
required: true
requestBody:
description: Upload request details
content:
application/json:
schema:
$ref: '#/components/schemas/StudioMediaUploadOpenRequest'
required: true
responses:
'201':
description: Presigned upload URL generated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/StudioMediaUploadOpenResponse'
'400':
description: Invalid request data
'404':
description: Organization or workspace not found
components:
schemas:
StudioMediaUploadOpenRequest:
required:
- contentType
- extension
- fileSize
- origin
type: object
properties:
extension:
minLength: 1
type: string
description: File extension
example: jpg
fileSize:
minimum: 0
exclusiveMinimum: true
type: integer
description: File size in bytes
format: int64
example: 1048576
contentType:
minLength: 1
type: string
description: Content type (MIME)
example: image/jpeg
origin:
minLength: 1
type: string
description: Origin of the upload request
example: lovable
contentStudioSessionId:
type: string
description: Optional Content Studio session ID for grouping uploads
nullable: true
description: Request to obtain a presigned upload URL for a studio media
StudioMediaUploadOpenResponse:
type: object
properties:
uploadUrl:
type: string
description: Presigned PUT URL - upload file with HTTP PUT to this URL
filename:
type: string
description: S3 object key
publicUrl:
type: string
description: CDN URL to access the uploaded file
baseUrl:
type: string
description: S3 URL to access the uploaded file
expiresInSeconds:
type: integer
description: URL expiration in seconds
format: int32
requiredHeaders:
type: object
additionalProperties:
type: string
description: Headers the client MUST include in the PUT upload request
description: Presigned URL for direct S3 upload
securitySchemes:
bearerAuth:
type: apiKey
name: X-API-KEY
in: header