Avaya Signed URI API

This section is to used to generate signed uri for the respective request.

Operations 2

POST /accounts/{accountId}/media/signed-upload-uri Generate Upload URI #
GET /accounts/{accountId}/media/{mediaId}/signed-download-uri Get Download URI #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avaya-signed-uri-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

avaya-signed-uri-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digital - Signed Media URI Signed URI API
  description: Media store is used for storing media exchanged during chat or messaging. Different types of media like audio files, video files, images, documents, and spreadsheets can be exchanged. Signed URI APIs help clients to upload and download media without the need of account based access tokens.
  contact:
    name: Avaya API Team
    url: https://developers.avayacloud.com/onecloud-ccaas
    email: apiteam@avaya.com
  license:
    name: Avaya Software Development Kit (SDK) Software License Terms
    url: http://support.avaya.com/css/P8/documents/101038288
  version: 1.0.1
servers:
- url: '{protocol}://{server}{basePath}'
  description: Open API
  variables:
    protocol:
      enum:
      - https
      default: https
    server:
      default: HOST-REGION.api.avayacloud.com
    basePath:
      default: /api/media-store/v1
- url: '{protocol}://{server}:{port}'
  description: Internal API
  variables:
    protocol:
      enum:
      - http
      - https
      default: http
    server:
      default: umr
    port:
      enum:
      - '80'
      - '443'
      default: '80'
security:
- {}
- BearerAuth: []
  AppKey: []
tags:
- name: Signed URI
  description: This section is to used to generate signed uri for the respective request.
paths:
  /accounts/{accountId}/media/signed-upload-uri:
    post:
      tags:
      - Signed URI
      summary: Generate Upload URI
      description: Generates a signed URI using which media can be uploaded.
      operationId: signedMediaUploadUri
      parameters:
      - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignedMediaUpload'
            examples:
              Signed Upload URI:
                $ref: '#/components/examples/SignedMediaUploadRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedMediaUpload'
              examples:
                Signed Upload URI:
                  $ref: '#/components/examples/SignedMediaUploadResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
  /accounts/{accountId}/media/{mediaId}/signed-download-uri:
    get:
      tags:
      - Signed URI
      summary: Get Download URI
      description: Gets the signed download URI by media id, using which media can be downloaded
      operationId: signedMediaDownloadUri
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/mediaId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedMediaDownloadResponse'
              examples:
                Signed Download URI:
                  $ref: '#/components/examples/SignedMediaDownloadResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
