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 API Testing Tools.\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