openapi: 3.2.0 info: title: Genialis base Process API version: 0.0.0 description: Backend of the Genialis platform. servers: - url: https://app.genialis.com description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: Process paths: /api/process: get: operationId: api_process_list description: API view for :class:`Process` objects. parameters: - in: query name: category schema: type: string - in: query name: contributor schema: type: integer - in: query name: contributor__in schema: type: array items: type: integer description: Multiple values may be separated by commas. explode: false style: form - in: query name: created schema: type: string format: date-time - in: query name: created__date schema: type: string format: date - in: query name: created__gt schema: type: string format: date-time - in: query name: created__gte schema: type: string format: date-time - in: query name: created__isnull schema: type: boolean - in: query name: created__lt schema: type: string format: date-time - in: query name: created__lte schema: type: string format: date-time - in: query name: created__time schema: type: string format: time - in: query name: id schema: type: integer - in: query name: id__gt schema: type: integer - in: query name: id__gte schema: type: integer - in: query name: id__in schema: type: array items: type: integer description: Multiple values may be separated by commas. explode: false style: form - in: query name: id__isnull schema: type: boolean - in: query name: id__lt schema: type: integer - in: query name: id__lte schema: type: integer - in: query name: is_active schema: type: boolean - 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 - in: query name: modified__date schema: type: string format: date - in: query name: modified__gt schema: type: string format: date-time - in: query name: modified__gte schema: type: string format: date-time - in: query name: modified__isnull schema: type: boolean - in: query name: modified__lt schema: type: string format: date-time - in: query name: modified__lte schema: type: string format: date-time - in: query name: modified__time schema: type: string format: time - in: query name: name schema: type: string - in: query name: name__contains schema: type: string - in: query name: name__icontains schema: type: string - in: query name: name__iexact schema: type: string - in: query name: name__in schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: name__isnull schema: type: boolean - in: query name: name__istartswith schema: type: string - in: query name: name__startswith schema: type: string - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - in: query name: scheduling_class schema: type: string enum: - BA - IN description: '* `IN` - Interactive * `BA` - Batch' - in: query name: slug schema: type: string - in: query name: slug__in schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: type schema: type: string - in: query name: version schema: type: string - in: query name: version__gt schema: type: string - in: query name: version__gte schema: type: string - in: query name: version__in schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: version__isnull schema: type: boolean - in: query name: version__lt schema: type: string - in: query name: version__lte schema: type: string tags: - Process security: - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProcessSerializerWithPermissionsList' description: '' summary: Api process list x-summary-source: derived post: operationId: api_process_create description: Only superusers can create new processes. tags: - Process requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessSerializerWithPermissions' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProcessSerializerWithPermissions' multipart/form-data: schema: $ref: '#/components/schemas/ProcessSerializerWithPermissions' required: true security: - cookieAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProcessSerializerWithPermissions' description: '' summary: Api process create x-summary-source: derived /api/process/{id}: get: operationId: api_process_retrieve description: API view for :class:`Process` objects. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this process. required: true tags: - Process security: - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessSerializerWithPermissions' description: '' summary: Api process retrieve x-summary-source: derived /api/process/{id}/permissions: get: operationId: api_process_permissions_retrieve description: Get or set permissions API endpoint. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this process. required: true tags: - Process security: - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CurrentUserPermissions' description: '' summary: Api process permissions retrieve x-summary-source: derived post: operationId: api_process_permissions_create description: Get or set permissions API endpoint. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this process. required: true tags: - Process requestBody: content: application/json: schema: $ref: '#/components/schemas/Permission' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Permission' multipart/form-data: schema: $ref: '#/components/schemas/Permission' security: - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CurrentUserPermissions' description: '' summary: Api process permissions create x-summary-source: derived /api/process/slug_exists: get: operationId: api_process_slug_exists_retrieve description: 'Check if given url slug exists. Check if slug given in query parameter ``name`` exists. Return ``True`` if slug already exists and ``False`` otherwise.' parameters: - in: query name: name schema: type: string minLength: 1 required: true tags: - Process security: - cookieAuth: [] responses: '200': content: application/json: schema: type: boolean description: '' summary: Api process slug exists retrieve x-summary-source: derived components: schemas: SchedulingClassEnum: enum: - IN - BA type: string description: '* `IN` - Interactive * `BA` - Batch' PersistenceEnum: enum: - RAW - CAC - TMP type: string description: '* `RAW` - Raw * `CAC` - Cached * `TMP` - Temp' CurrentUserPermissionsTypeEnum: enum: - user - group - public type: string description: '* `user` - user * `group` - group * `public` - public' PaginatedProcessSerializerWithPermissionsList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ProcessSerializerWithPermissions' Permission: type: object description: 'Permission serializer. Dictionary keys for users and groups are either ids or usernames (emails) or group names.' properties: users: type: object additionalProperties: enum: - VIEW - EDIT - SHARE - OWNER type: string description: '* `VIEW` - VIEW * `EDIT` - EDIT * `SHARE` - SHARE * `OWNER` - OWNER' groups: type: object additionalProperties: enum: - VIEW - EDIT - SHARE - OWNER type: string description: '* `VIEW` - VIEW * `EDIT` - EDIT * `SHARE` - SHARE * `OWNER` - OWNER' public: $ref: '#/components/schemas/PublicEnum' PermissionsEnum: enum: - none - view - edit - share - owner type: string description: '* `none` - none * `view` - view * `edit` - edit * `share` - share * `owner` - owner' Contributor: type: object description: Serializer for contributor User objects. properties: first_name: type: string maxLength: 150 id: type: integer readOnly: true last_name: type: string maxLength: 150 username: type: string description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. pattern: ^[\w.@+-]+$ maxLength: 150 required: - id - username ProcessSerializerWithPermissions: type: object description: Serializer for Process objects. properties: created: type: string format: date-time readOnly: true id: type: integer readOnly: true modified: type: string format: date-time readOnly: true is_active: type: boolean readOnly: true title: Active category: type: string pattern: ^([a-zA-Z0-9]+[:\-])*[a-zA-Z0-9]+:$ maxLength: 200 contributor: $ref: '#/components/schemas/Contributor' data_name: type: - string - 'null' maxLength: 200 description: type: string entity_always_create: type: boolean entity_input: type: - string - 'null' maxLength: 100 entity_type: type: - string - 'null' maxLength: 100 input_schema: {} name: type: string output_schema: {} persistence: $ref: '#/components/schemas/PersistenceEnum' requirements: {} run: {} scheduling_class: $ref: '#/components/schemas/SchedulingClassEnum' slug: type: - string - 'null' type: type: string pattern: ^data:[a-z0-9:]+:$ maxLength: 100 version: type: string default: 0.0.0 current_user_permissions: type: array items: $ref: '#/components/schemas/CurrentUserPermissions' readOnly: true required: - contributor - created - current_user_permissions - id - is_active - modified - type CurrentUserPermissions: type: object description: Current user permissions serializer. properties: id: type: integer type: $ref: '#/components/schemas/CurrentUserPermissionsTypeEnum' name: type: string maxLength: 100 username: type: string maxLength: 150 permissions: type: array items: $ref: '#/components/schemas/PermissionsEnum' required: - permissions - type PublicEnum: enum: - VIEW - EDIT - SHARE - OWNER type: string description: '* `VIEW` - VIEW * `EDIT` - EDIT * `SHARE` - SHARE * `OWNER` - OWNER' securitySchemes: cookieAuth: type: apiKey in: cookie name: sessionid