components:
  examples:
    ErrorForbidden:
      description: Forbidden
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden
        title: Forbidden
        status: 403
        detail: According to the access control policy the current user and/or accountId does not have permission to access this resource.
    ErrorConstraintViolation:
      description: Constraint Violation
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title: Constraint Violation
        status: 400
        detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
        violations:
        - field: mediaId
          message: must not be null
    SignedMediaUploadResponse:
      value:
        mediaName: MyFile.png
        mediaContentType: image/png
        mediaSize: 100000
        mediaId: b03976ea-7e8b-11ea-bc55-0242ac130003
        uploadSignedUri: https://HOST-REGION.api.avayacloud.com/api/media-store/v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427123&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f
    ErrorNotFound:
      description: Not Found
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#internal-error
        title: Internal Server Error
        status: 404
        detail: No data found for given Id
    SignedMediaUploadRequest:
      value:
        mediaName: MyFile.png
        mediaContentType: image/png
        mediaSize: 100000
    ErrorUnauthorized:
      description: Unauthorized
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized
        title: Unauthorized
        status: 401
        detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis
    SignedMediaDownloadResponse:
      value:
        mediaName: MyFile.png
        mediaContentType: image/png
        mediaSize: 100000
        mediaId: b03976ea-7e8b-11ea-bc55-0242ac130003
        downloadSignedUri: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f
    ErrorInternalServerError:
      description: Internal Server Error
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#internal-error
        title: Internal Server Error
        status: 500
        detail: An internal server error was encountered.
    ErrorConstraintViolationForMediaId:
      description: Constraint Violation
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title: Constraint Violation
        status: 400
        detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
        violations:
        - field: mediaId
          message: is not valid
  responses:
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorNotFound'
    BadRequest:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorConstraintViolation'
            invalid-media-id:
              $ref: '#/components/examples/ErrorConstraintViolationForMediaId'
    InternalServerError:
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorInternalServerError'
    Forbidden:
      description: Forbidden.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorForbidden'
    Unauthorized:
      description: Unauthorized.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorUnauthorized'
  parameters:
    accountId:
      in: path
      name: accountId
      required: true
      schema:
        type: string
        minLength: 6
        maxLength: 6
        pattern: ^[a-zA-Z]{6}$
        example: ABCDEF
      description: Account ID for which this operation is to be performed.
    mediaId:
      in: path
      name: mediaId
      description: The unique 36 character internal id that represents the media
      required: true
      schema:
        type: string
        minLength: 36
        maxLength: 36
        pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
        example: 6e232c4b-b0fe-4901-8b81-288ec7de9e4c
  schemas:
    SignedMediaInfo:
      type: object
      required:
      - mediaName
      - mediaContentType
      - mediaSize
      properties:
        mediaName:
          type: string
          description: Name of the media file to be uploaded.
          minLength: 1
          maxLength: 255
          example: MyFile.png
        mediaContentType:
          type: string
          description: Content type or media type of the media file to be uploaded.
          minLength: 1
          maxLength: 255
          example: image/png
        mediaSize:
          type: number
          description: Size of the media file to be uploaded in bytes.
          format: long
          minimum: 1
          example: 1000000
        mediaId:
          readOnly: true
          type: string
          description: The unique 36 character internal id that represents the media
          example: b03976ea-7e8b-11ea-bc55-0242ac130003
      title: SignedMediaUpload
      description: Signed Medial Upload
    SignedMediaUpload:
      allOf:
      - $ref: '#/components/schemas/SignedMediaInfo'
      - type: object
        additionalProperties: true
        properties:
          uploadSignedUri:
            readOnly: true
            type: string
            description: URI to upload media file
            example: https://HOST-REGION.api.avayacloud.com/api/media-store/v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427123&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f
      title: SignedMediaUpload
      description: Signed Medial Upload
    SignedMediaDownloadResponse:
      allOf:
      - $ref: '#/components/schemas/SignedMediaInfo'
      - type: object
        additionalProperties: true
        properties:
          downloadSignedUri:
            readOnly: true
            type: string
            description: URI to download media file
            example: https://HOST-REGION.api.avayacloud.com/api/media-store/v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427123&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f
      title: SignedMediaDownloadResponse
      description: Signed Media Download Response
    Problem:
      type: object
      description: '<b>Problem Detail</b> as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs <a href="https://tools.ietf.org/html/rfc7807">RFC 7807</a>

        '
      properties:
        type:
          type: string
          format: uri
          description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).

            '
          default: about:blank
          example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title:
          type:
          - string
          - 'null'
          description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).

            '
          example: Service Unavailable
        status:
          type:
          - integer
          - 'null'
          format: int32
          description: 'The HTTP status code generated by the origin server for this occurrence of the problem.

            '
          minimum: 100
          example: 503
          exclusiveMaximum: 600
        detail:
          type:
          - string
          - 'null'
          description: 'A human readable explanation specific to this occurrence of the problem.

            '
          example: Connection to database timed out
        instance:
          type:
          - string
          - 'null'
          format: uri
          description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

            '
        violations:
          type:
          - array
          - 'null'
          description: 'A list of violations that occurred as a result of invalid data provided as part of a request.

            '
          items:
            type: object
            properties:
              field:
                type: string
                description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.

                  '
                example: accountId
              message:
                type: string
                description: 'A human readable explanation specific to this occurrence of the violation.

                  '
                example: must match "^[a-zA-Z]{6}$"
              code:
                type: integer
                format: int32
                description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.

                  '
                example: 20006
          example:
          - field: emailAddress
            message: must not be null
            code: 20002
          - field: accountId
            message: must match "^[a-zA-Z]{6}$"
            code: 20006
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: This API uses Bearer Token Authorization Flow
      bearerFormat: JWT
    AppKey:
      type: apiKey
      in: header
      name: appkey
      description: This API needs an appKey as header
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go