Ory relationship API
The relationship API from Ory — 4 operation(s) for relationship.
The relationship API from Ory — 4 operation(s) for relationship.
openapi: 3.0.3
info:
contact:
email: hi@ory.sh
description: 'Documentation for all of Ory Hydra''s APIs.
'
license:
name: Apache 2.0
title: Ory Hydra api relationship API
version: ''
tags:
- name: relationship
paths:
/admin/relation-tuples:
delete:
description: Use this endpoint to delete relationships
operationId: deleteRelationships
parameters:
- description: Namespace of the Relationship
in: query
name: namespace
schema:
type: string
- description: Object of the Relationship
in: query
name: object
schema:
type: string
- description: Relation of the Relationship
in: query
name: relation
schema:
type: string
- description: SubjectID of the Relationship
in: query
name: subject_id
schema:
type: string
- description: Namespace of the Subject Set
in: query
name: subject_set.namespace
schema:
type: string
- description: Object of the Subject Set
in: query
name: subject_set.object
schema:
type: string
- description: Relation of the Subject Set
in: query
name: subject_set.relation
schema:
type: string
responses:
'204':
$ref: '#/components/responses/emptyResponse'
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Delete Relationships
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-low
patch:
description: Use this endpoint to patch one or more relationships.
operationId: patchRelationships
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/relationshipPatch'
type: array
x-originalParamName: Body
responses:
'204':
$ref: '#/components/responses/emptyResponse'
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Patch Multiple Relationships
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-low
put:
description: Use this endpoint to create a relationship.
operationId: createRelationship
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createRelationshipBody'
x-originalParamName: Body
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/relationship'
description: relationship
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Create a Relationship
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-low
/namespaces:
get:
description: Get all namespaces
operationId: listRelationshipNamespaces
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/relationshipNamespaces'
description: relationshipNamespaces
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Query namespaces
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-low
/opl/syntax/check:
post:
description: The OPL file is expected in the body of the request.
operationId: checkOplSyntax
requestBody:
content:
text/plain:
schema:
$ref: '#/components/schemas/checkOplSyntaxBody'
x-originalParamName: Body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/checkOplSyntaxResult'
description: checkOplSyntaxResult
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Check the syntax of an OPL file
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-medium
/relation-tuples:
get:
description: Get all relationships that match the query. Only the namespace field is required.
operationId: getRelationships
parameters:
- description: 'Items per Page
This is the number of items per page to return.
For details on pagination please head over to the [pagination documentation](https://www.ory.com/docs/ecosystem/api-design#pagination).'
in: query
name: page_size
schema:
default: 250
format: int64
maximum: 1000
minimum: 1
type: integer
- description: 'Next Page Token
The next page token.
For details on pagination please head over to the [pagination documentation](https://www.ory.com/docs/ecosystem/api-design#pagination).'
in: query
name: page_token
schema:
type: string
- description: Namespace of the Relationship
in: query
name: namespace
schema:
type: string
- description: Object of the Relationship
in: query
name: object
schema:
type: string
- description: Relation of the Relationship
in: query
name: relation
schema:
type: string
- description: SubjectID of the Relationship
in: query
name: subject_id
schema:
type: string
- description: Namespace of the Subject Set
in: query
name: subject_set.namespace
schema:
type: string
- description: Object of the Subject Set
in: query
name: subject_set.object
schema:
type: string
- description: Relation of the Subject Set
in: query
name: subject_set.relation
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/relationships'
description: relationships
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
default:
content:
application/json:
schema:
$ref: '#/components/schemas/errorGeneric'
description: errorGeneric
summary: Query relationships
tags:
- relationship
x-ory-ratelimit-bucket: keto-admin-medium
components:
schemas:
relationship:
description: Relationship
properties:
namespace:
description: Namespace of the Relation Tuple
type: string
object:
description: Object of the Relation Tuple
type: string
relation:
description: Relation of the Relation Tuple
type: string
subject_id:
description: 'SubjectID of the Relation Tuple
Either SubjectSet or SubjectID can be provided.'
type: string
subject_set:
$ref: '#/components/schemas/subjectSet'
required:
- namespace
- object
- relation
type: object
checkOplSyntaxBody:
description: Ory Permission Language Document
type: string
relationshipPatch:
description: Payload for patching a relationship
properties:
action:
enum:
- insert
- delete
type: string
x-go-enum-desc: 'insert ActionInsert
delete ActionDelete'
relation_tuple:
$ref: '#/components/schemas/relationship'
type: object
subjectSet:
properties:
namespace:
description: Namespace of the Subject Set
type: string
object:
description: Object of the Subject Set
type: string
relation:
description: Relation of the Subject Set
type: string
required:
- namespace
- object
- relation
type: object
SourcePosition:
properties:
Line:
format: int64
type: integer
column:
format: int64
type: integer
type: object
namespace:
properties:
name:
description: Name of the namespace.
type: string
type: object
genericError:
properties:
code:
description: The status code
example: 404
format: int64
type: integer
debug:
description: 'Debug information
This field is often not exposed to protect against leaking
sensitive information.'
example: SQL field "foo" is not a bool.
type: string
details:
additionalProperties: {}
description: Further error details
type: object
id:
description: 'The error ID
Useful when trying to identify various errors in application logic.'
type: string
message:
description: 'Error message
The error''s message.'
example: The resource could not be found
type: string
reason:
description: A human-readable reason for the error
example: User with ID 1234 does not exist.
type: string
request:
description: 'The request ID
The request ID is often exposed internally in order to trace
errors across service architectures. This is often a UUID.'
example: d7ef54b1-ec15-46e6-bccb-524b82c035e6
type: string
status:
description: The status description
example: Not Found
type: string
required:
- message
type: object
relationships:
description: Paginated Relationship List
properties:
next_page_token:
description: 'The opaque token to provide in a subsequent request
to get the next page. It is the empty string iff this is
the last page.'
type: string
relation_tuples:
items:
$ref: '#/components/schemas/relationship'
type: array
type: object
errorGeneric:
description: The standard Ory JSON API error format.
properties:
error:
$ref: '#/components/schemas/genericError'
required:
- error
title: JSON API Error Response
type: object
relationshipNamespaces:
description: Relationship Namespace List
properties:
namespaces:
items:
$ref: '#/components/schemas/namespace'
type: array
type: object
ParseError:
properties:
end:
$ref: '#/components/schemas/SourcePosition'
message:
type: string
start:
$ref: '#/components/schemas/SourcePosition'
type: object
checkOplSyntaxResult:
properties:
errors:
description: The list of syntax errors
items:
$ref: '#/components/schemas/ParseError'
type: array
title: CheckOPLSyntaxResponse represents the response for an OPL syntax check request.
type: object
createRelationshipBody:
description: Create Relationship Request Body
properties:
namespace:
description: Namespace to query
type: string
object:
description: Object to query
type: string
relation:
description: Relation to query
type: string
subject_id:
description: 'SubjectID to query
Either SubjectSet or SubjectID can be provided.'
type: string
subject_set:
$ref: '#/components/schemas/subjectSet'
type: object
responses:
emptyResponse:
description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 204.
securitySchemes:
basic:
scheme: basic
type: http
bearer:
scheme: bearer
type: http
oauth2:
flows:
authorizationCode:
authorizationUrl: https://hydra.demo.ory.sh/oauth2/auth
scopes:
offline: A scope required when requesting refresh tokens (alias for `offline_access`)
offline_access: A scope required when requesting refresh tokens
openid: Request an OpenID Connect ID Token
tokenUrl: https://hydra.demo.ory.sh/oauth2/token
type: oauth2
x-forwarded-proto: string
x-request-id: string