BlindInsight requests API
The requests API from BlindInsight — 4 operation(s) for requests.
The requests API from BlindInsight — 4 operation(s) for requests.
openapi: 3.0.3
info:
title: Blind Insight REST accounts requests API
version: 10.22.0
description: End-to-end encrypted datastore
tags:
- name: requests
paths:
/api/requests/:
get:
operationId: requests_list
description: List all requests that you have access to.
summary: List all requests
parameters:
- in: query
name: created
schema:
type: string
format: date-time
- in: query
name: expires
schema:
type: string
format: date-time
- in: query
name: field_name
schema:
type: string
- in: query
name: fulfilled
schema:
type: boolean
- in: query
name: id
schema:
type: string
- in: query
name: identity
schema:
type: string
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: modified
schema:
type: string
format: date-time
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: received
schema:
type: boolean
- in: query
name: schema
schema:
type: string
- in: query
name: shared
schema:
type: boolean
description: Whether a request has had keys shared or not.
tags:
- requests
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRequestList'
description: ''
post:
operationId: requests_create
description: Create a new request for keys.
summary: Create a new request
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Request'
multipart/form-data:
schema:
$ref: '#/components/schemas/Request'
required: true
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
description: ''
/api/requests/{id}/:
get:
operationId: requests_retrieve
description: Retrieve a single request by its ID.
summary: Retrieve a single request
parameters:
- in: path
name: id
schema:
type: string
description: A unique value identifying this request.
required: true
tags:
- requests
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
description: ''
put:
operationId: requests_update
description: Update a request by its ID. This completely replaces the object.
summary: Update a request
parameters:
- in: path
name: id
schema:
type: string
description: A unique value identifying this request.
required: true
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Request'
multipart/form-data:
schema:
$ref: '#/components/schemas/Request'
required: true
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
description: ''
patch:
operationId: requests_partial-update
description: 'Partially update a request by its ID. This only replaces the specified
fields.'
summary: Partially update a request
parameters:
- in: path
name: id
schema:
type: string
description: A unique value identifying this request.
required: true
tags:
- requests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRequest'
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
description: ''
delete:
operationId: requests_destroy
description: Delete a request by its ID.
summary: Delete a request
parameters:
- in: path
name: id
schema:
type: string
description: A unique value identifying this request.
required: true
tags:
- requests
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
responses:
'204':
description: No response body
/api/requests/{request_id}/fulfill/:
post:
operationId: requests_fulfill-detail
description: '[Blind Insight Proxy] Fulfill a single request'
summary: Fulfill a single request
parameters:
- in: path
name: request_id
schema:
type: string
format: uuid
description: The request ID to fulfill.
required: true
tags:
- requests
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Material'
description: ''
'400':
content:
application/json:
schema:
type: object
example:
detail: Could not prepare material
error: Bad request
description: The requests were not fulfilled successfully.
/api/requests/fulfill/:
post:
operationId: requests_fulfill-list
description: '[Blind Insight Proxy] Fulfill all requests'
summary: Fulfill all requests
tags:
- requests
security:
- cookieAuth: []
- basicAuth: []
- jwtAuth: []
- {}
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Material'
description: ''
'400':
content:
application/json:
schema:
type: object
example:
detail: Could not prepare material
error: Bad request
description: The requests were not fulfilled successfully.
components:
schemas:
PaginatedRequestList:
type: array
items:
$ref: '#/components/schemas/Request'
Request:
type: object
description: HyperlinkedModelSerializer with `id` as the first field.
properties:
id:
type: string
readOnly: true
url:
type: string
format: uri
readOnly: true
identity:
$ref: '#/components/schemas/Identity'
schema:
type: string
created:
type: string
format: date-time
readOnly: true
modified:
type: string
format: date-time
readOnly: true
field_name:
type: string
maxLength: 255
expires:
type: string
format: date-time
received:
type: boolean
fulfilled:
type: boolean
required:
- created
- expires
- field_name
- id
- identity
- modified
- schema
- url
Material:
type: object
description: Encrypted material object.
properties:
id:
type: string
readOnly: true
url:
type: string
format: uri
readOnly: true
created:
type: string
format: date-time
readOnly: true
payload:
type: string
description: The encrypted material.
maxLength: 4096
signature:
type: string
description: The signature of the material.
maxLength: 4096
proof:
type: string
writeOnly: true
maxLength: 64
minLength: 64
request:
type: string
format: uri
uploaded_by:
type: string
format: uri
description: The identity that uploaded this material.
required:
- created
- id
- proof
- request
- uploaded_by
- url
PatchedRequest:
type: object
description: HyperlinkedModelSerializer with `id` as the first field.
properties:
id:
type: string
readOnly: true
url:
type: string
format: uri
readOnly: true
identity:
$ref: '#/components/schemas/Identity'
schema:
type: string
created:
type: string
format: date-time
readOnly: true
modified:
type: string
format: date-time
readOnly: true
field_name:
type: string
maxLength: 255
expires:
type: string
format: date-time
received:
type: boolean
fulfilled:
type: boolean
Identity:
type: object
description: HyperlinkedModelSerializer with `id` as the first field.
properties:
id:
type: string
readOnly: true
url:
type: string
format: uri
readOnly: true
user:
type: string
format: uri
device_id:
type: string
description: The device ID associated with this identity.
maxLength: 255
primary_public_key:
type: string
description: The primary PGP key for the identity.
sub_public_key:
type: string
description: The PGP sub-key for the identity.
required:
- device_id
- id
- primary_public_key
- sub_public_key
- url
- user
securitySchemes:
basicAuth:
type: http
scheme: basic
cookieAuth:
type: apiKey
in: cookie
name: sessionid
jwtAuth:
type: http
scheme: bearer
bearerFormat: JWT