Brightcove Credentials API

Operations for creating and managing credentials for secure destinations.

OpenAPI Specification

brightcove-credentials-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Brightcove Analytics API Reference Access Tokens Credentials API
  description: "Reference for the Brightcove Analytics API, used to retrieve analytics data for your accounts. To test API requests, you can use our <a href=\"/getting-started/concepts-testing-tools-brightcove-apis.html\" target=\"_blank\">API Testing Tools</a>.\n\nFor additional in-depth guides to features of the API, see the **[general documentation](/analytics/index.html)**.\n\n **Base URL**: https://analytics.api.brightcove.com"
  x-bc-access: public
  version: 1.0.0
servers:
- url: https://analytics.api.brightcove.com
  variables: {}
tags:
- name: Credentials
  description: Operations for creating and managing credentials for secure destinations.
paths:
  /credentials:
    get:
      tags:
      - Credentials
      summary: List Credentials
      description: This endpoint can be used to get user credentials for a given user provided one has an API key.
      operationId: ListCredentials
      parameters:
      - $ref: '#/components/parameters/ContentType'
      - $ref: '#/components/parameters/XAPIKEY'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentials'
        '401':
          description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '404':
          description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '500':
          description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
      deprecated: false
      security: []
      x-operation-settings:
        CollectParameters: false
        AllowDynamicQueryParameters: false
        AllowDynamicFormParameters: false
        IsMultiContentStreaming: false
    post:
      tags:
      - Credentials
      summary: Create Credential
      description: 'Create a new credential. '
      operationId: CreateCredential
      parameters:
      - $ref: '#/components/parameters/ContentType'
      - $ref: '#/components/parameters/XAPIKEY'
      requestBody:
        description: Create a new credential.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCredentialbody'
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCredential'
        '400':
          description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '401':
          description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '404':
          description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '500':
          description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
      deprecated: false
      security: []
      x-operation-settings:
        CollectParameters: false
        AllowDynamicQueryParameters: false
        AllowDynamicFormParameters: false
        IsMultiContentStreaming: false
  /credentials/{credential_id}:
    put:
      tags:
      - Credentials
      summary: Update Credential
      description: 'Update a credential. '
      operationId: UpdateCredential
      parameters:
      - $ref: '#/components/parameters/CredentialId'
      - $ref: '#/components/parameters/ContentType'
      - $ref: '#/components/parameters/XAPIKEY'
      requestBody:
        description: Update a credential.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCredentialbody'
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCredential'
        '400':
          description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '401':
          description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '404':
          description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '500':
          description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
      deprecated: false
      security: []
      x-operation-settings:
        CollectParameters: false
        AllowDynamicQueryParameters: false
        AllowDynamicFormParameters: false
        IsMultiContentStreaming: false
    delete:
      tags:
      - Credentials
      summary: Delete Credential
      description: 'Delete a credential. '
      operationId: DeleteCredential
      parameters:
      - $ref: '#/components/parameters/CredentialId'
      - $ref: '#/components/parameters/ContentType'
      - $ref: '#/components/parameters/XAPIKEY'
      responses:
        '204':
          description: 'NO_CONTENT: the credential was deleted'
        '401':
          description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '404':
          description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
        '500':
          description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
      deprecated: false
      security: []
      x-operation-settings:
        CollectParameters: false
        AllowDynamicQueryParameters: false
        AllowDynamicFormParameters: false
        IsMultiContentStreaming: false
