Rely.io Blueprints API

Manage blueprint schemas that define the structure and attributes of catalog entities such as services, teams, and resources.

OpenAPI Specification

rely-blueprints-api-openapi.yml Raw ↑
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