Livepeer accessControl API
Operations related to access control/signing keys api
Operations related to access control/signing keys api
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/livepeer-accesscontrol-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Livepeer Access Control API
version: 1.0.0
description: 'Operations tagged accessControl across 2 of this provider''s published API definitions: livepeer-openapi.yml, livepeer-studio-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://livepeer.studio/api
security:
- apiKey: []
tags:
- name: accessControl
description: Operations related to access control/signing keys api
paths:
/access-control/signing-key:
post:
operationId: createSigningKey
x-speakeasy-name-override: create
summary: Create a signing key
tags:
- accessControl
description: 'The publicKey is a representation of the public key, encoded as base 64 and is passed as a string, and the privateKey is displayed only on creation. This is the only moment where the client can save the private key, otherwise it will be lost. Remember to decode your string when signing JWTs.
Up to 10 signing keys can be generated, after that you must delete at least one signing key to create a new one.
'
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/signing-key'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: createSigningKey
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.accessControl.create();\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: createSigningKey
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.AccessControl.Create(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.SigningKey != nil {\n // handle response\n }\n}"
- lang: python
label: createSigningKey
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.access_control.create()\n\nif res.signing_key is not None:\n # handle response\n pass"
get:
operationId: getSigningKeys
x-speakeasy-name-override: getAll
summary: Retrieves signing keys
tags:
- accessControl
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/signing-key'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: getSigningKeys
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.accessControl.getAll();\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: getSigningKeys
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.AccessControl.GetAll(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.Data != nil {\n // handle response\n }\n}"
- lang: python
label: getSigningKeys
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.access_control.get_all()\n\nif res.data is not None:\n # handle response\n pass"
servers:
- url: https://livepeer.studio/api
/access-control/signing-key/{keyId}:
delete:
operationId: deleteSigningKey
x-speakeasy-name-override: delete
summary: Delete Signing Key
tags:
- accessControl
parameters:
- in: path
name: keyId
schema:
type: string
description: ID of the signing key
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'204':
description: Success (No content)
x-codeSamples:
- lang: typescript
label: deleteSigningKey
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.accessControl.delete(\"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: deleteSigningKey
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.AccessControl.Delete(ctx, \"<value>\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"
- lang: python
label: deleteSigningKey
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.access_control.delete(key_id=\"<value>\")\n\nif res is not None:\n # handle response\n pass"
get:
operationId: getSigningKey
x-speakeasy-name-override: get
summary: Retrieves a signing key
tags:
- accessControl
parameters:
- in: path
name: keyId
schema:
type: string
description: ID of the signing key
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/signing-key'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: getSigningKey
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.accessControl.get(\"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: getSigningKey
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.AccessControl.Get(ctx, \"<value>\")\n if err != nil {\n log.Fatal(err)\n }\n if res.SigningKey != nil {\n // handle response\n }\n}"
- lang: python
label: getSigningKey
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.access_control.get(key_id=\"<value>\")\n\nif res.signing_key is not None:\n # handle response\n pass"
patch:
operationId: updateSigningKey
x-speakeasy-name-override: update
summary: Update a signing key
tags:
- accessControl
parameters:
- in: path
name: keyId
schema:
type: string
description: ID of the signing key
required: true
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
disabled:
type: boolean
name:
type: string
additionalProperties: false
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'204':
description: Success (No content)
x-codeSamples:
- lang: typescript
label: updateSigningKey
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.accessControl.update({}, \"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: updateSigningKey
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"github.com/livepeer/livepeer-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.AccessControl.Update(ctx, \"<value>\", operations.UpdateSigningKeyRequestBody{})\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"
- lang: python
label: updateSigningKey
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.access_control.update(key_id=\"<value>\", request_body={})\n\nif res is not None:\n # handle response\n pass"
servers:
- url: https://livepeer.studio/api
components:
schemas:
signing-key:
type: object
additionalProperties: false
required:
- publicKey
properties:
id:
type: string
readOnly: true
example: 78df0075-b5f3-4683-a618-1086faca35dc
name:
type: string
description: Name of the signing key
example: key1
userId:
type: string
readOnly: true
example: 78df0075-b5f3-4683-a618-1086faca35dc
deprecated: true
createdAt:
readOnly: true
type: number
description: Timestamp (in milliseconds) at which the signing-key was created
example: 1587667174725
lastSeen:
readOnly: true
type: number
description: Timestamp (in milliseconds) at which the signing-key was last used
example: 1587667174725
publicKey:
type: string
disabled:
type: boolean
description: Disable the signing key to allow rotation safely
example: false
projectId:
type: string
description: The ID of the project
example: aac12556-4d65-4d34-9fb
error:
type: object
properties:
errors:
type: array
minItems: 1
items:
type: string
example:
- id not provided
- Account not found
securitySchemes:
apiKey:
type: http
scheme: bearer
bearerFormat: JWT
HTTPBearer:
type: http
scheme: bearer
x-refined-from:
- livepeer-openapi.yml
- livepeer-studio-openapi.yml