OutSystems Generation Operations API
The GenerationOperations API from OutSystems — 4 operation(s) for generationoperations.
The GenerationOperations API from OutSystems — 4 operation(s) for generationoperations.
openapi: 3.2.0
info:
title: External Library Generation Service Generation Operations API
description: 'API for generating and managing external libraries from high-code packages.
'
version: v1
servers:
- url: https://ODC_PORTAL_DOMAIN/api/external-libraries/v1
description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/external-libraries/v1
description: Replace {odc-portal-domain} with the domain of your organization.
variables:
odc-portal-domain:
default: ODC_PORTAL_DOMAIN
description: The domain of your organization
security:
- bearerAuth: []
tags:
- name: GenerationOperations
paths:
/generation-operations:
post:
tags:
- GenerationOperations
summary: Generate an external library from a high-code package.
description: "Asynchronously generates an external library using the HighCode package, containing the compiled code of the library.\n\nRequired permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
operationId: GenerationOperations_CreateGenerationOperation
requestBody:
description: External library generation operation creation request.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Models.GenerationOperationCreationRequest'
description: Request to create a generation operation.
responses:
'201':
description: The generation operation key.
content:
application/json:
schema:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.CreationOperationResponse'
'400':
description: Request is malformed.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
x-os-permissions: "Required permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
get:
tags:
- GenerationOperations
summary: Returns the list of generation operations.
description: 'Gets the list of all available generation operations.
API Client needs at least one permission.'
operationId: GenerationOperations_GetGenerationOperations
responses:
'200':
description: The list of generation operations.
content:
application/json:
schema:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationListResponse'
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'410':
description: Client cancelled the execution of the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
/generation-operations/{operationKey}:
delete:
tags:
- GenerationOperations
summary: Deletes a generation operation.
description: "Deletes a specific generation operation and all associated logs.\n\nRequired permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
operationId: GenerationOperations_DeleteGenerationOperationByOperationKey
parameters:
- name: operationKey
in: path
description: The operation key.
required: true
schema:
type: string
responses:
'204':
description: Generation operation was successfully deleted.
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'404':
description: Generation Operation not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'410':
description: Client cancelled the execution of the request.
x-os-permissions: "Required permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
get:
tags:
- GenerationOperations
summary: Returns the details of a generation operation.
description: 'Returns the details of a generation operation its key.
API Client needs at least one permission.'
operationId: GenerationOperations_GetGenerationOperationByOperationKey
parameters:
- name: operationKey
in: path
description: The operation key.
required: true
schema:
type: string
responses:
'200':
description: The generation operation.
content:
application/json:
schema:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationResponse'
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'410':
description: Client cancelled the execution of the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'404':
description: Generation Operation not found.
/generation-operations/{operationKey}/contents:
get:
tags:
- GenerationOperations
summary: Returns the contents of the specified generation operation.
description: "Returns the actions and structures defined on the high code package corresponding to the specified generation operation\n\nRequired permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
operationId: GenerationOperations_GetGenerationOperationContents
parameters:
- name: operationKey
in: path
description: The generation operation key.
required: true
schema:
type: string
responses:
'200':
description: The generation operation contents.
content:
application/json:
schema:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationContentsResponse'
'400':
description: Generation operation key is not a valid GUID.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'404':
description: generation operation not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'410':
description: Client cancelled the execution of the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
x-os-permissions: "Required permissions:\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
/generation-operations/{operationKey}/log-messages:
get:
tags:
- GenerationOperations
summary: Get log messages.
description: "Returns the validation messages for the specified generation operation.\n\nRequired permissions:\n - If generation operation has no library key associated (failed to get extracted from high code): **Asset management > Create** or **Asset management > Change**\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
operationId: GenerationOperations_GetGenerationOperationLogMessages
parameters:
- name: operationKey
in: path
description: The generation operation key.
required: true
schema:
type: string
responses:
'200':
description: The generation operation details.
content:
application/json:
schema:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationLogMessagesResponse'
'400':
description: Generation operation key is not a valid GUID.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'401':
description: Not authorized to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'403':
description: Insufficient permissions to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'404':
description: Generation operation not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'410':
description: Client cancelled the execution of the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
x-os-permissions: "Required permissions:\n - If generation operation has no library key associated (failed to get extracted from high code): **Asset management > Create** or **Asset management > Change**\n - If generation operation corresponds to a new library: **Asset management > Create**\n - If generation operation corresponds to a new version of an existing library: **Asset management > Change** for that specific library key"
components:
schemas:
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.StructureResponse:
type: object
properties:
name:
type:
- string
- 'null'
description: Name of the Structure
attributes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.AttributeResponse'
description: List of attributes of the structure
changeType:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.ChangeType'
description: Change compared with previous version
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationValidationMessageResponse:
type: object
properties:
errorCode:
type:
- string
- 'null'
description: Error Code for reference
message:
type:
- string
- 'null'
description: Detailed message of the error
type:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.JobValidationMessageType'
description: Type of the validation message
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.CreationOperationResponse:
type: object
properties:
operationKey:
type: string
description: The operation key
format: uuid
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.ParameterResponse:
type: object
properties:
name:
type:
- string
- 'null'
description: Name of the parameter
dataType:
type:
- string
- 'null'
description: OutSystems data type of the parameter
parameterType:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.ParameterType'
description: Type of parameter
changeType:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.ChangeType'
description: Change compared with previous version
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.AttributeResponse:
type: object
properties:
name:
type:
- string
- 'null'
description: Name of the attribute
dataType:
type:
- string
- 'null'
description: OutSystems data type of the attribute
changeType:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.ChangeType'
description: Change compared with previous version
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Models.GenerationOperationCreationRequest:
type: object
properties:
fileName:
type: string
description: The name of the file that contains the high code binary.
highCodeBinaryUri:
type: string
description: The Uri to fetch the zip archive containing the high code binary.
additionalProperties: false
description: Request to create a generation operation.
OutSystems.ExternalLibraryGeneration.Application.Enums.JobValidationMessageType:
enum:
- None
- Information
- Warning
- Error
type: string
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationListResponse:
type: object
properties:
results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationResponse'
description: List of generation operations, sorted by CreatedAt descending
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.ActionResponse:
type: object
properties:
name:
type:
- string
- 'null'
description: Name of the action
parameters:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.ParameterResponse'
description: List of parameters of the action
changeType:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Application.Enums.ChangeType'
description: Change compared with previous version
iconBase64:
type:
- string
- 'null'
description: Icon of the action represented in Base64
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationLogMessagesResponse:
type: object
properties:
validationMessages:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationValidationMessageResponse'
description: List of validation messages
finishedAt:
type: string
description: Timestamp of when the creation process ended, in UTC
format: date-time
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationContentsResponse:
type: object
properties:
actions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.ActionResponse'
description: List of actions defined in the HCPkg. Contains the delta for the currently published version in the update scenario
structures:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.StructureResponse'
description: List of structures defined in the HCPkg. Contains the delta for the currently published version in the update scenario
additionalProperties: false
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Enums.GenerationOperationStatus:
enum:
- None
- Generating
- GenerationError
- ReadyForReview
- Downloading
- DownloadError
- Completed
type: string
description: Status of a generation operation in the v1beta1 API
OutSystems.ExternalLibraryGeneration.Application.Enums.ChangeType:
enum:
- None
- Added
- Removed
- Updated
- Unchanged
type: string
Microsoft.AspNetCore.Mvc.ProblemDetails:
type: object
properties:
type:
type:
- string
- 'null'
description: A URI reference that identifies the problem type.
title:
type:
- string
- 'null'
description: A short, human-readable summary of the problem.
status:
type:
- integer
- 'null'
description: The HTTP status code applicable to the problem.
format: int32
detail:
type:
- string
- 'null'
description: A human-readable explanation of the error.
instance:
type:
- string
- 'null'
description: A URI that identifies the specific occurrence of the problem.
traceId:
type: string
description: This field helps OutSystems support track and investigate specific error occurrences. Providing this identifier when reporting an issue allows for more precise and faster troubleshooting.
errorCode:
type: string
description: This error code serves the purpose to communicate with OutSystems Support and help diagnose errors.
description: A standardized error response as per RFC 7807 (Problem Details for HTTP APIs).
OutSystems.ExternalLibraryGeneration.Application.Enums.ParameterType:
enum:
- None
- Input
- Output
type: string
OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Controllers.DataObjects.GenerationOperationResponse:
type: object
properties:
key:
type: string
description: Id of the external library generation operation.
format: uuid
filename:
type:
- string
- 'null'
description: Name of the file containing the high code package.
createdAt:
type: string
description: Timestamp of when the operation was created, in UTC
format: date-time
libraryKey:
type:
- string
- 'null'
description: Key of the library generated from the high code package. Only available after status is ReadyForReview inclusive
format: uuid
libraryName:
type:
- string
- 'null'
description: Name of the library generated from the high code package. Only available after status is ReadyForReview inclusive
libraryDescription:
type:
- string
- 'null'
description: Description of the library generated from the high code package. Only available after status is ReadyForReview inclusive
libraryIconUri:
type:
- string
- 'null'
description: Uri to be used to fetch the library's icon. This Uri will have an expiration time of 30 minutes
libraryUri:
type:
- string
- 'null'
description: Uri to be used to fetch the library.
isNewLibrary:
type:
- boolean
- 'null'
description: States if the external library was already published before. Only available after status is ReadyForReview inclusive
status:
allOf:
- $ref: '#/components/schemas/OutSystems.ExternalLibraryGeneration.Service.V1Beta1.Enums.GenerationOperationStatus'
description: Status of the external library generation operation
additionalProperties: false
description: Response object for generation operations.
securitySchemes:
bearerAuth:
type: http
description: Enter your bearer token in the format 'Bearer {token}'
scheme: bearer
bearerFormat: JWT