Port Entities API

Manage catalog entities created from blueprints.

OpenAPI Specification

port-io-entities-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Port REST Blueprints Entities API
  description: 'Port is an Internal Developer Portal built around an API-first software

    catalog. This OpenAPI definition covers a representative subset of the

    Port REST API for managing blueprints and entities in the catalog.

    Derived from public documentation at https://docs.port.io/api-reference/port-api.

    '
  version: 1.0.0
  contact:
    name: Port
    url: https://docs.port.io/api-reference/port-api
servers:
- url: https://api.port.io
  description: Europe region
- url: https://api.us.port.io
  description: United States region
security:
- BearerAuth: []
tags:
- name: Entities
  description: Manage catalog entities created from blueprints.
paths:
  /v1/blueprints/{blueprint_identifier}/entities:
    parameters:
    - $ref: '#/components/parameters/BlueprintIdentifier'
    post:
      tags:
      - Entities
      summary: Create an entity
      description: Creates an entity in the software catalog based on an existing blueprint.
      operationId: createEntity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Entity'
      responses:
        '201':
          description: Entity created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    get:
      tags:
      - Entities
      summary: Get all entities of a blueprint
      operationId: listEntities
      responses:
        '200':
          description: A list of entities for the blueprint
          content:
            application/json:
              schema:
                type: object
                properties:
                  entities:
                    type: array
                    items:
                      $ref: '#/components/schemas/Entity'
  /v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}:
    parameters:
    - $ref: '#/components/parameters/BlueprintIdentifier'
    - $ref: '#/components/parameters/EntityIdentifier'
    get:
      tags:
      - Entities
      summary: Get an entity
      operationId: getEntity
      responses:
        '200':
          description: The requested entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      tags:
      - Entities
      summary: Update an entity
      operationId: updateEntity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Entity'
      responses:
        '200':
          description: Entity updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    delete:
      tags:
      - Entities
      summary: Delete an entity
      operationId: deleteEntity
      responses:
        '204':
          description: Entity deleted
  /v1/entities/search:
    post:
      tags:
      - Entities
      summary: Search entities across blueprints
      operationId: searchEntities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rules:
                  type: array
                  items:
                    type: object
                combinator:
                  type: string
                  enum:
                  - and
                  - or
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  entities:
                    type: array
                    items:
                      $ref: '#/components/schemas/Entity'
components:
  parameters:
    BlueprintIdentifier:
      name: blueprint_identifier
      in: path
      required: true
      schema:
        type: string
      description: Unique identifier of the blueprint.
    EntityIdentifier:
      name: entity_identifier
      in: path
      required: true
      schema:
        type: string
      description: Unique identifier of the entity.
  schemas:
    Entity:
      type: object
      properties:
        identifier:
          type: string
        title:
          type: string
        blueprint:
          type: string
        properties:
          type: object
        relations:
          type: object
        team:
          type: array
          items:
            type: string
      required:
      - identifier
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Port uses bearer tokens obtained from the Port application credentials panel.

        Tokens remain valid for 3 hours.

        '