openapi: 3.0.1 info: title: ACRCloud Audio Files Broadcast Monitoring API description: Specification of the ACRCloud automatic content recognition (ACR) APIs. The Identification API recognizes music, custom audio, live channels, and humming from a short audio sample or a precomputed fingerprint using HMAC-SHA1 signed requests. The Console API (api-v2.acrcloud.com) manages buckets, audio files, file-scanning containers, and broadcast-monitoring projects using bearer-token access tokens, and the external Metadata API enriches tracks with third-party music metadata. termsOfService: https://www.acrcloud.com/terms/ contact: name: ACRCloud Support email: support@acrcloud.com url: https://www.acrcloud.com version: '1.0' servers: - url: https://identify-eu-west-1.acrcloud.com description: Identification API (EU West region; other regions use identify-{region}.acrcloud.com) - url: https://api-v2.acrcloud.com description: Console API and bucket/file/project management - url: https://eu-api-v2.acrcloud.com description: External Metadata API (region-specific host) tags: - name: Broadcast Monitoring description: Manage broadcast-database monitoring projects and result callbacks. paths: /api/bm-bd-projects: get: operationId: listBroadcastProjects tags: - Broadcast Monitoring summary: List broadcast-database monitoring projects. security: - bearerAuth: [] parameters: - name: region in: query schema: type: string responses: '200': description: List of broadcast-monitoring projects. content: application/json: schema: type: array items: $ref: '#/components/schemas/BmProject' post: operationId: createBroadcastProject tags: - Broadcast Monitoring summary: Create a broadcast-database monitoring project. security: - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BmProjectCreate' responses: '201': description: The created project. content: application/json: schema: $ref: '#/components/schemas/BmProject' /api/bm-bd-projects/{id}: parameters: - name: id in: path required: true schema: type: string put: operationId: updateBroadcastProject tags: - Broadcast Monitoring summary: Update a broadcast-monitoring project. security: - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BmProjectCreate' responses: '200': description: The updated project. content: application/json: schema: $ref: '#/components/schemas/BmProject' delete: operationId: deleteBroadcastProject tags: - Broadcast Monitoring summary: Delete a broadcast-monitoring project. security: - bearerAuth: [] responses: '204': description: Project deleted. /api/bm-bd-projects/{id}/result-callback: parameters: - name: id in: path required: true schema: type: string post: operationId: setResultCallback tags: - Broadcast Monitoring summary: Set the results callback URL for a broadcast-monitoring project. security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: result_callback_url: type: string format: uri result_callback_send_noresult: type: boolean result_callback_result_type: type: integer description: 0 = RealTime, 1 = Delay. responses: '200': description: Callback configured. components: schemas: BmProjectCreate: type: object required: - name - region properties: name: type: string region: type: string description: e.g. eu-west-1, us-west-2, ap-southeast-1. buckets: type: array items: type: string BmProject: type: object properties: id: type: string name: type: string region: type: string state: type: integer created_at: type: string securitySchemes: acrSignature: type: apiKey in: query name: signature description: HMAC-SHA1 request signing for the Identification API. The client sends access_key, timestamp, signature_version=1, data_type, and a Base64 signature. The signature is HMAC-SHA1 of the string "POST\n/v1/identify\n {access_key}\n{data_type}\n1\n{timestamp}" keyed with the access_secret. bearerAuth: type: http scheme: bearer description: 'Console API access token created in the ACRCloud console developer settings and sent as "Authorization: Bearer {token}".'