Cycloid Policies API
The Policies API from Cycloid — 1 operation(s) for policies.
The Policies API from Cycloid — 1 operation(s) for policies.
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/cycloid:cycloid-policies-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:
description: This is the Cycloid's API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types available within our console.
title: Welcome! Policies API
termsOfService: https://console.cycloid.io/terms
contact:
name: The Great Owl
url: https://www.cycloid.io
email: contact@cycloid.io
license:
name: Cycloid @copyrights
url: https://cycloid.io
version: '0'
servers:
- url: https://http-api.cycloid.io
security:
- api_key: []
- api_key_query: []
tags:
- name: Policies
paths:
/organizations/{organization_canonical}/policies:
parameters:
- $ref: '#/components/parameters/organization_canonical'
get:
description: Get the list of Policies
tags:
- Policies
operationId: getPolicies
parameters:
- $ref: '#/components/parameters/page_index'
- $ref: '#/components/parameters/page_size'
responses:
'200':
description: List of Policies
content:
application/json:
schema:
type: object
required:
- data
- pagination
properties:
data:
type: array
items:
$ref: '#/components/schemas/Policy'
pagination:
$ref: '#/components/schemas/Pagination'
example:
data:
- code: organization:delete
description: Grant the access to delete the organization
id: 1
- code: organization:edit
description: Grant the access to edit the organization
id: 2
- code: team:create
description: Grant the access to create teams
id: 20
- code: team:read
description: Grant the access to read the teams of an organization
id: 21
- code: team:edit
description: Grant the access to edit teams
id: 22
- code: team:delete
description: Grant the access to delete teams
id: 23
- code: member:invite
description: Grant the access to invite members to join to the organization
id: 40
- code: member:remove
description: Grant the access to remove members
id: 41
- code: member:read
description: Grant the access to read the members
id: 42
- code: project:read
description: Grant the access to projects
entities:
- '10'
- '32'
id: 60
- code: project:create
description: Grant the access to create a project in the organization
entities: null
id: 61
- code: project:edit
description: Grant the access to edit projects
entities: null
id: 62
pagination:
index: 1
size: 10
total: 2
'422':
$ref: '#/components/responses/unprocessable_entity'
default:
$ref: '#/components/responses/unexpected_error'
summary: Get policies
x-summary-source: derived
components:
parameters:
page_index:
description: The page number to request. The first page is 1.
name: page_index
in: query
schema:
type: integer
format: uint32
default: 1
page_size:
description: The number of items at most which the response can have.
name: page_size
in: query
schema:
type: integer
format: uint32
default: 100
organization_canonical:
description: A canonical of an organization.
name: organization_canonical
in: path
required: true
schema:
type: string
maxLength: 100
minLength: 2
pattern: ^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$
schemas:
ErrorPayload:
description: 'The payload used by the server to response to the client with an Error, those errors could be any of the ones listed [here](https://github.com/cycloidio/youdeploy-http-api/blob/develop/errors/code.go#L10), only the CODE of the error is the one that is guaranteed to not change between the same major version, the MESSAGE could change.
'
title: Error Payload
required:
- errors
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorDetailsItem'
request_id:
type: string
Pagination:
type: object
title: Pagination
required:
- total
- index
- size
properties:
index:
description: The index of the page sent (the first page is 1).
type: integer
format: uint64
minimum: 1
size:
description: The size of the page (the number of entities per page)
type: integer
format: uint64
total:
description: The total number of items.
type: integer
format: uint64
ErrorDetailsItem:
description: Represents an item of the list of details of an error.
title: Error details item
required:
- message
- code
properties:
code:
type: string
details:
type: array
items:
type: string
message:
type: string
Policy:
description: Policy represents a permission or constraint to access to an entity of the system. A policy is aggregated into roles in order to be applied.
title: Policy
required:
- id
- code
- description
properties:
code:
type: string
maxLength: 60
minLength: 5
pattern: (?:[a-z]+_)*[a-z]+(?::(?:[a-z]+_)*[a-z]+)*$
created_at:
type: integer
format: uint64
description:
type: string
entities:
type: array
items:
type: string
id:
type: integer
format: uint32
minimum: 1
updated_at:
type: integer
format: uint64
responses:
unprocessable_entity:
description: All the custom errors that are generated from the Cycloid API
headers:
Content-Length:
description: The length of the response body in octets (8-bit bytes).
schema:
type: integer
format: uint64
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorPayload'
example:
errors:
- code: SomeCode
message: some error
unexpected_error:
description: The response sent when an unexpected error happened, as known as an internal server error.
headers:
Content-Length:
description: The length of the response body in octets (8-bit bytes).
schema:
type: integer
format: uint64
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorPayload'
example:
errors:
- code: Unexpected
message: Server Internal error
securitySchemes:
api_key:
description: The API authorization is done with JWT tokens
type: apiKey
name: Authorization
in: header
api_key_query:
description: The API authorization is done with JWT tokens in the query string
type: apiKey
name: api_key
in: query