components:
  schemas:
    CreateCredentialbody:
      properties:
        credential_default_for_type:
          description: Whether these are the default credentials for the request type
          type: boolean
          default: false
        credential_label:
          description: Label for the credential
          type: string
        credential_private:
          description: Private key or password depending on the type
          type: string
        credential_public:
          description: Public key or password depending on the type
          type: string
        credential_type:
          description: The credential type
          enum:
          - ftp
          - http
          - oauth
          - rtmp
          - s3
          - videocloud
          - zencoder
          type: string
        oauth_settings:
          $ref: '#/components/schemas/CreateCredentialbody.oauthSettings'
        user_id:
          description: GUID for which the credentials are being created.
          type: string
          default: (all users)
      required:
      - credential_label
      - credential_type
      - credential_private
      - credential_public
      title: Create_CredentialBody
      type: object
    Credentials:
      properties:
        credential_default_for_type:
          description: The clip label (from the input)
          type: boolean
        credential_id:
          description: The credential id
          type: string
        credential_private:
          description: The private key for the credential (not shown; represented by asterisks)
          type: string
        credential_public:
          description: The public key for the credential
          type: string
        label:
          description: The label used to reference the credential in requests
          type: string
        type:
          description: The credential type
          enum:
          - ftp
          - http
          - oauth
          - rtmp
          - s3
          - videocloud
          - zencoder
          x-enum-elements:
          - name: ftp
            description: credentials for FTP site where clips should be sent
          - name: http
            description: basic authorization credentials for an http address to send notifications to
          - name: oauth
            description: credentials for OAuth2 authentication required for the address where notifications are to be sent
          - name: rtmp
            description: add authentication to the endpoint your encoder connects to, so that anyone who has the RTMP URL can't just connect
          - name: s3
            description: authentication for your S3 bucket to send clips to
          - name: videocloud
            description: authentication for your Video Cloud account to send clips to
          - name: zendcoder
            description: authentication for your Zencoder account to send clips to
          type: string
        user_id:
          description: The user id
          type: string
      required:
      - credential_default_for_type
      - user_id
      - credential_private
      - type
      - label
      - credential_id
      - credential_public
      title: credentials
      type: object
    ListCredentials:
      properties:
        Array:
          description: of credentials objects
          items:
            $ref: '#/components/schemas/Credentials'
          type: array
      required:
      - Array
      title: List_Credentials200
      type: object
    CreateCredential:
      properties:
        credential_id:
          description: The credential id
          type: string
        user_id:
          description: The user id
          type: string
      required:
      - credential_id
      - user_id
      title: Create_Credential_Response
      type: object
    UpdateCredentialbody:
      properties:
        credential_default_for_type:
          description: Whether these are the default credentials for the request type
          type: boolean
        credential_label:
          description: Label for the credential
          type: string
        credential_private:
          description: Private key or password depending on the type
          type: string
        credential_public:
          description: Public key or password depending on the type
          type: string
        credential_type:
          description: The credential type
          enum:
          - ftp
          - http
          - oauth
          - rtmp
          - s3
          - videocloud
          - zencoder
          type: string
        oauth_settings:
          $ref: '#/components/schemas/UpdateCredentialbody.oauthSettings'
        user_id:
          description: GUID for which the credentials are being created.
          type: string
      required:
      - user_id
      - credential_default_for_type
      - credential_label
      - credential_type
      - credential_private
      - credential_public
      title: Update_CredentialBody
      type: object
    UpdateCredential:
      properties:
        credential_id:
          description: The credential id
          type: string
        user_id:
          description: The user id
          type: string
      required:
      - credential_id
      - user_id
      title: Update_Credential_Response
      type: object
    UpdateCredentialbody.oauthSettings:
      title: Update_CredentialBody.oauth_settings
      type: object
      description: OAuth settings for OAuth credentials needed to send notifications to a notification URL Required for oauth type credentials
      properties:
        url:
          description: OAuth access token URL for OAuth credentials needed to send notifications to a notification URL
          type: string
      required:
      - url
    CreateCredentialbody.oauthSettings:
      properties:
        url:
          description: OAuth access token URL for OAuth credentials needed to send notifications to a notification URL
          type: string
      required:
      - url
      title: Create_CredentialBody.oauth_settings
      description: OAuth settings for OAuth credentials needed to send notifications to a notification URL Required for oauth type credentials
      type: object
  parameters:
    XAPIKEY:
      name: X-API-KEY
      in: header
      description: 'X-API-KEY: {Your_Live_API_Key}'
      required: true
      style: simple
      explode: false
      schema:
        type: string
    CredentialId:
      name: credential_id
      in: path
      description: A credential ID
      required: true
      style: simple
      explode: false
      schema:
        type: string
    ContentType:
      name: Content-Type
      in: header
      description: 'Content-Type: application/json'
      required: true
      style: simple
      explode: false
      schema:
        type: string
        default: application/json
      example: application/json
  securitySchemes:
    BC_OAuth2:
      type: oauth2
      description: Brightcove OAuth API. See the [support documentation](/oauth/index.html) or [Getting Access Tokens](/oauth/code-samples/oauth-api-sample-get-access-token.html) to learn more
      flows:
        clientCredentials:
          tokenUrl: https://oauth.brightcove.com/v4/access_token
          scopes:
            video-cloud/analytics/read: Read analytics data
            video-cloud/video/read: Read video data
x-bc-implicit-head: true
x-bc-implicit-options: true
x-bc-upstream: https://backend_server