openapi: 3.1.0
info:
title: API Reference subpackage_actions subpackage_webhooks API
version: 1.0.0
servers:
- url: http://localhost:8000
tags:
- name: subpackage_webhooks
paths:
/api/webhooks/:
get:
operationId: list
summary: List all webhooks
description: List all webhooks set up for your organization.
tags:
- subpackage_webhooks
parameters:
- name: project
in: query
description: Project ID
required: false
schema:
type: string
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example:
curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Webhook'
post:
operationId: create
summary: Create a webhook
description: Create a webhook for your organization.
tags:
- subpackage_webhooks
parameters:
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookRequest'
/api/webhooks/info/:
get:
operationId: info
summary: Get all webhook actions
description: Get descriptions of all available webhook actions to set up webhooks.
tags:
- subpackage_webhooks
parameters:
- name: organization-only
in: query
description: organization-only or not
required: false
schema:
type: boolean
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: Object with webhook action descriptions.
content:
application/json:
schema:
$ref: '#/components/schemas/webhooks_info_Response_200'
/api/webhooks/{id}/:
get:
operationId: get
summary: Get webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
delete:
operationId: delete
summary: Delete webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWebhookSerializerForUpdateRequest'
components:
schemas:
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted
Webhook:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/ActionsEnum'
created_at:
type: string
format: date-time
description: Creation time
headers:
description: Key Value Json of headers
id:
type: integer
is_active:
type: boolean
description: If value is False the webhook is disabled
organization:
type: integer
project:
type:
- integer
- 'null'
send_for_all_actions:
type: boolean
description: If value is False - used only for actions from WebhookAction
send_payload:
type: boolean
description: If value is False send only action
updated_at:
type: string
format: date-time
description: Last update time
url:
type: string
format: uri
description: URL of webhook
required:
- created_at
- id
- organization
- updated_at
- url
title: Webhook
WebhookRequest:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/ActionsEnum'
headers:
description: Key Value Json of headers
is_active:
type: boolean
description: If value is False the webhook is disabled
project:
type:
- integer
- 'null'
send_for_all_actions:
type: boolean
description: If value is False - used only for actions from WebhookAction
send_payload:
type: boolean
description: If value is False send only action
url:
type: string
format: uri
description: URL of webhook
required:
- url
title: WebhookRequest
PatchedWebhookSerializerForUpdateRequest:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/ActionsEnum'
headers:
description: Key Value Json of headers
is_active:
type: boolean
description: If value is False the webhook is disabled
send_for_all_actions:
type: boolean
description: If value is False - used only for actions from WebhookAction
send_payload:
type: boolean
description: If value is False send only action
url:
type: string
format: uri
description: URL of webhook
description: 'Serializer class for updating webhooks
Used to forbid updating project field.'
title: PatchedWebhookSerializerForUpdateRequest
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated
webhooks_info_Response_200:
type: object
properties:
ANNOTATIONS_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated'
ANNOTATIONS_DELETED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted'
ANNOTATION_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated'
ANNOTATION_UPDATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated'
LABEL_LINK_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated'
LABEL_LINK_DELETED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted'
LABEL_LINK_UPDATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated'
PROJECT_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated'
PROJECT_DELETED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted'
PROJECT_UPDATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated'
REVIEWS_DELETED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted'
REVIEW_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated'
REVIEW_UPDATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated'
TASKS_CREATED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated'
TASKS_DELETED:
$ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted'
title: webhooks_info_Response_200
ActionsEnum:
type: string
enum:
- PROJECT_CREATED
- PROJECT_UPDATED
- PROJECT_DELETED
- TASKS_CREATED
- TASKS_DELETED
- ANNOTATION_CREATED
- ANNOTATIONS_CREATED
- ANNOTATION_UPDATED
- ANNOTATIONS_DELETED
- LABEL_LINK_CREATED
- LABEL_LINK_UPDATED
- LABEL_LINK_DELETED
- REVIEW_CREATED
- REVIEW_UPDATED
- REVIEWS_DELETED
description: '* `PROJECT_CREATED` - PROJECT_CREATED
* `PROJECT_UPDATED` - PROJECT_UPDATED
* `PROJECT_DELETED` - PROJECT_DELETED
* `TASKS_CREATED` - TASKS_CREATED
* `TASKS_DELETED` - TASKS_DELETED
* `ANNOTATION_CREATED` - ANNOTATION_CREATED
* `ANNOTATIONS_CREATED` - ANNOTATIONS_CREATED
* `ANNOTATION_UPDATED` - ANNOTATION_UPDATED
* `ANNOTATIONS_DELETED` - ANNOTATIONS_DELETED
* `LABEL_LINK_CREATED` - LABEL_LINK_CREATED
* `LABEL_LINK_UPDATED` - LABEL_LINK_UPDATED
* `LABEL_LINK_DELETED` - LABEL_LINK_DELETED
* `REVIEW_CREATED` - REVIEW_CREATED
* `REVIEW_UPDATED` - REVIEW_UPDATED
* `REVIEWS_DELETED` - REVIEWS_DELETED'
title: ActionsEnum
WebhookSerializerForUpdate:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/ActionsEnum'
created_at:
type: string
format: date-time
description: Creation time
headers:
description: Key Value Json of headers
id:
type: integer
is_active:
type: boolean
description: If value is False the webhook is disabled
organization:
type: integer
project:
type:
- integer
- 'null'
send_for_all_actions:
type: boolean
description: If value is False - used only for actions from WebhookAction
send_payload:
type: boolean
description: If value is False send only action
updated_at:
type: string
format: date-time
description: Last update time
url:
type: string
format: uri
description: URL of webhook
required:
- created_at
- id
- organization
- project
- updated_at
- url
description: 'Serializer class for updating webhooks
Used to forbid updating project field.'
title: WebhookSerializerForUpdate
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated
ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted:
type: object
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- description
- key
- name
- organization-only
title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted
securitySchemes:
Token:
type: apiKey
in: header
name: Authorization
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'