openapi: 3.2.0 info: title: wazo-call-logd Exports API description: Consult call logs from a REST API version: 1.0.0 contact: name: Wazo Dev Team url: https://wazo-platform.org/ email: dev@wazo.community x-logo: url: https://wazo-platform.org/images/logo-black.svg backgroundColor: '#FAFAFA' altText: Wazo Logo servers: - url: /1.0 security: - wazo_auth_token: [] tags: - name: exports paths: /cdr/recordings/media/export: post: summary: Create an export for the recording media of multiple CDRs description: '**Required ACL:** `call-logd.cdr.recordings.media.export.create` This endpoint creates a new export and returns its UUID. ' tags: - exports parameters: - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/until' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/call_direction' - $ref: '#/components/parameters/number' - $ref: '#/components/parameters/tags' - $ref: '#/components/parameters/user_uuid' - $ref: '#/components/parameters/from_id' - $ref: '#/components/parameters/recurse' - $ref: '#/components/parameters/tenantuuid' - $ref: '#/components/parameters/email' responses: '202': description: Creation of multiple recording media export started content: application/json: schema: type: object properties: export_uuid: type: string '404': $ref: '#/components/responses/NotFoundError' requestBody: content: application/json: schema: type: object properties: cdr_ids: type: array items: type: string description: The CDR IDs list from which to create an export /exports/{export_uuid}: get: summary: Get an export by the given UUID description: '**Required ACL:** `call-logd.exports.{export_uuid}.read`' tags: - exports parameters: - $ref: '#/components/parameters/export_uuid' responses: '200': description: Get an export by UUID content: application/json: schema: $ref: '#/components/schemas/Export' '404': $ref: '#/components/responses/NotFoundError' /exports/{export_uuid}/download: get: summary: Download an export as a ZIP archive by the given UUID description: '**Required ACL:** `call-logd.exports.{export_uuid}.download.read` This endpoint allow to use `?token={token_uuid}` and `?tenant={tenant_uuid}` query string to bypass headers ' tags: - exports parameters: - $ref: '#/components/parameters/export_uuid' responses: '200': description: Download an export by UUID '202': $ref: '#/components/responses/NotDoneYetError' '404': $ref: '#/components/responses/NotFoundError' components: parameters: search: required: false name: search in: query description: Filter list of items schema: type: string number: required: false name: number in: query description: Filter by source_extension and destination_extension. A wildcard (underscore) can be used at the start and/or the end of the number. schema: type: string tags: required: false name: tags in: query description: Filter by tags. Each tag MUST be separated by a coma (,). Many tag will perform a logical AND. schema: type: array items: type: string email: name: email description: E-mail address in: query schema: type: string until: name: until description: Ignore CDR starting at or after the given date. Format is ISO-8601. in: query required: false schema: type: string format: date-time user_uuid: required: false name: user_uuid in: query description: Filter by user_uuid. Many uuid can be specified. Each uuid MUST be separated by a comma (,). Many uuid will perform a logical OR. schema: type: array items: type: string recurse: name: recurse in: query description: Should the query include sub-tenants required: false schema: type: boolean default: false from: name: from description: Ignore CDR starting before the given date. Format is ISO-8601. in: query required: false schema: type: string format: date-time tenantuuid: name: Wazo-Tenant in: header description: The tenant's UUID, defining the ownership of a given resource. required: false schema: type: string call_direction: required: false name: call_direction in: query description: Filter list of items schema: type: string enum: - internal - inbound - outbound from_id: name: from_id description: Ignore CDR created before the given CDR ID. in: query required: false schema: type: integer export_uuid: name: export_uuid description: UUID of the given export required: true in: path schema: type: string responses: NotFoundError: description: The resource requested was not found on the server content: application/json: schema: $ref: '#/components/schemas/Error' NotDoneYetError: description: Not done yet content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Export: type: object properties: uuid: type: string tenant_uuid: type: string user_uuid: type: string requested_at: type: string format: date-time filename: type: string status: type: string enum: - pending - processing - finished - deleted - error Error: title: Error description: Error message for the client properties: message: description: Human readable explanation of the error type: string error_id: description: Identifier of the type of error. It is more precise than the HTTP status code. type: string details: description: Additional information about the error. The keys are specific to each error. type: object timestamp: description: Time when the error occured type: number format: timestamp securitySchemes: wazo_auth_token: type: apiKey name: X-Auth-Token in: header x-xivo-port: 9298 x-xivo-name: call-logs x-apievangelist-source: harvested_from: https://github.com/wazo-platform/wazo-call-logd assembly: base plugin api.yml deep-merged with all plugin api.yml fragments, reproducing what the running service serves at /api/call-logd/1.0/api/api.yml (see wazo_call_logd/plugins/api/http.py — xivo.chain_map.ChainMap) spec_version: Swagger 2.0 (as published by Wazo) harvested: '2026-08-17'