SecureAuth (incl. Cloudentity) Relationships API

The Relationships API from SecureAuth (incl. Cloudentity) — 1 operation(s) for relationships.

Business capability
Identity & Access Management BC-620.20

Operations 3

DELETE /system/systems/{psID}/relationships Delete relationships #
GET /system/systems/{psID}/relationships Read relationships #
POST /system/systems/{psID}/relationships Write relationships #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/secureauth:secureauth-relationships-api"
All apis
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.

Get an API 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 Specification

secureauth-relationships-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: SecureAuth Permissions API
  title: SecureAuth Relationships API
  version: latest
servers:
- url: https://localhost:8443/api/permissions/default
tags:
- name: Relationships
paths:
  /system/systems/{psID}/relationships:
    delete:
      description: Delete relationships.
      operationId: deleteRelationships
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: psID
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/DeleteRelationshipsResponse'
        '400':
          $ref: '#/components/responses/badRequestHTTPError'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '409':
          $ref: '#/components/responses/conflictHTTPError'
        '422':
          $ref: '#/components/responses/unprocessableEntityHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - token: []
      summary: Delete relationships
      tags:
      - Relationships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRelationshipsRequest'
    get:
      description: Read relationships.
      operationId: readRelationships
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: psID
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ReadRelationshipsResponse'
        '400':
          $ref: '#/components/responses/badRequestHTTPError'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '409':
          $ref: '#/components/responses/conflictHTTPError'
        '422':
          $ref: '#/components/responses/unprocessableEntityHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - token: []
      summary: Read relationships
      tags:
      - Relationships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadRelationshipsRequest'
    post:
      description: Write relationships.
      operationId: writeRelationships
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: psID
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/WriteRelationshipsResponse'
        '400':
          $ref: '#/components/responses/badRequestHTTPError'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '409':
          $ref: '#/components/responses/conflictHTTPError'
        '422':
          $ref: '#/components/responses/unprocessableEntityHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - token: []
      summary: Write relationships
      tags:
      - Relationships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WriteRelationshipsRequest'
components:
  schemas:
    ReadRelationshipsResponse:
      properties:
        relation:
          description: how the resource and subject are related
          type: string
        resource_id:
          description: resource id
          example: '1'
          type: string
        resource_type:
          description: resource type
          example: post
          type: string
        subject_id:
          description: subject id
          example: emilia
          type: string
        subject_relation:
          description: optional sub-relation on the subject
          type: string
        subject_type:
          description: subject type
          example: user
          type: string
      required:
      - resource_type
      - resource_id
      - subject_type
      - subject_id
      type: object
    ReadRelationshipsRequest:
      properties:
        relation:
          description: Optional relation that provides information on how a resource is related to a subject
          example: user
          type: string
        resource_id:
          description: Optional resource identifier to which the subject is related
          example: '1'
          type: string
        resource_type:
          description: Resource type to which the subject is related
          example: post
          type: string
        revision:
          description: the data must be at least as fresh as that revision
          type: string
        subject_id:
          description: Optional subject identifier to which the resource is related
          example: John
          type: string
        subject_relation:
          description: Optional sub-relation on the subject
          type: string
        subject_type:
          description: Optional subject type to which the resource is related
          example: user
          type: string
      required:
      - resource_type
      type: object
    DeleteRelationshipsResponse:
      properties:
        revision:
          description: the data must be at least as fresh as that revision
          type: string
      type: object
    WriteRelationshipsResponse:
      properties:
        revision:
          description: the data must be at least as fresh as that revision
          type: string
      type: object
    WriteRelationshipsRequest:
      properties:
        updates:
          description: list of mutations
          items:
            $ref: '#/components/schemas/RelationshipUpdate'
          type: array
      type: object
    Error:
      description: HTTP error response
      properties:
        details:
          type: object
        error:
          type: string
        error_code:
          type: string
        status_code:
          format: int64
          type: integer
      type: object
    RelationshipUpdate:
      properties:
        operation:
          description: 'operation type: insert, upsert (create or update) or delete'
          enum:
          - insert
          - upsert
          - delete
          example: upsert
          type: string
        relation:
          description: relation is how the resource and subject are related
          example: reader
          type: string
        resource_id:
          description: resource id to which the subject is related
          example: '1'
          type: string
        resource_type:
          description: resource type to which the subject is related
          example: post
          type: string
        subject_id:
          description: subject id to which the resource is related
          example: emilia
          type: string
        subject_relation:
          description: optional sub-relation on the subject
          type: string
        subject_type:
          description: subject type to which the resource is related
          example: user
          type: string
      required:
      - operation
      - relation
      - resource_type
      - resource_id
      - subject_type
      - subject_id
      type: object
    DeleteRelationshipsRequest:
      properties:
        relation:
          description: Optional relation that provides information on how a resource is related to a subject
          example: user
          type: string
        resource_id:
          description: Optional resource identifier to which the subject is related
          example: '1'
          type: string
        resource_type:
          description: Resource type to which the subject is related
          example: post
          type: string
        subject_id:
          description: Optional subject identifier to which the resource is related
          example: John
          type: string
        subject_relation:
          description: Optional sub-relation on the subject
          type: string
        subject_type:
          description: Optional subject type to which the resource is related
          example: user
          type: string
      required:
      - resource_type
      type: object
  responses:
    unprocessableEntityHTTPError:
      description: Unprocessable entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    notFoundHTTPError:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    forbiddenHTTPError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    DeleteRelationshipsResponse:
      description: DeleteRelationshipsResponse
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DeleteRelationshipsResponse'
    ReadRelationshipsResponse:
      description: ReadRelationshipsResponse
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            properties:
              values:
                items:
                  $ref: '#/components/schemas/ReadRelationshipsResponse'
                type: array
            type: object
    conflictHTTPError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    unauthorizedHTTPError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    tooManyRequestsHTTPError:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    badRequestHTTPError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    WriteRelationshipsResponse:
      description: WriteRelationshipsResponse
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WriteRelationshipsResponse'
  securitySchemes:
    admin:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /default/admin/oauth2/token
    token:
      in: header
      name: X-API-KEY
      type: apiKey