Gcore Secrets API
The Secrets API from Gcore — 3 operation(s) for secrets.
The Secrets API from Gcore — 3 operation(s) for secrets.
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/gcore:gcore-secrets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Cloud Secrets API
description: '___brandName___ Cloud API provides an API to manage Cloud resources and services.
API address is: https://api.___serverHost___/cloud
# Authentication
You can find the available authorization methods in this section:
Authorization methods
Project ID & Region ID
Most endpoints require project_id and region_id path parameters.
List Regions
and
List Projects
to see available projects and regions.'
version: 14.491.0
servers:
- url: https://api.___serverHost___/cloud
tags:
- name: Secrets
paths:
/v2/secrets/{project_id}/{region_id}:
post:
operationId: SecretsViewSetV2.post
summary: Create secret
description: ''
parameters:
- in: path
name: project_id
required: true
description: Project ID
schema:
description: Project ID
examples:
- 1
title: Project Id
type: integer
- in: path
name: region_id
required: true
description: Region ID
schema:
description: Region ID
examples:
- 1
title: Region Id
type: integer
responses:
'200':
description: Task IDs
content:
application/json:
schema:
$ref: '#/components/schemas/TaskIDsSerializer'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSecretSerializerV2'
tags:
- Secrets
/v1/secrets/{project_id}/{region_id}:
get:
operationId: SecretsViewSet.get
summary: List secrets
description: ''
parameters:
- in: path
name: project_id
required: true
description: Project ID
schema:
description: Project ID
examples:
- 1
title: Project Id
type: integer
- in: path
name: region_id
required: true
description: Region ID
schema:
description: Region ID
examples:
- 1
title: Region Id
type: integer
- in: query
name: limit
required: false
description: Optional. Limit the number of returned items
schema:
default: 1000
description: Optional. Limit the number of returned items
examples:
- 1000
exclusiveMinimum: 0
maximum: 1000
title: Limit
type: integer
- in: query
name: offset
required: false
description: Optional. Offset value is used to exclude the first set of records from the result
schema:
default: 0
description: Optional. Offset value is used to exclude the first set of records from the result
examples:
- 0
minimum: 0
title: Offset
type: integer
responses:
'200':
description: Secrets
content:
application/json:
schema:
$ref: '#/components/schemas/SecretCollectionSerializer'
tags:
- Secrets
post:
operationId: SecretsViewSet.post
summary: Create secret
description: '**Deprecated**: Use `POST /v2/secrets/{project_id}/{region_id}` instead.'
parameters:
- in: path
name: project_id
required: true
description: Project ID
schema:
description: Project ID
examples:
- 1
title: Project Id
type: integer
- in: path
name: region_id
required: true
description: Region ID
schema:
description: Region ID
examples:
- 1
title: Region Id
type: integer
responses:
'200':
description: Task IDs
content:
application/json:
schema:
$ref: '#/components/schemas/TaskIDsSerializer'
deprecated: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSecretSerializer'
tags:
- Secrets
/v1/secrets/{project_id}/{region_id}/{secret_id}:
get:
operationId: SecretViewSet.get
summary: Get secret
description: ''
parameters:
- in: path
name: project_id
required: true
description: Project ID
schema:
description: Project ID
examples:
- 1
title: Project Id
type: integer
- in: path
name: region_id
required: true
description: Region ID
schema:
description: Region ID
examples:
- 1
title: Region Id
type: integer
- in: path
name: secret_id
required: true
description: Secret ID
schema:
description: Secret ID
examples:
- bfc7824b-31b6-4a28-a0c4-7df137139215
format: uuid4
title: Secret Id
type: string
responses:
'200':
description: Secret
content:
application/json:
schema:
$ref: '#/components/schemas/SecretSerializer'
tags:
- Secrets
delete:
operationId: SecretViewSet.delete
summary: Delete secret
description: ''
parameters:
- in: path
name: project_id
required: true
description: Project ID
schema:
description: Project ID
examples:
- 1
title: Project Id
type: integer
- in: path
name: region_id
required: true
description: Region ID
schema:
description: Region ID
examples:
- 1
title: Region Id
type: integer
- in: path
name: secret_id
required: true
description: Secret ID
schema:
description: Secret ID
examples:
- bfc7824b-31b6-4a28-a0c4-7df137139215
format: uuid4
title: Secret Id
type: string
responses:
'200':
description: Task IDs
content:
application/json:
schema:
$ref: '#/components/schemas/TaskIDsSerializer'
tags:
- Secrets
components:
schemas:
TaskIDsSerializer:
properties:
tasks:
description: "List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:\n * `GET /v1/tasks/{task_id}` - Check individual task status and details\n Poll task status until completion (`FINISHED`/`ERROR`) before proceeding with dependent operations."
examples:
- - d478ae29-dedc-4869-82f0-96104425f565
items:
type: string
title: Tasks
type: array
required:
- tasks
title: TaskIDsSerializer
type: object
PayloadContentEncoding:
enum:
- base64
title: PayloadContentEncoding
type: string
SecretCollectionSerializer:
properties:
count:
description: Number of objects
examples:
- 1
minimum: 0
title: Count
type: integer
results:
description: Objects
items:
$ref: '#/components/schemas/SecretSerializer'
title: Results
type: array
required:
- count
- results
title: SecretCollectionSerializer
type: object
SecretSerializer:
properties:
algorithm:
anyOf:
- type: string
- type: 'null'
description: Metadata provided by a user or system for informational purposes. Null when not specified at secret creation.
examples:
- aes
title: Algorithm
bit_length:
anyOf:
- type: integer
- type: 'null'
description: Metadata provided by a user or system for informational purposes. Value must be greater than zero. Null when not specified at secret creation.
examples:
- 256
title: Bit Length
content_types:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
description: Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream. Null until the secret has a payload.
examples:
- default: application/octet-stream
title: Content Types
created:
description: Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00
examples:
- '2023-03-23T20:00:00+00:00'
format: date-time
title: Created
type: string
expiration:
anyOf:
- format: date-time
type: string
- type: 'null'
description: Datetime when the secret will expire. The format is 2020-01-01T12:00:00+00:00. Null when no expiration was set.
examples:
- '2023-06-23T20:00:00+00:00'
title: Expiration
id:
description: Secret uuid
examples:
- bfc7824b-31b6-4a28-a0c4-7df137139215
title: Id
type: string
mode:
anyOf:
- type: string
- type: 'null'
description: Metadata provided by a user or system for informational purposes. Null when not specified at secret creation.
examples:
- cbc
title: Mode
name:
description: Secret name
examples:
- AES key
title: Name
type: string
secret_type:
$ref: '#/components/schemas/SecretTypesEnum'
description: Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API
examples:
- opaque
status:
description: Status
examples:
- ACTIVE
title: Status
type: string
required:
- algorithm
- bit_length
- content_types
- created
- expiration
- mode
- name
- id
- secret_type
- status
title: SecretSerializer
type: object
CreateSecretPayloadSerializer:
properties:
certificate:
description: SSL certificate in PEM format.
examples:
- <certificate>
format: password
title: Certificate
type: string
writeOnly: true
certificate_chain:
description: SSL certificate chain of intermediates and root certificates in PEM format.
examples:
- <certificate_chain>
format: password
title: Certificate Chain
type: string
writeOnly: true
private_key:
description: SSL private key in PEM format.
examples:
- <private_key>
format: password
title: Private Key
type: string
writeOnly: true
required:
- certificate
- private_key
- certificate_chain
title: CreateSecretPayloadSerializer
type: object
CreateSecretSerializer:
properties:
algorithm:
anyOf:
- type: string
- type: 'null'
default: null
description: Metadata provided by a user or system for informational purposes.
examples:
- aes
title: Algorithm
bit_length:
anyOf:
- exclusiveMinimum: 0
type: integer
- type: 'null'
default: null
description: Metadata provided by a user or system for informational purposes. Value must be greater than zero.
examples:
- 256
title: Bit Length
expiration:
anyOf:
- type: string
- type: 'null'
default: null
description: Datetime when the secret will expire.
examples:
- '2025-12-28T19:14:44.180394'
title: Expiration
mode:
anyOf:
- type: string
- type: 'null'
default: null
description: Metadata provided by a user or system for informational purposes.
examples:
- cbc
title: Mode
name:
description: Secret name
examples:
- AES key
title: Name
type: string
payload:
description: 'Secret payload. For HTTPS-terminated load balancing, provide base64 encoded conents of a PKCS12 file. The PKCS12 file is the combined TLS certificate, key, and intermediate certificate chain obtained from an external certificate authority. The file can be created via openssl, e.g.''openssl pkcs12 -export -inkey server.key -in server.crt -certfile ca-chain.crt -passout pass: -out server.p12''The key and certificate should be PEM-encoded, and the intermediate certificate chain should be multiple PEM-encoded certs concatenated together'
examples:
- aGVsbG8sIHRlc3Qgc3RyaW5nCg==
format: password
title: Payload
type: string
writeOnly: true
payload_content_encoding:
$ref: '#/components/schemas/PayloadContentEncoding'
description: The encoding used for the payload to be able to include it in the JSON request. Currently only base64 is supported
examples:
- base64
payload_content_type:
description: The media type for the content of the payload, text/plain is incompatible with base64 `payload_content_encoding`
examples:
- application/octet-stream
title: Payload Content Type
type: string
secret_type:
$ref: '#/components/schemas/SecretTypesEnum'
description: Secret type. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API
examples:
- certificate
required:
- name
- payload
- payload_content_encoding
- payload_content_type
- secret_type
title: CreateSecretSerializer
type: object
SecretTypesEnum:
enum:
- certificate
- opaque
- passphrase
- private
- public
- symmetric
title: SecretTypesEnum
type: string
CreateSecretSerializerV2:
properties:
expiration:
anyOf:
- format: date-time
type: string
- type: 'null'
default: null
description: Datetime when the secret will expire. Defaults to None
examples:
- '2025-12-28T19:14:44.180394'
title: Expiration
name:
description: Secret name
examples:
- 'Load balancer certificate #1'
title: Name
type: string
payload:
$ref: '#/components/schemas/CreateSecretPayloadSerializer'
description: Secret payload.
required:
- name
- payload
title: CreateSecretSerializerV2
type: object