Rely.io Blueprints API
Manage blueprint schemas that define the structure and attributes of catalog entities such as services, teams, and resources.
Manage blueprint schemas that define the structure and attributes of catalog entities such as services, teams, and resources.
openapi: 3.1.0
info:
title: Rely.io Public Automations Blueprints API
description: The Rely.io Public API provides programmatic access to all features of the Rely.io Internal Developer Portal platform. Full CRUD operations are available for software catalog entities, blueprints, scorecards, self-service actions, and automations. Every action available through the Rely.io web interface can also be performed via this REST API. Authentication uses a long-lived API key (Bearer token) generated in the Rely.io Plugins settings page.
version: 1.0.0
contact:
name: Rely.io Support
email: support@rely.io
url: https://docs.rely.io
termsOfService: https://www.rely.io/terms
servers:
- url: https://api.rely.io
description: Production Server
security:
- bearerAuth: []
tags:
- name: Blueprints
description: Manage blueprint schemas that define the structure and attributes of catalog entities such as services, teams, and resources.
paths:
/api/v1/blueprints:
get:
operationId: listBlueprints
summary: List Blueprints
description: Retrieve all blueprint schemas defined in the organization's developer portal. Blueprints define the structure, properties, and relations for catalog entity types.
tags:
- Blueprints
responses:
'200':
description: List of blueprints
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Blueprint'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createBlueprint
summary: Create Blueprint
description: Create a new blueprint schema defining a type of catalog entity. Blueprints use an OpenAPI 3-compatible JSON descriptor with Rely.io-specific extensions for properties and relations.
tags:
- Blueprints
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BlueprintRequest'
responses:
'201':
description: Blueprint created
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/blueprints/{blueprintId}:
get:
operationId: getBlueprint
summary: Get Blueprint
description: Retrieve a specific blueprint schema by its identifier.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/BlueprintId'
responses:
'200':
description: Blueprint details
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateBlueprint
summary: Update Blueprint
description: Update an existing blueprint schema.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/BlueprintId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BlueprintRequest'
responses:
'200':
description: Blueprint updated
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteBlueprint
summary: Delete Blueprint
description: Delete a blueprint schema. All entities of this blueprint type must be deleted first.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/BlueprintId'
responses:
'204':
description: Blueprint deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
BlueprintRequest:
type: object
required:
- id
- name
properties:
id:
type: string
description: Globally unique blueprint identifier
name:
type: string
description:
type: string
properties:
type: object
additionalProperties:
$ref: '#/components/schemas/BlueprintProperty'
relations:
type: object
additionalProperties:
$ref: '#/components/schemas/BlueprintRelation'
BlueprintRelation:
type: object
properties:
title:
type: string
description: Display name for the relation
target:
type: string
description: Target blueprint identifier
many:
type: boolean
description: Whether this is a one-to-many relation
description:
type: string
description: Description of the relation
Error:
type: object
properties:
message:
type: string
code:
type: string
BlueprintProperty:
type: object
properties:
title:
type: string
description: Display name for the property
type:
type: string
description: JSON Schema type (string, integer, boolean, array, object)
description:
type: string
description: Description of the property
enum:
type: array
items: {}
description: Allowed values for enum properties
format:
type: string
description: JSON Schema format (date-time, uri, email, etc.)
Blueprint:
type: object
properties:
id:
type: string
description: Globally unique blueprint identifier
name:
type: string
description: User-friendly display name
description:
type: string
description: Optional overview of what this blueprint represents
properties:
type: object
description: JSON Schema-compatible property definitions for entities of this type
additionalProperties:
$ref: '#/components/schemas/BlueprintProperty'
relations:
type: object
description: Relation definitions linking this blueprint to other blueprints
additionalProperties:
$ref: '#/components/schemas/BlueprintRelation'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
BlueprintId:
name: blueprintId
in: path
required: true
description: Unique identifier of the blueprint
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Long-lived API key generated in the Rely.io Plugins settings page. Valid for 10 years. Include as Bearer token in Authorization header.
externalDocs:
description: Rely.io API Documentation
url: https://docs.rely.io/public-api