Skip to content

Commit

Permalink
Merge branch 'v1.0.0-dev' into feat/markdown-lint-github-action
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremyfiel authored Dec 16, 2024
2 parents 38a9adc + 40742b2 commit 71e7bbf
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 50 deletions.
35 changes: 17 additions & 18 deletions schemas/v1.0/schema.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$id": "https://spec.openapis.org/arazzo/1.0/schema/2024-08-01",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "The description of OpenAPI Initiative Arazzo v1.0.0 documents without schema validation, as defined by https://spec.openapis.org/arazzo/v1.0.0",
"description": "The description of Arazzo v1.0.x documents",
"type": "object",
"properties": {
"arazzo": {
Expand Down Expand Up @@ -44,7 +44,7 @@
"unevaluatedProperties": false,
"$defs": {
"info": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#info-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#info-object",
"description": "Provides metadata about the Arazzo description",
"type": "object",
"properties": {
Expand Down Expand Up @@ -73,7 +73,7 @@
"unevaluatedProperties": false
},
"source-description-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#source-description-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#source-description-object",
"description": "Describes a source description (such as an OpenAPI description) that will be referenced by one or more workflows described within an Arazzo description",
"type": "object",
"properties": {
Expand Down Expand Up @@ -103,7 +103,7 @@
"unevaluatedProperties": false
},
"workflow-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#workflow-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#workflow-object",
"description": "Describes the steps to be taken across one or more APIs to achieve an objective",
"type": "object",
"properties": {
Expand Down Expand Up @@ -204,7 +204,7 @@
"unevaluatedProperties": false
},
"step-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#step-object'",
"$comment": "https://spec.openapis.org/arazzo/v1.0#step-object'",
"description": "Describes a single workflow step which MAY be a call to an API operation (OpenAPI Operation Object or another Workflow Object)",
"type": "object",
"properties": {
Expand Down Expand Up @@ -371,7 +371,7 @@
"unevaluatedProperties": false
},
"request-body-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#request-body-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#request-body-object",
"description": "The request body to pass to an operation as referenced by operationId or operationPath",
"type": "object",
"properties": {
Expand All @@ -393,7 +393,7 @@
"unevaluatedProperties": false
},
"criterion-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#criterion-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#criterion-object",
"description": "An object used to specify the context, conditions, and condition types that can be used to prove or satisfy assertions specified in Step Object successCriteria, Success Action Object criteria, and Failure Action Object criteria",
"type": "object",
"properties": {
Expand Down Expand Up @@ -438,7 +438,7 @@
"unevaluatedProperties": false
},
"criterion-expression-type-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#criterion-expression-type-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#criterion-expression-type-object",
"description": "An object used to describe the type and version of an expression used within a Criterion Object",
"type": "object",
"properties": {
Expand Down Expand Up @@ -505,7 +505,7 @@
"$ref": "#/$defs/specification-extensions"
},
"success-action-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#success-action-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#success-action-object",
"description": "A single success action which describes an action to take upon success of a workflow step",
"type": "object",
"properties": {
Expand Down Expand Up @@ -571,7 +571,7 @@
"unevaluatedProperties": false
},
"failure-action-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#failure-action-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#failure-action-object",
"description": "A single failure action which describes an action to take upon failure of a workflow step",
"type": "object",
"properties": {
Expand Down Expand Up @@ -664,7 +664,7 @@
"unevaluatedProperties": false
},
"reusable-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#reusable-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#reusable-object",
"description": "A simple object to allow referencing of objects contained within the Components Object",
"type": "object",
"properties": {
Expand All @@ -690,7 +690,7 @@
"unevaluatedProperties": false
},
"parameter-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#parameter-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#parameter-object",
"description": "Describes a single step parameter",
"type": "object",
"properties": {
Expand All @@ -704,8 +704,7 @@
"path",
"query",
"header",
"cookie",
"body"
"cookie"
]
},
"value": {
Expand All @@ -728,7 +727,7 @@
"unevaluatedProperties": false
},
"payload-replacement-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#payload-replacement-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#payload-replacement-object",
"description": "Describes a location within a payload (e.g., a request body) and a value to set within the location",
"type": "object",
"properties": {
Expand All @@ -749,7 +748,7 @@
"$ref": "#/$defs/specification-extensions"
},
"components-object": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#components-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#components-object",
"description": "Holds a set of reusable objects for different aspects of the Arazzo Specification",
"type": "object",
"properties": {
Expand Down Expand Up @@ -794,14 +793,14 @@
"$ref": "#/$defs/specification-extensions"
},
"specification-extensions": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#specification-extensions",
"$comment": "https://spec.openapis.org/arazzo/v1.0#specification-extensions",
"description": "While the Arazzo Specification tries to accommodate most use cases, additional data can be added to extend the specification at certain points",
"patternProperties": {
"^x-": true
}
},
"schema": {
"$comment": "https://spec.openapis.org/arazzo/v1.0.0#schema-object",
"$comment": "https://spec.openapis.org/arazzo/v1.0#schema-object",
"$ref": "https://json-schema.org/draft/2020-12/schema"
}
}
Expand Down
34 changes: 16 additions & 18 deletions schemas/v1.0/schema.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
$id: 'https://spec.openapis.org/arazzo/1.0/schema/2024-08-01'
$schema: 'https://json-schema.org/draft/2020-12/schema'
description: |-
The description of OpenAPI Initiative Arazzo v1.0.0 documents
without schema validation, as defined by https://spec.openapis.org/arazzo/v1.0.0
The description of Arazzo v1.0.x documents
type: object
properties:
arazzo:
Expand Down Expand Up @@ -36,7 +35,7 @@ $ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
$defs:
info:
$comment: https://spec.openapis.org/arazzo/v1.0.0#info-object
$comment: https://spec.openapis.org/arazzo/v1.0#info-object
description: Provides metadata about the Arazzo description
type: object
properties:
Expand All @@ -58,7 +57,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
source-description-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#source-description-object
$comment: https://spec.openapis.org/arazzo/v1.0#source-description-object
description: |-
Describes a source description (such as an OpenAPI description)
that will be referenced by one or more workflows described within
Expand All @@ -84,7 +83,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
workflow-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#workflow-object
$comment: https://spec.openapis.org/arazzo/v1.0#workflow-object
description: Describes the steps to be taken across one or more APIs to achieve an objective
type: object
properties:
Expand Down Expand Up @@ -150,7 +149,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
step-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#step-object'
$comment: https://spec.openapis.org/arazzo/v1.0#step-object'
description: |-
Describes a single workflow step which MAY be a call to an
API operation (OpenAPI Operation Object or another Workflow Object)
Expand Down Expand Up @@ -246,7 +245,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
request-body-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#request-body-object
$comment: https://spec.openapis.org/arazzo/v1.0#request-body-object
description: The request body to pass to an operation as referenced by operationId or operationPath
type: object
properties:
Expand All @@ -263,7 +262,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
criterion-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#criterion-object
$comment: https://spec.openapis.org/arazzo/v1.0#criterion-object
description: |-
An object used to specify the context, conditions, and condition types
that can be used to prove or satisfy assertions specified in Step Object successCriteria,
Expand Down Expand Up @@ -296,7 +295,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
criterion-expression-type-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#criterion-expression-type-object
$comment: https://spec.openapis.org/arazzo/v1.0#criterion-expression-type-object
description: An object used to describe the type and version of an expression used within a Criterion Object
type: object
properties:
Expand Down Expand Up @@ -337,7 +336,7 @@ $defs:
- xpath-30
$ref: '#/$defs/specification-extensions'
success-action-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#success-action-object
$comment: https://spec.openapis.org/arazzo/v1.0#success-action-object
description: A single success action which describes an action to take upon success of a workflow step
type: object
properties:
Expand Down Expand Up @@ -379,7 +378,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
failure-action-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#failure-action-object
$comment: https://spec.openapis.org/arazzo/v1.0#failure-action-object
description: A single failure action which describes an action to take upon failure of a workflow step
type: object
properties:
Expand Down Expand Up @@ -438,7 +437,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
reusable-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#reusable-object
$comment: https://spec.openapis.org/arazzo/v1.0#reusable-object
description: A simple object to allow referencing of objects contained within the Components Object
type: object
properties:
Expand All @@ -458,7 +457,7 @@ $defs:
- reference
unevaluatedProperties: false
parameter-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#parameter-object
$comment: https://spec.openapis.org/arazzo/v1.0#parameter-object
description: Describes a single step parameter
type: object
properties:
Expand All @@ -472,7 +471,6 @@ $defs:
- query
- header
- cookie
- body
value:
description: The value to pass in the parameter
type:
Expand All @@ -488,7 +486,7 @@ $defs:
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
payload-replacement-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#payload-replacement-object
$comment: https://spec.openapis.org/arazzo/v1.0#payload-replacement-object
description: Describes a location within a payload (e.g., a request body) and a value to set within the location
type: object
properties:
Expand All @@ -504,7 +502,7 @@ $defs:
unevaluatedProperties: false
$ref: '#/$defs/specification-extensions'
components-object:
$comment: https://spec.openapis.org/arazzo/v1.0.0#components-object
$comment: https://spec.openapis.org/arazzo/v1.0#components-object
description: Holds a set of reusable objects for different aspects of the Arazzo Specification
type: object
properties:
Expand Down Expand Up @@ -536,10 +534,10 @@ $defs:
unevaluatedProperties: false
$ref: '#/$defs/specification-extensions'
specification-extensions:
$comment: https://spec.openapis.org/arazzo/v1.0.0#specification-extensions
$comment: https://spec.openapis.org/arazzo/v1.0#specification-extensions
description: While the Arazzo Specification tries to accommodate most use cases, additional data can be added to extend the specification at certain points
patternProperties:
'^x-': true
schema:
$comment: https://spec.openapis.org/arazzo/v1.0.0#schema-object
$comment: https://spec.openapis.org/arazzo/v1.0#schema-object
$ref: 'https://json-schema.org/draft/2020-12/schema'
28 changes: 14 additions & 14 deletions versions/1.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ workflows:
# outputs from this step
availablePets: $response.body
outputs:
available: $steps.getPetStep.availablePets
available: $steps.getPetStep.outputs.availablePets
```
#### Info Object
Expand Down Expand Up @@ -868,19 +868,19 @@ The runtime expression is defined by the following [ABNF](https://tools.ietf.org

#### Examples

| Source Location | example expression | notes |
| ---- | :---- | :---- |
| HTTP Method | `$method` | The allowable values for the `$method` will be those for the HTTP operation. |
| Requested media type | `$request.header.accept` | |
| Request parameter | `$request.path.id` | Request parameters MUST be declared in the `parameters` section of the parent operation or they cannot be evaluated. This includes request headers. |
| Request body property | `$request.body#/user/uuid` | In operations which accept payloads, references may be made to portions of the `requestBody` or the entire body. |
| Request URL | `$url` | |
| Response value | `$response.body#/status` | In operations which return payloads, references may be made to portions of the response body or the entire body. |
| Response header | `$response.header.Server` | Single header values only are available |
| workflow input | `$inputs.username` or `$workflows.foo.inputs.username` | Single input values only are available |
| Step output value | `$steps.someStep.pets` | In situations where the output named property return payloads, references may be made to portions of the response body or the entire body. |
| Workflow output value | `$outputs.bar` or `$workflows.foo.outputs.bar` | Single input values only are available |
| Components parameter | `$components.parameters.foo` | Accesses a foo parameter defined within the Components Object. |
Source Location | example expression | notes
---|:---|:---|
HTTP Method | `$method` | The allowable values for the `$method` will be those for the HTTP operation.
Requested media type | `$request.header.accept` |
Request parameter | `$request.path.id` | Request parameters MUST be declared in the `parameters` section of the parent operation or they cannot be evaluated. This includes request headers.
Request body property | `$request.body#/user/uuid` | In operations which accept payloads, references may be made to portions of the `requestBody` or the entire body.
Request URL | `$url` |
Response value | `$response.body#/status` | In operations which return payloads, references may be made to portions of the response body or the entire body.
Response header | `$response.header.Server` | Single header values only are available
workflow input | `$inputs.username` or `$workflows.foo.inputs.username` | Single input values only are available
Step output value | `$steps.someStepId.outputs.pets` | In situations where the output named property return payloads, references may be made to portions of the response body (e.g., `$steps.someStepId.outputs.pets#/0/id`) or the entire body.
Workflow output value | `$outputs.bar` or `$workflows.foo.outputs.bar` | In situations where the output named property return payloads, references may be made to portions of the response body (e.g., `$workflows.foo.outputs.mappedResponse#/name`) or the entire body.
Components parameter | `$components.parameters.foo` | Accesses a foo parameter defined within the Components Object.

Runtime expressions preserve the type of the referenced value.
Expressions can be embedded into string values by surrounding the expression with `{}` curly braces.
Expand Down

0 comments on commit 71e7bbf

Please sign in to comment.