From 00991e302b4f6c3ae88a80d18300ef1e02e8e642 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 13:36:34 -0600 Subject: [PATCH 01/10] Add explicit link references per resource * Fix get space parameters * Fix erronous space request body to isolation seg --- .../requestBodies/SpaceCreateRequestBody.yaml | 2 - apis/cf/latest/components/schemas/App.yaml | 24 ++++++++++++ .../schemas/AppCredentialBinding.yaml | 2 + .../schemas/AppEnvironmentVariables.yaml | 9 ++++- .../latest/components/schemas/AuditEvent.yaml | 6 ++- .../latest/components/schemas/BaseSchema.yaml | 4 -- apis/cf/latest/components/schemas/Build.yaml | 12 +++++- .../latest/components/schemas/Buildpack.yaml | 13 +++---- .../latest/components/schemas/Deployment.yaml | 12 +++++- apis/cf/latest/components/schemas/Domain.yaml | 18 ++++++++- .../cf/latest/components/schemas/Droplet.yaml | 31 +++++++++------ .../schemas/EnvironmentVariableGroup.yaml | 6 ++- .../components/schemas/FeatureFlag.yaml | 6 ++- .../components/schemas/IsolationSegment.yaml | 15 ++++---- apis/cf/latest/components/schemas/Job.yaml | 6 ++- apis/cf/latest/components/schemas/Links.yaml | 15 -------- .../schemas/ManagedServiceInstance.yaml | 2 + .../components/schemas/Organization.yaml | 15 +++++++- .../components/schemas/OrganizationQuota.yaml | 9 ++++- .../cf/latest/components/schemas/Package.yaml | 29 +++++++------- .../cf/latest/components/schemas/Process.yaml | 18 ++++++++- apis/cf/latest/components/schemas/Role.yaml | 15 ++++++++ apis/cf/latest/components/schemas/Route.yaml | 15 +++++++- .../components/schemas/RouteDestination.yaml | 9 ++++- .../components/schemas/ServiceOffering.yaml | 12 +++++- .../components/schemas/ServicePlan.yaml | 12 +++++- .../components/schemas/ServiceUsageEvent.yaml | 6 ++- apis/cf/latest/components/schemas/User.yaml | 6 ++- .../latest/components/schemas/UserCreate.yaml | 6 ++- .../latest/components/schemas/UserUpdate.yaml | 6 ++- apis/cf/latest/openapi.yaml | 3 +- apis/cf/latest/paths/Organizations.yaml | 9 ++++- apis/cf/latest/paths/Spaces.yaml | 38 ++----------------- 33 files changed, 273 insertions(+), 118 deletions(-) delete mode 100644 apis/cf/latest/components/schemas/Links.yaml diff --git a/apis/cf/latest/components/requestBodies/SpaceCreateRequestBody.yaml b/apis/cf/latest/components/requestBodies/SpaceCreateRequestBody.yaml index 9109e24..a6f99ed 100644 --- a/apis/cf/latest/components/requestBodies/SpaceCreateRequestBody.yaml +++ b/apis/cf/latest/components/requestBodies/SpaceCreateRequestBody.yaml @@ -13,8 +13,6 @@ content: properties: organization: $ref: '../schemas/RelationshipToOne.yaml' - isolation_segment: - $ref: '../schemas/RelationshipToOne.yaml' required: - organization metadata: diff --git a/apis/cf/latest/components/schemas/App.yaml b/apis/cf/latest/components/schemas/App.yaml index 622dbb2..6e09ca7 100644 --- a/apis/cf/latest/components/schemas/App.yaml +++ b/apis/cf/latest/components/schemas/App.yaml @@ -14,5 +14,29 @@ allOf: $ref: './Relationships.yaml' metadata: $ref: './Metadata.yaml' + links: + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this app + space: + $ref: './Link.yaml' + description: The URL to get the space for this app + processes: + $ref: './Link.yaml' + description: The URL to get the processes for this app + packages: + $ref: './Link.yaml' + description: The URL to get the packages for this app + environment_variables: + $ref: './Link.yaml' + description: The URL to get the environment variables for this app + current_droplet: + $ref: './Link.yaml' + description: The URL to get the current droplet for this app + droplets: + $ref: './Link.yaml' + description: The URL to get the droplets for this app description: > Apps represent the core entities in the Cloud Foundry environment. They are the deployable units that run your code. Each app can have multiple processes, routes, and services associated with it. Apps can be scaled horizontally by increasing the number of instances. They can also be updated and restarted as needed. diff --git a/apis/cf/latest/components/schemas/AppCredentialBinding.yaml b/apis/cf/latest/components/schemas/AppCredentialBinding.yaml index bf655b7..dc0ed67 100644 --- a/apis/cf/latest/components/schemas/AppCredentialBinding.yaml +++ b/apis/cf/latest/components/schemas/AppCredentialBinding.yaml @@ -64,6 +64,8 @@ properties: $ref: './Link.yaml' service_instance: $ref: './Link.yaml' + parameters: + $ref: './Link.yaml' metadata: $ref: './Metadata.yaml' required: diff --git a/apis/cf/latest/components/schemas/AppEnvironmentVariables.yaml b/apis/cf/latest/components/schemas/AppEnvironmentVariables.yaml index defd5dc..e00bf67 100644 --- a/apis/cf/latest/components/schemas/AppEnvironmentVariables.yaml +++ b/apis/cf/latest/components/schemas/AppEnvironmentVariables.yaml @@ -6,5 +6,12 @@ properties: additionalProperties: type: string links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get the environment variables for this app + app: + $ref: './Link.yaml' + description: The URL to get the app for these environment variables description: 'App environment variables with links' diff --git a/apis/cf/latest/components/schemas/AuditEvent.yaml b/apis/cf/latest/components/schemas/AuditEvent.yaml index 2edba91..cb9ecc2 100644 --- a/apis/cf/latest/components/schemas/AuditEvent.yaml +++ b/apis/cf/latest/components/schemas/AuditEvent.yaml @@ -45,6 +45,10 @@ allOf: type: string description: The unique identifier for the organization where the event occurred links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this audit event description: > Audit events help Cloud Foundry operators monitor actions taken against resources (such as apps) via user or system actions. diff --git a/apis/cf/latest/components/schemas/BaseSchema.yaml b/apis/cf/latest/components/schemas/BaseSchema.yaml index af01ebf..cf590e5 100644 --- a/apis/cf/latest/components/schemas/BaseSchema.yaml +++ b/apis/cf/latest/components/schemas/BaseSchema.yaml @@ -12,10 +12,6 @@ properties: type: string format: date-time description: "The time the resource was last updated\nTimestamps generally appear in created_at and updated_at fields on resources. \nPrecision beyond seconds is not supported, even if the underlying database supports it (e.g. Postgres). \nAs a result, filtering on sub-second timestamps is not allowed.\nAll v3 timestamps have the following format YYYY-MM-DDThh:mm:ssZ.\nExample timestamp (June 30, 2020 at 11:49:04 PM UTC): 2020-06-30T23:49:04Z\n" - links: - type: object - additionalProperties: - $ref: './Link.yaml' description: | A resource represents an individual object within the system, such as an app or a service. It is represented as a JSON object. A resource consists of several required resource fields and other attributes specific to the resource. diff --git a/apis/cf/latest/components/schemas/Build.yaml b/apis/cf/latest/components/schemas/Build.yaml index 5acf088..c0c066e 100644 --- a/apis/cf/latest/components/schemas/Build.yaml +++ b/apis/cf/latest/components/schemas/Build.yaml @@ -47,6 +47,16 @@ allOf: type: string description: The email of the user that created the build links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this build + app: + $ref: './Link.yaml' + description: The URL to get the app for this build + droplet: + $ref: './Link.yaml' + description: The URL to get the droplet for this build description: > Builds represent the process of transforming source code into a runnable artifact. Builds can be triggered manually or automatically as part of the app lifecycle. A successful build results in a droplet that can be used to run the app. diff --git a/apis/cf/latest/components/schemas/Buildpack.yaml b/apis/cf/latest/components/schemas/Buildpack.yaml index b50b3f2..b7aca59 100644 --- a/apis/cf/latest/components/schemas/Buildpack.yaml +++ b/apis/cf/latest/components/schemas/Buildpack.yaml @@ -23,15 +23,12 @@ allOf: metadata: $ref: './Metadata.yaml' links: - allOf: - - $ref: './Links.yaml' + type: object properties: self: - allOf: - - $ref: './Link.yaml' - - description: The URL of the buildpack + $ref: './Link.yaml' + description: The URL of the buildpack upload: - allOf: - - $ref: './Link.yaml' - - description: The URL to upload the buildpack + $ref: './Link.yaml' + description: The URL to upload the buildpack description: A buildpack represents a set of scripts used to prepare an application for launch. diff --git a/apis/cf/latest/components/schemas/Deployment.yaml b/apis/cf/latest/components/schemas/Deployment.yaml index 5bedf85..6117bd5 100644 --- a/apis/cf/latest/components/schemas/Deployment.yaml +++ b/apis/cf/latest/components/schemas/Deployment.yaml @@ -62,7 +62,17 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this deployment + app: + $ref: './Link.yaml' + description: The URL to get the app for this deployment + cancel: + $ref: './Link.yaml' + description: The URL to cancel this deployment description: > Deployments are objects that manage updates to applications with zero downtime. They can either: - Manage updating an app’s droplet directly after an application package is staged - Roll an app back to a specific revision along with its associated droplet diff --git a/apis/cf/latest/components/schemas/Domain.yaml b/apis/cf/latest/components/schemas/Domain.yaml index 4188e80..b1031f1 100644 --- a/apis/cf/latest/components/schemas/Domain.yaml +++ b/apis/cf/latest/components/schemas/Domain.yaml @@ -26,6 +26,22 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this domain + organization: + $ref: './Link.yaml' + description: The URL to get the organization for this domain + route_reservations: + $ref: './Link.yaml' + description: The URL to get the route reservations for this domain + shared_organizations: + $ref: './Link.yaml' + description: The URL to get the shared organizations for this domain + router_group: + $ref: './Link.yaml' + description: The URL to get the router group for this domain description: | A domain is a fully qualified domain name that is used for application routes. A domain can be scoped to an organization, meaning it can be used to create routes for spaces inside that organization, or be left unscoped to allow all organizations access. diff --git a/apis/cf/latest/components/schemas/Droplet.yaml b/apis/cf/latest/components/schemas/Droplet.yaml index 8cb06d4..0b69551 100644 --- a/apis/cf/latest/components/schemas/Droplet.yaml +++ b/apis/cf/latest/components/schemas/Droplet.yaml @@ -19,17 +19,26 @@ allOf: metadata: $ref: './Metadata.yaml' links: - allOf: - - $ref: './Links.yaml' - - properties: - assign_current_droplet: - allOf: - - $ref: './Link.yaml' - - description: The URL to assign the droplet to an application - download: - allOf: - - $ref: './Link.yaml' - - description: The URL to download the droplet + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this droplet + package: + $ref: './Link.yaml' + description: The URL to get the package for this droplet + app: + $ref: './Link.yaml' + description: The URL to get the app for this droplet + assign_current_droplet: + $ref: './Link.yaml' + description: The URL to assign the droplet to an application + download: + $ref: './Link.yaml' + description: The URL to download the droplet + upload: + $ref: './Link.yaml' + description: The URL to upload the droplet checksum: type: object properties: diff --git a/apis/cf/latest/components/schemas/EnvironmentVariableGroup.yaml b/apis/cf/latest/components/schemas/EnvironmentVariableGroup.yaml index 5ce892a..8473d42 100644 --- a/apis/cf/latest/components/schemas/EnvironmentVariableGroup.yaml +++ b/apis/cf/latest/components/schemas/EnvironmentVariableGroup.yaml @@ -13,6 +13,10 @@ properties: type: string description: Environment variables to inject; keys and values must be strings links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this environment variable group description: > Environment variable groups allow platform operators/admins to manage environment variables across all apps in a Cloud Foundry foundation. Variables in the running environment variable group will be injected into all running app containers. Variables in the staging environment variable group will be injected into the staging container for all apps while they are being staged. diff --git a/apis/cf/latest/components/schemas/FeatureFlag.yaml b/apis/cf/latest/components/schemas/FeatureFlag.yaml index 442b9c7..d904fd4 100644 --- a/apis/cf/latest/components/schemas/FeatureFlag.yaml +++ b/apis/cf/latest/components/schemas/FeatureFlag.yaml @@ -14,6 +14,10 @@ properties: type: string description: The error string returned by the API when a client performs an action disabled by the feature flag links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this feature flag description: > Feature flags are runtime flags that enable or disable functionality on the API. diff --git a/apis/cf/latest/components/schemas/IsolationSegment.yaml b/apis/cf/latest/components/schemas/IsolationSegment.yaml index 9663d4b..ef3f7c7 100644 --- a/apis/cf/latest/components/schemas/IsolationSegment.yaml +++ b/apis/cf/latest/components/schemas/IsolationSegment.yaml @@ -7,11 +7,12 @@ allOf: metadata: $ref: './Metadata.yaml' links: - allOf: - - $ref: './Links.yaml' - - properties: - organizations: - allOf: - - $ref: './Link.yaml' - - description: The organizations assigned to this isolation segment + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this isolation segment + organizations: + $ref: './Link.yaml' + description: The URL to get the organizations for this isolation segment description: An isolation segment provides a dedicated pool of compute resources for an organization or space. diff --git a/apis/cf/latest/components/schemas/Job.yaml b/apis/cf/latest/components/schemas/Job.yaml index 0726db7..3e42152 100644 --- a/apis/cf/latest/components/schemas/Job.yaml +++ b/apis/cf/latest/components/schemas/Job.yaml @@ -25,5 +25,9 @@ allOf: $ref: './Warning.yaml' links: allOf: - - $ref: './Links.yaml' + - type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this job description: 'Jobs are created by the platform when performing certain asynchronous actions. Asynchronous jobs are commonly used for long-running tasks such as uploading large files, staging applications, or deleting resources.' diff --git a/apis/cf/latest/components/schemas/Links.yaml b/apis/cf/latest/components/schemas/Links.yaml deleted file mode 100644 index b6af03e..0000000 --- a/apis/cf/latest/components/schemas/Links.yaml +++ /dev/null @@ -1,15 +0,0 @@ -type: object -description: Links provide URLs to relationships and actions for a resource. Links are represented as a JSON object and always contain a self link. -properties: - self: - $ref: './Link.yaml' - first: - $ref: './Link.yaml' - last: - $ref: './Link.yaml' - next: - $ref: './Link.yaml' - previous: - $ref: './Link.yaml' -additionalProperties: - $ref: './Link.yaml' diff --git a/apis/cf/latest/components/schemas/ManagedServiceInstance.yaml b/apis/cf/latest/components/schemas/ManagedServiceInstance.yaml index 7e7e494..9eba6dd 100644 --- a/apis/cf/latest/components/schemas/ManagedServiceInstance.yaml +++ b/apis/cf/latest/components/schemas/ManagedServiceInstance.yaml @@ -97,6 +97,8 @@ properties: $ref: './Link.yaml' service_route_bindings: $ref: './Link.yaml' + shared_spaces: + $ref: './Link.yaml' metadata: $ref: './Metadata.yaml' required: diff --git a/apis/cf/latest/components/schemas/Organization.yaml b/apis/cf/latest/components/schemas/Organization.yaml index 206235e..415e5f8 100644 --- a/apis/cf/latest/components/schemas/Organization.yaml +++ b/apis/cf/latest/components/schemas/Organization.yaml @@ -17,6 +17,19 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this organization + domains: + $ref: './Link.yaml' + description: The URL to get the domains for this organization + quota: + $ref: './Link.yaml' + description: The URL to get the quota for this organization + default_domain: + $ref: './Link.yaml' + description: The URL to get the default domain for this organization description: > An org is a development account that an individual or multiple collaborators can own and use. All collaborators access an org with user accounts. Collaborators in an org share a resource quota plan, applications, services availability, and custom domains. diff --git a/apis/cf/latest/components/schemas/OrganizationQuota.yaml b/apis/cf/latest/components/schemas/OrganizationQuota.yaml index fad778e..5118f0c 100644 --- a/apis/cf/latest/components/schemas/OrganizationQuota.yaml +++ b/apis/cf/latest/components/schemas/OrganizationQuota.yaml @@ -63,6 +63,13 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this organization quota + organizations: + $ref: './Link.yaml' + description: The URL to get the organizations for this quota description: > Organization quotas are named sets of memory, log rate, service, and instance usage quotas. For example, one organization quota might allow up to 10 services, 10 routes, and 2 GB of RAM, while another might offer 100 services, 100 routes, and 10 GB of RAM. diff --git a/apis/cf/latest/components/schemas/Package.yaml b/apis/cf/latest/components/schemas/Package.yaml index fca538c..4b1ffec 100644 --- a/apis/cf/latest/components/schemas/Package.yaml +++ b/apis/cf/latest/components/schemas/Package.yaml @@ -48,19 +48,18 @@ allOf: metadata: $ref: './Metadata.yaml' links: - allOf: - - $ref: './Links.yaml' - - properties: - upload: - allOf: - - $ref: './Link.yaml' - - description: The URL to upload the package bits - download: - allOf: - - $ref: './Link.yaml' - - description: The URL to download the package bits - stage: - allOf: - - $ref: './Link.yaml' - - description: The URL to stage the package + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this package + upload: + $ref: './Link.yaml' + description: The URL to upload the package bits + download: + $ref: './Link.yaml' + description: The URL to download the package bits + app: + $ref: './Link.yaml' + description: The URL to get the app for this package description: 'A package represents an application"s "source code" - either raw bits or a pointer to these bits. Packages are used to create builds, which result in a droplet that can be deployed.' diff --git a/apis/cf/latest/components/schemas/Process.yaml b/apis/cf/latest/components/schemas/Process.yaml index fc637dc..05b9ad7 100644 --- a/apis/cf/latest/components/schemas/Process.yaml +++ b/apis/cf/latest/components/schemas/Process.yaml @@ -41,5 +41,21 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this process + scale: + $ref: './Link.yaml' + description: The URL to scale this process + app: + $ref: './Link.yaml' + description: The URL to get the app for this process + space: + $ref: './Link.yaml' + description: The URL to get the space for this process + stats: + $ref: './Link.yaml' + description: The URL to get the stats for this process description: 'A process defines the runnable units of an app' diff --git a/apis/cf/latest/components/schemas/Role.yaml b/apis/cf/latest/components/schemas/Role.yaml index 20a16b2..babc86b 100644 --- a/apis/cf/latest/components/schemas/Role.yaml +++ b/apis/cf/latest/components/schemas/Role.yaml @@ -42,6 +42,21 @@ properties: - $ref: './RelationshipToOne.yaml' - description: | A relationship to the user; this is the user that has the role + links: + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this role + user: + $ref: './Link.yaml' + description: The URL to get the user for this role + organization: + $ref: './Link.yaml' + description: The URL to get the organization for this role + space: + $ref: './Link.yaml' + description: The URL to get the space for this role description: | Roles represent a set of permissions that can be granted to users. Roles are represented as a JSON object. A role consists of several required role fields and other attributes specific to the role. diff --git a/apis/cf/latest/components/schemas/Route.yaml b/apis/cf/latest/components/schemas/Route.yaml index a9acdc6..0f84360 100644 --- a/apis/cf/latest/components/schemas/Route.yaml +++ b/apis/cf/latest/components/schemas/Route.yaml @@ -18,5 +18,18 @@ allOf: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this route + space: + $ref: './Link.yaml' + description: The URL to get the space for this route + domain: + $ref: './Link.yaml' + description: The URL to get the domain for this route + destinations: + $ref: './Link.yaml' + description: The URL to get the destinations for this route description: A route in Cloud Foundry is used to direct traffic from a URL to an application. diff --git a/apis/cf/latest/components/schemas/RouteDestination.yaml b/apis/cf/latest/components/schemas/RouteDestination.yaml index d04849f..5b559f4 100644 --- a/apis/cf/latest/components/schemas/RouteDestination.yaml +++ b/apis/cf/latest/components/schemas/RouteDestination.yaml @@ -27,5 +27,12 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this route destination + route: + $ref: './Link.yaml' + description: The URL to get the route for this destination description: A route destination is a specification for where traffic on a route should be directed. diff --git a/apis/cf/latest/components/schemas/ServiceOffering.yaml b/apis/cf/latest/components/schemas/ServiceOffering.yaml index 34282d6..9abb583 100644 --- a/apis/cf/latest/components/schemas/ServiceOffering.yaml +++ b/apis/cf/latest/components/schemas/ServiceOffering.yaml @@ -29,4 +29,14 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this service offering + service_plans: + $ref: './Link.yaml' + description: The URL to get the service plans for this offering + service_broker: + $ref: './Link.yaml' + description: The URL to get the service broker for this offering diff --git a/apis/cf/latest/components/schemas/ServicePlan.yaml b/apis/cf/latest/components/schemas/ServicePlan.yaml index 1c4b8e2..2d24e36 100644 --- a/apis/cf/latest/components/schemas/ServicePlan.yaml +++ b/apis/cf/latest/components/schemas/ServicePlan.yaml @@ -34,4 +34,14 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this service plan + service_offering: + $ref: './Link.yaml' + description: The URL to get the service offering for this plan + visibility: + $ref: './Link.yaml' + description: The URL to get the visibility for this plan diff --git a/apis/cf/latest/components/schemas/ServiceUsageEvent.yaml b/apis/cf/latest/components/schemas/ServiceUsageEvent.yaml index 9742b19..0e5110b 100644 --- a/apis/cf/latest/components/schemas/ServiceUsageEvent.yaml +++ b/apis/cf/latest/components/schemas/ServiceUsageEvent.yaml @@ -35,4 +35,8 @@ properties: type: string format: date-time links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this service usage event diff --git a/apis/cf/latest/components/schemas/User.yaml b/apis/cf/latest/components/schemas/User.yaml index dd550da..0412695 100644 --- a/apis/cf/latest/components/schemas/User.yaml +++ b/apis/cf/latest/components/schemas/User.yaml @@ -23,4 +23,8 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this user diff --git a/apis/cf/latest/components/schemas/UserCreate.yaml b/apis/cf/latest/components/schemas/UserCreate.yaml index 4fc978b..99b0a90 100644 --- a/apis/cf/latest/components/schemas/UserCreate.yaml +++ b/apis/cf/latest/components/schemas/UserCreate.yaml @@ -23,6 +23,10 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this user required: - guid diff --git a/apis/cf/latest/components/schemas/UserUpdate.yaml b/apis/cf/latest/components/schemas/UserUpdate.yaml index 92c5875..6a64453 100644 --- a/apis/cf/latest/components/schemas/UserUpdate.yaml +++ b/apis/cf/latest/components/schemas/UserUpdate.yaml @@ -12,4 +12,8 @@ properties: metadata: $ref: './Metadata.yaml' links: - $ref: './Links.yaml' + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this user diff --git a/apis/cf/latest/openapi.yaml b/apis/cf/latest/openapi.yaml index 188366a..3117f1c 100644 --- a/apis/cf/latest/openapi.yaml +++ b/apis/cf/latest/openapi.yaml @@ -103,8 +103,7 @@ components: $ref: './components/schemas/RelationshipToOne.yaml' RelationshipToMany: $ref: './components/schemas/RelationshipToMany.yaml' - Links: - $ref: './components/schemas/Links.yaml' + Link: $ref: './components/schemas/Link.yaml' Pagination: diff --git a/apis/cf/latest/paths/Organizations.yaml b/apis/cf/latest/paths/Organizations.yaml index d8dd1c4..1c660f9 100644 --- a/apis/cf/latest/paths/Organizations.yaml +++ b/apis/cf/latest/paths/Organizations.yaml @@ -161,7 +161,14 @@ service_keys: type: integer links: - $ref: '../components/schemas/Links.yaml' + type: object + properties: + self: + $ref: '../components/schemas/Link.yaml' + description: The URL to get this usage summary + organization: + $ref: '../components/schemas/Link.yaml' + description: The URL to get the organization for this usage summary '404': $ref: '../components/responses/NotFound.yaml' /v3/organizations/{guid}/users: diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index 9d3b682..e9b6bfd 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -77,40 +77,6 @@ - Spaces parameters: - $ref: '../components/parameters/Guid.yaml' - - $ref: '../components/parameters/Page.yaml' - - $ref: '../components/parameters/PerPage.yaml' - - $ref: '../components/parameters/OrderBy.yaml' - - name: guids - in: query - schema: - type: array - items: - type: string - description: Comma-delimited list of user guids to filter by - - name: usernames - in: query - schema: - type: array - items: - type: string - description: Comma-delimited list of usernames to filter by - - name: partial_usernames - in: query - schema: - type: array - items: - type: string - description: Comma-delimited list of partial usernames to filter by - - name: origins - in: query - schema: - type: array - items: - type: string - description: Comma-delimited list of user origins to filter by - - $ref: '../components/parameters/LabelSelector.yaml' - - $ref: '../components/parameters/CreatedAts.yaml' - - $ref: '../components/parameters/UpdatedAts.yaml' responses: '200': description: OK @@ -158,6 +124,10 @@ $ref: '../components/schemas/Job.yaml' '404': $ref: '../components/responses/NotFound.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' + '400': + $ref: '../components/responses/BadRequest.yaml' /v3/spaces/{guid}/actions/apply_manifest: post: summary: Apply a manifest to a space From 4b7e4d3632caeddf67962fb561e73f71a8532035 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 14:22:52 -0600 Subject: [PATCH 02/10] Add missing 401 error to all but /,/v3,/v3/info endpoints --- .../paths/AdminClearBuildpackCache.yaml | 2 ++ apis/cf/latest/paths/AppUsageEvents.yaml | 4 +++ apis/cf/latest/paths/Apps.yaml | 36 +++++++++++++++++++ apis/cf/latest/paths/AuditEvents.yaml | 2 ++ apis/cf/latest/paths/Buildpacks.yaml | 4 +++ apis/cf/latest/paths/Builds.yaml | 6 ++++ apis/cf/latest/paths/Deployments.yaml | 8 +++++ apis/cf/latest/paths/Domains.yaml | 14 ++++++++ apis/cf/latest/paths/Droplets.yaml | 6 ++++ apis/cf/latest/paths/FeatureFlags.yaml | 4 +++ apis/cf/latest/paths/Info.yaml | 2 -- apis/cf/latest/paths/IsolationSegments.yaml | 14 ++++++++ apis/cf/latest/paths/Jobs.yaml | 2 ++ apis/cf/latest/paths/Manifests.yaml | 6 ++++ apis/cf/latest/paths/OrganizationQuotas.yaml | 8 +++++ apis/cf/latest/paths/Organizations.yaml | 16 +++++++++ apis/cf/latest/paths/Packages.yaml | 8 +++++ apis/cf/latest/paths/Processes.yaml | 20 +++++++++++ apis/cf/latest/paths/Roles.yaml | 4 +++ apis/cf/latest/paths/Routes.yaml | 22 ++++++++++++ apis/cf/latest/paths/SecurityGroups.yaml | 18 ++++++++++ apis/cf/latest/paths/ServiceBrokers.yaml | 6 ++++ .../paths/ServiceCredentialBindings.yaml | 10 ++++++ apis/cf/latest/paths/ServiceInstances.yaml | 20 +++++++++++ apis/cf/latest/paths/ServiceOfferings.yaml | 6 ++++ apis/cf/latest/paths/ServicePlans.yaml | 14 ++++++++ .../cf/latest/paths/ServiceRouteBindings.yaml | 8 +++++ apis/cf/latest/paths/ServiceUsageEvents.yaml | 4 +++ apis/cf/latest/paths/Sidecars.yaml | 10 ++++++ apis/cf/latest/paths/SpaceQuotas.yaml | 10 ++++++ apis/cf/latest/paths/Spaces.yaml | 28 +++++++++++++-- apis/cf/latest/paths/Stacks.yaml | 8 +++++ apis/cf/latest/paths/Tasks.yaml | 6 ++++ apis/cf/latest/paths/Users.yaml | 6 ++++ 34 files changed, 338 insertions(+), 4 deletions(-) diff --git a/apis/cf/latest/paths/AdminClearBuildpackCache.yaml b/apis/cf/latest/paths/AdminClearBuildpackCache.yaml index 04e07eb..a701f26 100644 --- a/apis/cf/latest/paths/AdminClearBuildpackCache.yaml +++ b/apis/cf/latest/paths/AdminClearBuildpackCache.yaml @@ -13,5 +13,7 @@ post: schema: type: string format: uri + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/AppUsageEvents.yaml b/apis/cf/latest/paths/AppUsageEvents.yaml index 8452461..6f6f3dc 100644 --- a/apis/cf/latest/paths/AppUsageEvents.yaml +++ b/apis/cf/latest/paths/AppUsageEvents.yaml @@ -49,6 +49,8 @@ application/json: schema: $ref: ../components/schemas/AppUsageEvent.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/app_usage_events/actions/destructively_purge_all_and_reseed: @@ -66,5 +68,7 @@ responses: '200': description: OK + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Apps.yaml b/apis/cf/latest/paths/Apps.yaml index f4a5e77..6a29a69 100644 --- a/apis/cf/latest/paths/Apps.yaml +++ b/apis/cf/latest/paths/Apps.yaml @@ -128,6 +128,8 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -147,6 +149,8 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -168,6 +172,8 @@ schema: type: string format: uri + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/actions/start: @@ -186,6 +192,8 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/actions/stop: @@ -204,6 +212,8 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/actions/restart: @@ -222,6 +232,8 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/droplets/current: @@ -240,6 +252,8 @@ application/json: schema: $ref: '../components/schemas/Droplet.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/relationships/current_droplet: @@ -258,6 +272,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToOne.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -288,6 +304,8 @@ application/json: schema: $ref: '../components/schemas/Relationship.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/env: @@ -306,6 +324,8 @@ application/json: schema: $ref: '../components/schemas/AppEnvironment.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/environment_variables: @@ -324,6 +344,8 @@ application/json: schema: $ref: '../components/schemas/AppEnvironmentVariables.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -352,6 +374,8 @@ application/json: schema: $ref: '../components/schemas/AppEnvironmentVariables.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/permissions: @@ -370,6 +394,8 @@ application/json: schema: $ref: '../components/schemas/AppPermissions.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/ssh_enabled: @@ -388,6 +414,8 @@ application/json: schema: $ref: '../components/schemas/AppSshEnabled.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/actions/clear_buildpack_cache: @@ -402,6 +430,8 @@ responses: '202': description: Accepted + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/features: @@ -416,6 +446,8 @@ responses: '200': description: OK + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/features/{name}: @@ -435,6 +467,8 @@ responses: '200': description: OK + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -460,5 +494,7 @@ responses: '200': description: OK + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' \ No newline at end of file diff --git a/apis/cf/latest/paths/AuditEvents.yaml b/apis/cf/latest/paths/AuditEvents.yaml index 06e25e7..427cba3 100644 --- a/apis/cf/latest/paths/AuditEvents.yaml +++ b/apis/cf/latest/paths/AuditEvents.yaml @@ -64,5 +64,7 @@ application/json: schema: $ref: ../components/schemas/AuditEvent.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/Buildpacks.yaml b/apis/cf/latest/paths/Buildpacks.yaml index 8adbe8c..dda3dc7 100644 --- a/apis/cf/latest/paths/Buildpacks.yaml +++ b/apis/cf/latest/paths/Buildpacks.yaml @@ -120,6 +120,8 @@ responses: '204': description: Successfully deleted buildpack + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/buildpacks/{guid}/upload: @@ -153,6 +155,8 @@ application/json: schema: $ref: '../components/schemas/Buildpack.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': diff --git a/apis/cf/latest/paths/Builds.yaml b/apis/cf/latest/paths/Builds.yaml index 4f1e3d9..42c8557 100644 --- a/apis/cf/latest/paths/Builds.yaml +++ b/apis/cf/latest/paths/Builds.yaml @@ -103,6 +103,8 @@ application/json: schema: $ref: '../components/schemas/Build.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/builds: @@ -134,6 +136,8 @@ application/json: schema: $ref: '../components/schemas/BuildList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -162,5 +166,7 @@ application/json: schema: $ref: '../components/schemas/Build.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Deployments.yaml b/apis/cf/latest/paths/Deployments.yaml index 92547f2..616f59a 100644 --- a/apis/cf/latest/paths/Deployments.yaml +++ b/apis/cf/latest/paths/Deployments.yaml @@ -104,6 +104,8 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -132,6 +134,8 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/deployments/{guid}/actions/cancel: @@ -150,6 +154,8 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/deployments/{guid}/actions/continue: @@ -168,5 +174,7 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Domains.yaml b/apis/cf/latest/paths/Domains.yaml index f2d50ca..16f7104 100644 --- a/apis/cf/latest/paths/Domains.yaml +++ b/apis/cf/latest/paths/Domains.yaml @@ -81,6 +81,8 @@ application/json: schema: $ref: '../components/schemas/Domain.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -109,6 +111,8 @@ application/json: schema: $ref: '../components/schemas/Domain.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' delete: @@ -122,6 +126,8 @@ responses: '204': description: Successfully deleted domain + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/domains/{guid}/relationships/shared_organizations: @@ -162,6 +168,8 @@ guid: type: string format: uuid + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -192,6 +200,8 @@ application/json: schema: $ref: '../components/schemas/DomainList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/domains/{guid}/route_reservations: @@ -228,6 +238,8 @@ properties: matching_route: type: boolean + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/domains/{guid}/relationships/shared_organizations/{org_guid}: @@ -249,6 +261,8 @@ responses: '204': description: Successfully unshared domain + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': diff --git a/apis/cf/latest/paths/Droplets.yaml b/apis/cf/latest/paths/Droplets.yaml index ec58ca3..761e1f4 100644 --- a/apis/cf/latest/paths/Droplets.yaml +++ b/apis/cf/latest/paths/Droplets.yaml @@ -140,6 +140,8 @@ responses: '204': description: Successfully deleted droplet + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/droplets/{guid}/download: @@ -161,6 +163,8 @@ format: binary '302': description: Redirect to download location + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/droplets/{guid}/upload: @@ -190,6 +194,8 @@ responses: '200': $ref: '../components/responses/DropletGetResponse.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': diff --git a/apis/cf/latest/paths/FeatureFlags.yaml b/apis/cf/latest/paths/FeatureFlags.yaml index ce3d1f2..a5c7c16 100644 --- a/apis/cf/latest/paths/FeatureFlags.yaml +++ b/apis/cf/latest/paths/FeatureFlags.yaml @@ -48,6 +48,8 @@ application/json: schema: $ref: ../components/schemas/FeatureFlag.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -84,5 +86,7 @@ application/json: schema: $ref: ../components/schemas/FeatureFlag.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/Info.yaml b/apis/cf/latest/paths/Info.yaml index e5d77d0..c54890d 100644 --- a/apis/cf/latest/paths/Info.yaml +++ b/apis/cf/latest/paths/Info.yaml @@ -53,8 +53,6 @@ allOf: - $ref: '../components/schemas/Link.yaml' - description: Link to the support website for the platform - '401': - $ref: '../components/responses/Unauthorized.yaml' '403': $ref: '../components/responses/Forbidden.yaml' '500': diff --git a/apis/cf/latest/paths/IsolationSegments.yaml b/apis/cf/latest/paths/IsolationSegments.yaml index c8aa3b2..52bf999 100644 --- a/apis/cf/latest/paths/IsolationSegments.yaml +++ b/apis/cf/latest/paths/IsolationSegments.yaml @@ -87,6 +87,8 @@ application/json: schema: $ref: ../components/schemas/IsolationSegment.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -117,6 +119,8 @@ application/json: schema: $ref: ../components/schemas/IsolationSegment.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml delete: @@ -134,6 +138,8 @@ application/json: schema: $ref: ../components/schemas/Job.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/isolation_segments/{guid}/relationships/organizations: @@ -160,6 +166,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml get: @@ -180,6 +188,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/isolation_segments/{guid}/relationships/organizations/{org_guid}: @@ -201,6 +211,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/isolation_segments/{guid}/relationships/spaces: @@ -221,5 +233,7 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/Jobs.yaml b/apis/cf/latest/paths/Jobs.yaml index e426685..485a27a 100644 --- a/apis/cf/latest/paths/Jobs.yaml +++ b/apis/cf/latest/paths/Jobs.yaml @@ -14,5 +14,7 @@ application/json: schema: $ref: '../components/schemas/Job.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Manifests.yaml b/apis/cf/latest/paths/Manifests.yaml index 6c00899..9bf6adb 100644 --- a/apis/cf/latest/paths/Manifests.yaml +++ b/apis/cf/latest/paths/Manifests.yaml @@ -21,6 +21,8 @@ schema: type: string format: uri + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/manifest: @@ -39,6 +41,8 @@ application/x-yaml: schema: type: string + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/manifest_diff: @@ -76,5 +80,7 @@ type: string value: type: string + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/OrganizationQuotas.yaml b/apis/cf/latest/paths/OrganizationQuotas.yaml index 2ea439a..c14d6d9 100644 --- a/apis/cf/latest/paths/OrganizationQuotas.yaml +++ b/apis/cf/latest/paths/OrganizationQuotas.yaml @@ -76,6 +76,8 @@ application/json: schema: $ref: '../components/schemas/OrganizationQuota.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -95,6 +97,8 @@ application/json: schema: $ref: '../components/schemas/OrganizationQuota.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -110,6 +114,8 @@ responses: '202': description: Accepted + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/organization_quotas/{quota_guid}/relationships/organizations: @@ -138,5 +144,7 @@ application/json: schema: $ref: '../components/schemas/RelationshipToMany.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Organizations.yaml b/apis/cf/latest/paths/Organizations.yaml index 1c660f9..17efb3b 100644 --- a/apis/cf/latest/paths/Organizations.yaml +++ b/apis/cf/latest/paths/Organizations.yaml @@ -70,6 +70,8 @@ application/json: schema: $ref: '../components/schemas/Organization.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -89,6 +91,8 @@ application/json: schema: $ref: '../components/schemas/Organization.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -104,6 +108,8 @@ responses: '202': description: Accepted + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/organizations/{guid}/domains/default: @@ -122,6 +128,8 @@ application/json: schema: $ref: '../components/schemas/Domain.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/organizations/{guid}/usage_summary: @@ -169,6 +177,8 @@ organization: $ref: '../components/schemas/Link.yaml' description: The URL to get the organization for this usage summary + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/organizations/{guid}/users: @@ -221,6 +231,8 @@ application/json: schema: $ref: '../components/schemas/UserList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/organizations/{guid}/relationships/default_isolation_segment: @@ -239,6 +251,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToOne.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -261,5 +275,7 @@ application/json: schema: $ref: '../components/schemas/RelationshipToOne.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Packages.yaml b/apis/cf/latest/paths/Packages.yaml index 605b5ee..469fa98 100644 --- a/apis/cf/latest/paths/Packages.yaml +++ b/apis/cf/latest/paths/Packages.yaml @@ -102,6 +102,8 @@ application/json: schema: $ref: '../components/schemas/Package.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/packages/{guid}/upload: @@ -122,6 +124,8 @@ application/json: schema: $ref: '../components/schemas/Package.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/packages/{guid}/download: @@ -173,6 +177,8 @@ application/json: schema: $ref: '../components/schemas/Package.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/packages: @@ -215,5 +221,7 @@ application/json: schema: $ref: '../components/schemas/PackageList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' \ No newline at end of file diff --git a/apis/cf/latest/paths/Processes.yaml b/apis/cf/latest/paths/Processes.yaml index 82f5697..939aca3 100644 --- a/apis/cf/latest/paths/Processes.yaml +++ b/apis/cf/latest/paths/Processes.yaml @@ -72,6 +72,8 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -91,6 +93,8 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -111,6 +115,8 @@ application/json: schema: $ref: '../components/schemas/ProcessStats.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/processes/{guid}/actions/scale: @@ -142,6 +148,8 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -163,6 +171,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/processes: @@ -184,6 +194,8 @@ application/json: schema: $ref: '../components/schemas/ProcessList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/processes/{type}: @@ -207,6 +219,8 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/processes/{type}/stats: @@ -230,6 +244,8 @@ application/json: schema: $ref: '../components/schemas/ProcessStats.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/processes/{type}/actions/scale: @@ -266,6 +282,8 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -292,5 +310,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Roles.yaml b/apis/cf/latest/paths/Roles.yaml index 6a17b3a..13f2646 100644 --- a/apis/cf/latest/paths/Roles.yaml +++ b/apis/cf/latest/paths/Roles.yaml @@ -120,6 +120,8 @@ responses: '200': $ref: '../components/responses/RoleGetResponse.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' delete: @@ -133,5 +135,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Routes.yaml b/apis/cf/latest/paths/Routes.yaml index 4929b64..35bf36e 100644 --- a/apis/cf/latest/paths/Routes.yaml +++ b/apis/cf/latest/paths/Routes.yaml @@ -105,6 +105,8 @@ application/json: schema: $ref: '../components/schemas/Route.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -133,6 +135,8 @@ application/json: schema: $ref: '../components/schemas/Route.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' delete: @@ -152,6 +156,8 @@ schema: type: string format: uri + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/apps/{guid}/routes: @@ -201,6 +207,8 @@ application/json: schema: $ref: '../components/schemas/RouteList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/routes/{guid}/relationships/shared_spaces: @@ -219,6 +227,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToMany.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' post: @@ -243,6 +253,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToMany.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -266,6 +278,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/routes/{guid}/relationships/space: @@ -287,6 +301,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -423,6 +439,8 @@ application/json: schema: $ref: '../components/schemas/RouteDestination.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -445,6 +463,8 @@ responses: '204': description: Successfully removed destination from the route + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/routes: @@ -459,5 +479,7 @@ responses: '204': description: Successfully deleted unmapped routes from the space + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/SecurityGroups.yaml b/apis/cf/latest/paths/SecurityGroups.yaml index 9321ea6..74106ec 100644 --- a/apis/cf/latest/paths/SecurityGroups.yaml +++ b/apis/cf/latest/paths/SecurityGroups.yaml @@ -102,6 +102,8 @@ application/json: schema: $ref: ../components/schemas/SecurityGroup.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/spaces/{guid}/running_security_groups: @@ -120,6 +122,8 @@ application/json: schema: $ref: ../components/schemas/SecurityGroupList.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/spaces/{guid}/staging_security_groups: @@ -138,6 +142,8 @@ application/json: schema: $ref: ../components/schemas/SecurityGroupList.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -160,6 +166,8 @@ application/json: schema: $ref: ../components/schemas/SecurityGroup.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml delete: @@ -173,6 +181,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/security_groups/{guid}/relationships/running_spaces: @@ -196,6 +206,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/security_groups/{guid}/relationships/running_spaces/{space_guid}: @@ -211,6 +223,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/security_groups/{guid}/relationships/staging_spaces: @@ -234,6 +248,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/security_groups/{guid}/relationships/staging_spaces/{space_guid}: @@ -249,5 +265,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServiceBrokers.yaml b/apis/cf/latest/paths/ServiceBrokers.yaml index 36b84c8..4bad1d2 100644 --- a/apis/cf/latest/paths/ServiceBrokers.yaml +++ b/apis/cf/latest/paths/ServiceBrokers.yaml @@ -75,6 +75,8 @@ application/json: schema: $ref: ../components/schemas/ServiceBroker.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -108,6 +110,8 @@ application/json: schema: $ref: ../components/schemas/Job.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -127,5 +131,7 @@ application/json: schema: $ref: ../components/schemas/Job.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServiceCredentialBindings.yaml b/apis/cf/latest/paths/ServiceCredentialBindings.yaml index aa9a6c3..1d9f1fe 100644 --- a/apis/cf/latest/paths/ServiceCredentialBindings.yaml +++ b/apis/cf/latest/paths/ServiceCredentialBindings.yaml @@ -163,6 +163,8 @@ oneOf: - $ref: ../components/schemas/AppCredentialBinding.yaml - $ref: ../components/schemas/KeyCredentialBinding.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -189,6 +191,8 @@ oneOf: - $ref: ../components/schemas/AppCredentialBinding.yaml - $ref: ../components/schemas/KeyCredentialBinding.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -210,6 +214,8 @@ $ref: ../components/schemas/Job.yaml '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_credential_bindings/{guid}/details: @@ -228,6 +234,8 @@ application/json: schema: type: object + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_credential_bindings/{guid}/parameters: @@ -250,5 +258,7 @@ application/json: schema: type: object + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index 8e5ea69..e57b7a4 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -132,6 +132,8 @@ application/json: schema: type: object + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_instances/{guid}/relationships/shared_spaces/usage_summary: @@ -160,6 +162,8 @@ $ref: ../components/schemas/Relationship.yaml bound_app_count: type: integer + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_instances/{guid}/relationships/shared_spaces: @@ -178,6 +182,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml post: @@ -200,6 +206,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -222,6 +230,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_instances/{guid}/parameters: @@ -240,6 +250,8 @@ application/json: schema: type: object + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_instances/{guid}/permissions: @@ -263,6 +275,8 @@ type: boolean manage: type: boolean + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_instances/{guid}: @@ -283,6 +297,8 @@ oneOf: - $ref: ../components/schemas/ManagedServiceInstance.yaml - $ref: ../components/schemas/UserProvidedServiceInstance.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -315,6 +331,8 @@ application/json: schema: $ref: ../components/schemas/Job.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -348,6 +366,8 @@ $ref: ../components/schemas/Job.yaml '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': diff --git a/apis/cf/latest/paths/ServiceOfferings.yaml b/apis/cf/latest/paths/ServiceOfferings.yaml index 0f8cf25..f5c9cbc 100644 --- a/apis/cf/latest/paths/ServiceOfferings.yaml +++ b/apis/cf/latest/paths/ServiceOfferings.yaml @@ -82,6 +82,8 @@ application/json: schema: $ref: ../components/schemas/ServiceOffering.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -106,6 +108,8 @@ application/json: schema: $ref: ../components/schemas/ServiceOffering.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -130,5 +134,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServicePlans.yaml b/apis/cf/latest/paths/ServicePlans.yaml index 3970036..e5c6736 100644 --- a/apis/cf/latest/paths/ServicePlans.yaml +++ b/apis/cf/latest/paths/ServicePlans.yaml @@ -117,6 +117,8 @@ application/json: schema: $ref: ../components/schemas/ServicePlan.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -141,6 +143,8 @@ application/json: schema: $ref: ../components/schemas/ServicePlan.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -158,6 +162,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_plans/{guid}/visibility: @@ -176,6 +182,8 @@ application/json: schema: $ref: ../components/schemas/ServicePlanVisibility.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -198,6 +206,8 @@ application/json: schema: $ref: ../components/schemas/ServicePlanVisibility.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -222,6 +232,8 @@ application/json: schema: $ref: ../components/schemas/ServicePlanVisibility.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -244,5 +256,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServiceRouteBindings.yaml b/apis/cf/latest/paths/ServiceRouteBindings.yaml index b82a03c..8a558b1 100644 --- a/apis/cf/latest/paths/ServiceRouteBindings.yaml +++ b/apis/cf/latest/paths/ServiceRouteBindings.yaml @@ -108,6 +108,8 @@ application/json: schema: $ref: ../components/schemas/ServiceRouteBinding.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -132,6 +134,8 @@ application/json: schema: $ref: ../components/schemas/ServiceRouteBinding.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -153,6 +157,8 @@ $ref: ../components/schemas/Job.yaml '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_route_bindings/{guid}/parameters: @@ -175,5 +181,7 @@ application/json: schema: type: object + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/ServiceUsageEvents.yaml b/apis/cf/latest/paths/ServiceUsageEvents.yaml index 5dc6f48..3649b4c 100644 --- a/apis/cf/latest/paths/ServiceUsageEvents.yaml +++ b/apis/cf/latest/paths/ServiceUsageEvents.yaml @@ -61,6 +61,8 @@ application/json: schema: $ref: ../components/schemas/ServiceUsageEvent.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/service_usage_events/actions/destructively_purge_all_and_reseed: @@ -73,6 +75,8 @@ responses: '202': description: Accepted + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' content: diff --git a/apis/cf/latest/paths/Sidecars.yaml b/apis/cf/latest/paths/Sidecars.yaml index 0f1eed8..56080b2 100644 --- a/apis/cf/latest/paths/Sidecars.yaml +++ b/apis/cf/latest/paths/Sidecars.yaml @@ -14,6 +14,8 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -36,6 +38,8 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -56,6 +60,8 @@ application/json: schema: $ref: '../components/schemas/SidecarList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' post: @@ -78,6 +84,8 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -98,5 +106,7 @@ application/json: schema: $ref: '../components/schemas/SidecarList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/SpaceQuotas.yaml b/apis/cf/latest/paths/SpaceQuotas.yaml index 93ff437..e39d6b7 100644 --- a/apis/cf/latest/paths/SpaceQuotas.yaml +++ b/apis/cf/latest/paths/SpaceQuotas.yaml @@ -86,6 +86,8 @@ application/json: schema: $ref: ../components/schemas/SpaceQuota.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml patch: @@ -108,6 +110,8 @@ application/json: schema: $ref: ../components/schemas/SpaceQuota.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml '422': @@ -123,6 +127,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/space_quotas/{quota_guid}/relationships/spaces: @@ -151,6 +157,8 @@ application/json: schema: $ref: ../components/schemas/RelationshipToMany.yaml + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml /v3/space_quotas/{quota_guid}/relationships/spaces/{space_guid}: @@ -176,5 +184,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: ../components/responses/NotFound.yaml diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index e9b6bfd..8c7f9f4 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -84,6 +84,8 @@ application/json: schema: $ref: '../components/schemas/Space.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -103,6 +105,8 @@ application/json: schema: $ref: '../components/schemas/Space.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -122,8 +126,6 @@ application/json: schema: $ref: '../components/schemas/Job.yaml' - '404': - $ref: '../components/responses/NotFound.yaml' '401': $ref: '../components/responses/Unauthorized.yaml' '400': @@ -149,6 +151,8 @@ application/json: schema: $ref: '../components/schemas/Job.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/features: @@ -167,6 +171,8 @@ application/json: schema: $ref: '../components/schemas/SpaceFeature.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/features/{name}: @@ -190,6 +196,8 @@ application/json: schema: $ref: '../components/schemas/SpaceFeature.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -219,6 +227,8 @@ application/json: schema: $ref: '../components/schemas/SpaceFeature.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/manifest_diff: @@ -242,6 +252,8 @@ application/json: schema: $ref: '../components/schemas/Job.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/relationships/isolation_segment: @@ -260,6 +272,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToOne.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -282,6 +296,8 @@ application/json: schema: $ref: '../components/schemas/RelationshipToOne.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/routes: @@ -303,6 +319,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/running_security_groups: @@ -321,6 +339,8 @@ application/json: schema: $ref: '../components/schemas/SecurityGroupList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/staging_security_groups: @@ -339,6 +359,8 @@ application/json: schema: $ref: '../components/schemas/SecurityGroupList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/spaces/{guid}/users: @@ -357,5 +379,7 @@ application/json: schema: $ref: '../components/schemas/UserList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Stacks.yaml b/apis/cf/latest/paths/Stacks.yaml index d012c23..3b2bf25 100644 --- a/apis/cf/latest/paths/Stacks.yaml +++ b/apis/cf/latest/paths/Stacks.yaml @@ -66,6 +66,8 @@ application/json: schema: $ref: '../components/schemas/Stack.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -90,6 +92,8 @@ application/json: schema: $ref: '../components/schemas/Stack.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -105,6 +109,8 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' /v3/stacks/{guid}/apps: @@ -129,5 +135,7 @@ application/json: schema: $ref: '../components/schemas/AppList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Tasks.yaml b/apis/cf/latest/paths/Tasks.yaml index 194d5f7..fb4b5f0 100644 --- a/apis/cf/latest/paths/Tasks.yaml +++ b/apis/cf/latest/paths/Tasks.yaml @@ -115,6 +115,8 @@ application/json: schema: $ref: '../components/schemas/Task.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -139,6 +141,8 @@ application/json: schema: $ref: '../components/schemas/Task.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' '422': @@ -159,5 +163,7 @@ application/json: schema: $ref: '../components/schemas/Task.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' diff --git a/apis/cf/latest/paths/Users.yaml b/apis/cf/latest/paths/Users.yaml index 03d88e3..6a0cd5a 100644 --- a/apis/cf/latest/paths/Users.yaml +++ b/apis/cf/latest/paths/Users.yaml @@ -90,6 +90,8 @@ application/json: schema: $ref: '../components/schemas/User.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' patch: @@ -105,6 +107,8 @@ responses: '200': $ref: '../components/responses/UserUpdateResponse.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' delete: @@ -118,5 +122,7 @@ responses: '204': description: No Content + '401': + $ref: '../components/responses/Unauthorized.yaml' '404': $ref: '../components/responses/NotFound.yaml' From c485ff5b53922921505af572bca6e110236a9b84 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 15:45:44 -0600 Subject: [PATCH 03/10] Add missing location headers for 202 operations --- ...iceCredentialBindingCreateRequestBody.yaml | 73 ++++++++++++++ ...iceCredentialBindingUpdateRequestBody.yaml | 17 ++++ .../ServiceInstanceCreateRequestBody.yaml | 97 +++++++++++++++++++ .../ServiceInstanceUpdateRequestBody.yaml | 88 +++++++++++++++++ apis/cf/latest/paths/IsolationSegments.yaml | 6 ++ apis/cf/latest/paths/OrganizationQuotas.yaml | 6 ++ apis/cf/latest/paths/Organizations.yaml | 6 ++ apis/cf/latest/paths/ServiceBrokers.yaml | 18 ++++ .../paths/ServiceCredentialBindings.yaml | 26 ++--- apis/cf/latest/paths/ServiceInstances.yaml | 32 +++--- .../cf/latest/paths/ServiceRouteBindings.yaml | 12 +++ apis/cf/latest/paths/Spaces.yaml | 20 +++- 12 files changed, 376 insertions(+), 25 deletions(-) create mode 100644 apis/cf/latest/components/requestBodies/ServiceCredentialBindingCreateRequestBody.yaml create mode 100644 apis/cf/latest/components/requestBodies/ServiceCredentialBindingUpdateRequestBody.yaml create mode 100644 apis/cf/latest/components/requestBodies/ServiceInstanceCreateRequestBody.yaml create mode 100644 apis/cf/latest/components/requestBodies/ServiceInstanceUpdateRequestBody.yaml diff --git a/apis/cf/latest/components/requestBodies/ServiceCredentialBindingCreateRequestBody.yaml b/apis/cf/latest/components/requestBodies/ServiceCredentialBindingCreateRequestBody.yaml new file mode 100644 index 0000000..184f9aa --- /dev/null +++ b/apis/cf/latest/components/requestBodies/ServiceCredentialBindingCreateRequestBody.yaml @@ -0,0 +1,73 @@ +description: A request to create a service credential binding +content: + application/json: + schema: + type: object + required: + - type + - relationships + properties: + type: + type: string + enum: + - app + - key + description: Type of the service credential binding. Valid values are key and app + name: + type: string + description: Name of the service credential binding. name is optional when the type is app + relationships: + type: object + required: + - service_instance + properties: + service_instance: + $ref: '../schemas/RelationshipToOne.yaml' + description: The service instance to be bound + app: + $ref: '../schemas/RelationshipToOne.yaml' + description: The app to be bound. Required when type is app + description: Relationships for the service credential binding + parameters: + type: object + description: A JSON object that is passed to the service broker + metadata: + $ref: '../schemas/Metadata.yaml' + examples: + app_credential_binding: + summary: App credential binding + value: + type: app + name: some-binding-name + relationships: + service_instance: + data: + guid: "7304bc3c-7010-11ea-8840-48bf6bec2d78" + app: + data: + guid: "e0e4417c-74ee-11ea-a604-48bf6bec2d78" + parameters: + key1: value1 + key2: value2 + metadata: + labels: + foo: bar + annotations: + baz: qux + key_credential_binding: + summary: Key credential binding + value: + type: key + name: some-binding-name + relationships: + service_instance: + data: + guid: "7304bc3c-7010-11ea-8840-48bf6bec2d78" + parameters: + key1: value1 + key2: value2 + metadata: + labels: + foo: bar + annotations: + baz: qux diff --git a/apis/cf/latest/components/requestBodies/ServiceCredentialBindingUpdateRequestBody.yaml b/apis/cf/latest/components/requestBodies/ServiceCredentialBindingUpdateRequestBody.yaml new file mode 100644 index 0000000..d70ddfe --- /dev/null +++ b/apis/cf/latest/components/requestBodies/ServiceCredentialBindingUpdateRequestBody.yaml @@ -0,0 +1,17 @@ +description: A request to update a service credential binding +content: + application/json: + schema: + type: object + properties: + metadata: + $ref: '../schemas/Metadata.yaml' + examples: + update_binding: + summary: Update service credential binding + value: + metadata: + labels: + foo: bar + annotations: + baz: qux diff --git a/apis/cf/latest/components/requestBodies/ServiceInstanceCreateRequestBody.yaml b/apis/cf/latest/components/requestBodies/ServiceInstanceCreateRequestBody.yaml new file mode 100644 index 0000000..71dd121 --- /dev/null +++ b/apis/cf/latest/components/requestBodies/ServiceInstanceCreateRequestBody.yaml @@ -0,0 +1,97 @@ +description: A request to create a service instance +content: + application/json: + schema: + type: object + required: + - type + - name + - relationships + properties: + type: + type: string + enum: + - managed + - user-provided + description: The type of service instance + name: + type: string + description: Name of the service instance + parameters: + type: object + description: A JSON object that is passed to the service broker (managed services only) + credentials: + type: object + description: A JSON object that is made available to apps bound to this service instance (user-provided services only) + tags: + type: array + items: + type: string + description: Tags are used by apps to identify service instances; they are shown in the app VCAP_SERVICES env + syslog_drain_url: + type: string + description: URL to which logs for bound applications will be streamed (user-provided services only) + route_service_url: + type: string + description: URL to which requests for bound routes will be forwarded; must use the https protocol (user-provided services only) + relationships: + type: object + required: + - space + properties: + space: + $ref: '../schemas/RelationshipToOne.yaml' + service_plan: + $ref: '../schemas/RelationshipToOne.yaml' + description: Required for managed service instances + description: Relationships for the service instance + metadata: + $ref: '../schemas/Metadata.yaml' + examples: + managed_service_instance: + summary: Managed service instance + value: + type: managed + name: my_service_instance + parameters: + foo: bar + baz: qux + tags: + - foo + - bar + - baz + metadata: + annotations: + foo: bar + labels: + baz: qux + relationships: + space: + data: + guid: "7304bc3c-7010-11ea-8840-48bf6bec2d78" + service_plan: + data: + guid: "e0e4417c-74ee-11ea-a604-48bf6bec2d78" + user_provided_service_instance: + summary: User-provided service instance + value: + type: user-provided + name: my_service_instance + credentials: + foo: bar + baz: qux + tags: + - foo + - bar + - baz + syslog_drain_url: "https://syslog.com/drain" + route_service_url: "https://route.com/service" + metadata: + annotations: + foo: bar + labels: + baz: qux + relationships: + space: + data: + guid: "7304bc3c-7010-11ea-8840-48bf6bec2d78" diff --git a/apis/cf/latest/components/requestBodies/ServiceInstanceUpdateRequestBody.yaml b/apis/cf/latest/components/requestBodies/ServiceInstanceUpdateRequestBody.yaml new file mode 100644 index 0000000..9d6f352 --- /dev/null +++ b/apis/cf/latest/components/requestBodies/ServiceInstanceUpdateRequestBody.yaml @@ -0,0 +1,88 @@ +description: A request to update a service instance +content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service instance + parameters: + type: object + description: A JSON object that is passed to the service broker (managed services only) + credentials: + type: object + description: A JSON object that is made available to apps bound to this service instance (user-provided services only) + tags: + type: array + items: + type: string + description: Tags are used by apps to identify service instances; they are shown in the app VCAP_SERVICES env + syslog_drain_url: + type: string + description: URL to which logs for bound applications will be streamed (user-provided services only) + route_service_url: + type: string + description: URL to which requests for bound routes will be forwarded; must use the https protocol (user-provided services only) + relationships: + type: object + properties: + service_plan: + $ref: '../schemas/RelationshipToOne.yaml' + description: The service plan from which to create the service instance (managed services only) + description: Relationships for the service instance + maintenance_info: + type: object + required: + - version + properties: + version: + type: string + description: Must be a semantic version value and it must match the version in the maintenance_info for the service instance plan in the updated broker catalog + description: Maintenance info object for service instance upgrades (managed services only) + metadata: + $ref: '../schemas/Metadata.yaml' + examples: + managed_service_instance: + summary: Update managed service instance + value: + name: my_service_instance + parameters: + foo: bar + baz: qux + tags: + - foo + - bar + - baz + relationships: + service_plan: + data: + guid: "f2b6ba9c-a4d2-11ea-8ae6-48bf6bec2d78" + metadata: + annotations: + note: detailed information + labels: + key: value + managed_service_instance_upgrade: + summary: Upgrade managed service instance + value: + maintenance_info: + version: "2.1.1" + user_provided_service_instance: + summary: Update user-provided service instance + value: + name: my_service_instance + credentials: + foo: bar + baz: qux + tags: + - foo + - bar + - baz + syslog_drain_url: "https://syslog.com/drain" + route_service_url: "https://route.com/service" + metadata: + annotations: + foo: bar + labels: + baz: qux diff --git a/apis/cf/latest/paths/IsolationSegments.yaml b/apis/cf/latest/paths/IsolationSegments.yaml index 52bf999..0c66d0e 100644 --- a/apis/cf/latest/paths/IsolationSegments.yaml +++ b/apis/cf/latest/paths/IsolationSegments.yaml @@ -134,6 +134,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the isolation segment + schema: + type: string + format: uri content: application/json: schema: diff --git a/apis/cf/latest/paths/OrganizationQuotas.yaml b/apis/cf/latest/paths/OrganizationQuotas.yaml index c14d6d9..89109be 100644 --- a/apis/cf/latest/paths/OrganizationQuotas.yaml +++ b/apis/cf/latest/paths/OrganizationQuotas.yaml @@ -114,6 +114,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the organization quota + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Organizations.yaml b/apis/cf/latest/paths/Organizations.yaml index 17efb3b..d0ebf5b 100644 --- a/apis/cf/latest/paths/Organizations.yaml +++ b/apis/cf/latest/paths/Organizations.yaml @@ -108,6 +108,12 @@ responses: '202': description: Accepted + headers: + location: + description: URL of the job to query the asynchronous operation + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/ServiceBrokers.yaml b/apis/cf/latest/paths/ServiceBrokers.yaml index 4bad1d2..84e144e 100644 --- a/apis/cf/latest/paths/ServiceBrokers.yaml +++ b/apis/cf/latest/paths/ServiceBrokers.yaml @@ -51,6 +51,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is creating the service broker + schema: + type: string + format: uri content: application/json: schema: @@ -106,6 +112,12 @@ $ref: ../components/schemas/ServiceBroker.yaml '202': description: Accepted + headers: + Location: + description: URL of the job that is updating the service broker + schema: + type: string + format: uri content: application/json: schema: @@ -127,6 +139,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the service broker + schema: + type: string + format: uri content: application/json: schema: diff --git a/apis/cf/latest/paths/ServiceCredentialBindings.yaml b/apis/cf/latest/paths/ServiceCredentialBindings.yaml index 1d9f1fe..4c38468 100644 --- a/apis/cf/latest/paths/ServiceCredentialBindings.yaml +++ b/apis/cf/latest/paths/ServiceCredentialBindings.yaml @@ -116,12 +116,7 @@ tags: - Service Credential Bindings requestBody: - content: - application/json: - schema: - oneOf: - - $ref: ../components/schemas/AppCredentialBinding.yaml - - $ref: ../components/schemas/KeyCredentialBinding.yaml + $ref: '../components/requestBodies/ServiceCredentialBindingCreateRequestBody.yaml' responses: '201': description: Created @@ -133,6 +128,12 @@ - $ref: ../components/schemas/KeyCredentialBinding.yaml '202': description: Accepted + headers: + Location: + description: URL of the job that is creating the service credential binding + schema: + type: string + format: uri content: application/json: schema: @@ -176,12 +177,7 @@ parameters: - $ref: ../components/parameters/Guid.yaml requestBody: - content: - application/json: - schema: - properties: - metadata: - $ref: ../components/schemas/Metadata.yaml + $ref: '../components/requestBodies/ServiceCredentialBindingUpdateRequestBody.yaml' responses: '200': description: OK @@ -208,6 +204,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the service credential binding + schema: + type: string + format: uri content: application/json: schema: diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index e57b7a4..e48221a 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -87,12 +87,7 @@ tags: - Service Instances requestBody: - content: - application/json: - schema: - oneOf: - - $ref: ../components/schemas/ManagedServiceInstance.yaml - - $ref: ../components/schemas/UserProvidedServiceInstance.yaml + $ref: '../components/requestBodies/ServiceInstanceCreateRequestBody.yaml' responses: '201': description: Service instance created @@ -104,6 +99,12 @@ - $ref: ../components/schemas/UserProvidedServiceInstance.yaml '202': description: Service instance creation in progress + headers: + Location: + description: URL of the job that is creating the service instance + schema: + type: string + format: uri content: application/json: schema: @@ -310,12 +311,7 @@ parameters: - $ref: ../components/parameters/Guid.yaml requestBody: - content: - application/json: - schema: - oneOf: - - $ref: ../components/schemas/ManagedServiceInstanceUpdate.yaml - - $ref: ../components/schemas/UserProvidedServiceInstanceUpdate.yaml + $ref: '../components/requestBodies/ServiceInstanceUpdateRequestBody.yaml' responses: '200': description: OK @@ -327,6 +323,12 @@ - $ref: ../components/schemas/UserProvidedServiceInstance.yaml '202': description: Accepted + headers: + Location: + description: URL of the job that is updating the service instance + schema: + type: string + format: uri content: application/json: schema: @@ -360,6 +362,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the service instance + schema: + type: string + format: uri content: application/json: schema: diff --git a/apis/cf/latest/paths/ServiceRouteBindings.yaml b/apis/cf/latest/paths/ServiceRouteBindings.yaml index 8a558b1..eb3e795 100644 --- a/apis/cf/latest/paths/ServiceRouteBindings.yaml +++ b/apis/cf/latest/paths/ServiceRouteBindings.yaml @@ -80,6 +80,12 @@ $ref: ../components/schemas/ServiceRouteBinding.yaml '202': description: Accepted + headers: + Location: + description: URL of the job that is creating the service route binding + schema: + type: string + format: uri content: application/json: schema: @@ -151,6 +157,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is deleting the service route binding + schema: + type: string + format: uri content: application/json: schema: diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index 8c7f9f4..3a188cc 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -122,10 +122,16 @@ responses: '202': description: Accepted + headers: + location: + description: URL of the job to query the asynchronous operation + schema: + type: string + format: uri content: application/json: schema: - $ref: '../components/schemas/Job.yaml' + type: object '401': $ref: '../components/responses/Unauthorized.yaml' '400': @@ -147,6 +153,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is applying the manifest + schema: + type: string + format: uri content: application/json: schema: @@ -248,6 +260,12 @@ responses: '202': description: Accepted + headers: + Location: + description: URL of the job that is creating the manifest diff + schema: + type: string + format: uri content: application/json: schema: From 4a0397d9e1c00a8c3b4c74d4d9e63a912672c9ab Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 16:08:43 -0600 Subject: [PATCH 04/10] 201 is only for User provided service creation --- apis/cf/latest/paths/ServiceInstances.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index e48221a..6832c5e 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -90,13 +90,11 @@ $ref: '../components/requestBodies/ServiceInstanceCreateRequestBody.yaml' responses: '201': - description: Service instance created + description: User Provided Service instance created content: application/json: schema: - oneOf: - - $ref: ../components/schemas/ManagedServiceInstance.yaml - - $ref: ../components/schemas/UserProvidedServiceInstance.yaml + $ref: ../components/schemas/UserProvidedServiceInstance.yaml '202': description: Service instance creation in progress headers: From fec178980d856c2d2efe9ead56ea9311a974f452 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 16:27:31 -0600 Subject: [PATCH 05/10] Update jobs to have specific links --- apis/cf/latest/components/schemas/Job.yaml | 27 +++++++++++++++++----- apis/cf/latest/paths/Roles.yaml | 10 ++++++-- apis/cf/latest/paths/SecurityGroups.yaml | 10 ++++++-- apis/cf/latest/paths/SpaceQuotas.yaml | 10 ++++++-- apis/cf/latest/paths/Spaces.yaml | 10 ++++++-- apis/cf/latest/paths/Users.yaml | 10 ++++++-- 6 files changed, 61 insertions(+), 16 deletions(-) diff --git a/apis/cf/latest/components/schemas/Job.yaml b/apis/cf/latest/components/schemas/Job.yaml index 3e42152..8fe995d 100644 --- a/apis/cf/latest/components/schemas/Job.yaml +++ b/apis/cf/latest/components/schemas/Job.yaml @@ -24,10 +24,25 @@ allOf: items: $ref: './Warning.yaml' links: - allOf: - - type: object - properties: - self: - $ref: './Link.yaml' - description: The URL to get this job + type: object + additionalProperties: true + properties: + self: + $ref: './Link.yaml' + description: The URL to get this job + manifests: + $ref: './Link.yaml' + description: The URL to get the manifest for this job + service_brokers: + $ref: './Link.yaml' + description: The URL to get the service broker for this job + service_credential_bindings: + $ref: './Link.yaml' + description: The URL to get the service credential binding for this job + service_instances: + $ref: './Link.yaml' + description: The URL to get the service instance for this job + service_route_bindings: + $ref: './Link.yaml' + description: The URL to get the service route binding for this job description: 'Jobs are created by the platform when performing certain asynchronous actions. Asynchronous jobs are commonly used for long-running tasks such as uploading large files, staging applications, or deleting resources.' diff --git a/apis/cf/latest/paths/Roles.yaml b/apis/cf/latest/paths/Roles.yaml index 13f2646..06f204e 100644 --- a/apis/cf/latest/paths/Roles.yaml +++ b/apis/cf/latest/paths/Roles.yaml @@ -133,8 +133,14 @@ parameters: - $ref: '../components/parameters/Guid.yaml' responses: - '204': - description: No Content + '202': + description: Accepted + headers: + Location: + description: URL of the job that is deleting the role + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/SecurityGroups.yaml b/apis/cf/latest/paths/SecurityGroups.yaml index 74106ec..827d9e6 100644 --- a/apis/cf/latest/paths/SecurityGroups.yaml +++ b/apis/cf/latest/paths/SecurityGroups.yaml @@ -179,8 +179,14 @@ parameters: - $ref: ../components/parameters/Guid.yaml responses: - '204': - description: No Content + '202': + description: Accepted + headers: + Location: + description: URL of the job that is deleting the security group + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/SpaceQuotas.yaml b/apis/cf/latest/paths/SpaceQuotas.yaml index e39d6b7..7815241 100644 --- a/apis/cf/latest/paths/SpaceQuotas.yaml +++ b/apis/cf/latest/paths/SpaceQuotas.yaml @@ -125,8 +125,14 @@ parameters: - $ref: ../components/parameters/Guid.yaml responses: - '204': - description: No Content + '202': + description: Accepted + headers: + Location: + description: URL of the job that is deleting the space quota + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index 3a188cc..b0f5643 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -335,8 +335,14 @@ enum: [true] description: Filter to only delete unmapped routes responses: - '204': - description: No Content + '202': + description: Accepted + headers: + Location: + description: URL of the job that is deleting unmapped routes + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Users.yaml b/apis/cf/latest/paths/Users.yaml index 6a0cd5a..a66ea70 100644 --- a/apis/cf/latest/paths/Users.yaml +++ b/apis/cf/latest/paths/Users.yaml @@ -120,8 +120,14 @@ parameters: - $ref: '../components/parameters/Guid.yaml' responses: - '204': - description: No Content + '202': + description: Accepted + headers: + Location: + description: URL of the job that is deleting the user + schema: + type: string + format: uri '401': $ref: '../components/responses/Unauthorized.yaml' '404': From 9eb4eb496d471a22e89bd936468157437c5aa8eb Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Wed, 13 Aug 2025 21:04:58 -0600 Subject: [PATCH 06/10] Add support for https://swagger.io/docs/specification/v3_0/links/ for referencing relationships --- apis/cf/latest/paths/Apps.yaml | 33 ++++++++++++++ apis/cf/latest/paths/Builds.yaml | 17 +++++++ apis/cf/latest/paths/Deployments.yaml | 32 ++++++++++++++ apis/cf/latest/paths/Domains.yaml | 12 +++++ apis/cf/latest/paths/Droplets.yaml | 24 +++++++++- apis/cf/latest/paths/Organizations.yaml | 18 ++++++++ apis/cf/latest/paths/Packages.yaml | 12 +++++ apis/cf/latest/paths/Processes.yaml | 22 ++++++++++ apis/cf/latest/paths/Roles.yaml | 44 ++++++++++++++++++- apis/cf/latest/paths/Routes.yaml | 39 +++++++++++++++- apis/cf/latest/paths/ServiceBrokers.yaml | 12 +++++ .../paths/ServiceCredentialBindings.yaml | 11 +++++ apis/cf/latest/paths/ServiceInstances.yaml | 28 ++++++++++++ .../cf/latest/paths/ServiceRouteBindings.yaml | 22 ++++++++++ apis/cf/latest/paths/Sidecars.yaml | 18 ++++++++ apis/cf/latest/paths/SpaceQuotas.yaml | 18 ++++++++ apis/cf/latest/paths/Spaces.yaml | 33 ++++++++++++++ apis/cf/latest/paths/Tasks.yaml | 22 ++++++++++ 18 files changed, 412 insertions(+), 5 deletions(-) diff --git a/apis/cf/latest/paths/Apps.yaml b/apis/cf/latest/paths/Apps.yaml index 6a29a69..307c05b 100644 --- a/apis/cf/latest/paths/Apps.yaml +++ b/apis/cf/latest/paths/Apps.yaml @@ -87,6 +87,17 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this app + current_droplet: + operationId: getDroplet + parameters: + guid: $response.body#/relationships/current_droplet/data/guid + description: Retrieve the current droplet for this app '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -128,6 +139,17 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this app + current_droplet: + operationId: getDroplet + parameters: + guid: $response.body#/relationships/current_droplet/data/guid + description: Retrieve the current droplet for this app '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -149,6 +171,17 @@ application/json: schema: $ref: '../components/schemas/App.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this app + current_droplet: + operationId: getDroplet + parameters: + guid: $response.body#/relationships/current_droplet/data/guid + description: Retrieve the current droplet for this app '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Builds.yaml b/apis/cf/latest/paths/Builds.yaml index 42c8557..8eb8238 100644 --- a/apis/cf/latest/paths/Builds.yaml +++ b/apis/cf/latest/paths/Builds.yaml @@ -81,6 +81,12 @@ application/json: schema: $ref: '../components/schemas/Build.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this build '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -103,6 +109,17 @@ application/json: schema: $ref: '../components/schemas/Build.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this build + droplet: + operationId: getDroplet + parameters: + guid: $response.body#/droplet/data/guid + description: Retrieve the droplet for this build '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Deployments.yaml b/apis/cf/latest/paths/Deployments.yaml index 616f59a..ee4dc12 100644 --- a/apis/cf/latest/paths/Deployments.yaml +++ b/apis/cf/latest/paths/Deployments.yaml @@ -82,6 +82,22 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this deployment + droplet: + operationId: getDroplet + parameters: + guid: $response.body#/droplet/data/guid + description: Retrieve the droplet for this deployment + previous_droplet: + operationId: getDroplet + parameters: + guid: $response.body#/previous_droplet/data/guid + description: Retrieve the previous droplet for this deployment '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -104,6 +120,22 @@ application/json: schema: $ref: '../components/schemas/Deployment.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this deployment + droplet: + operationId: getDroplet + parameters: + guid: $response.body#/droplet/data/guid + description: Retrieve the droplet for this deployment + previous_droplet: + operationId: getDroplet + parameters: + guid: $response.body#/previous_droplet/data/guid + description: Retrieve the previous droplet for this deployment '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Domains.yaml b/apis/cf/latest/paths/Domains.yaml index 16f7104..885a9c0 100644 --- a/apis/cf/latest/paths/Domains.yaml +++ b/apis/cf/latest/paths/Domains.yaml @@ -59,6 +59,12 @@ application/json: schema: $ref: '../components/schemas/Domain.yaml' + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this domain (private domains only) '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -81,6 +87,12 @@ application/json: schema: $ref: '../components/schemas/Domain.yaml' + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this domain (private domains only) '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Droplets.yaml b/apis/cf/latest/paths/Droplets.yaml index 761e1f4..bd7327b 100644 --- a/apis/cf/latest/paths/Droplets.yaml +++ b/apis/cf/latest/paths/Droplets.yaml @@ -75,7 +75,17 @@ $ref: '../components/requestBodies/DropletCreateRequestBody.yaml' responses: '201': - $ref: '../components/responses/DropletCreateResponse.yaml' + description: Droplet created + content: + application/json: + schema: + $ref: '../components/schemas/Droplet.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this droplet '400': $ref: '../components/responses/BadRequest.yaml' /v3/droplets/{guid}: @@ -89,7 +99,17 @@ - $ref: '../components/parameters/Guid.yaml' responses: '200': - $ref: '../components/responses/DropletGetResponse.yaml' + description: Droplet retrieved + content: + application/json: + schema: + $ref: '../components/schemas/Droplet.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this droplet '400': $ref: '../components/responses/BadRequest.yaml' patch: diff --git a/apis/cf/latest/paths/Organizations.yaml b/apis/cf/latest/paths/Organizations.yaml index d0ebf5b..03ddd9e 100644 --- a/apis/cf/latest/paths/Organizations.yaml +++ b/apis/cf/latest/paths/Organizations.yaml @@ -50,6 +50,12 @@ application/json: schema: $ref: '../components/schemas/Organization.yaml' + links: + quota: + operationId: getOrganizationQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this organization '401': $ref: '../components/responses/Unauthorized.yaml' '422': @@ -70,6 +76,12 @@ application/json: schema: $ref: '../components/schemas/Organization.yaml' + links: + quota: + operationId: getOrganizationQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this organization '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -91,6 +103,12 @@ application/json: schema: $ref: '../components/schemas/Organization.yaml' + links: + quota: + operationId: getOrganizationQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this organization '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Packages.yaml b/apis/cf/latest/paths/Packages.yaml index 469fa98..e91f21e 100644 --- a/apis/cf/latest/paths/Packages.yaml +++ b/apis/cf/latest/paths/Packages.yaml @@ -78,6 +78,12 @@ application/json: schema: $ref: '../components/schemas/Package.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this package '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -102,6 +108,12 @@ application/json: schema: $ref: '../components/schemas/Package.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this package '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Processes.yaml b/apis/cf/latest/paths/Processes.yaml index 939aca3..4ad6087 100644 --- a/apis/cf/latest/paths/Processes.yaml +++ b/apis/cf/latest/paths/Processes.yaml @@ -72,6 +72,17 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this process + revision: + operationId: getRevision + parameters: + guid: $response.body#/relationships/revision/data/guid + description: Retrieve the revision for this process '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -93,6 +104,17 @@ application/json: schema: $ref: '../components/schemas/Process.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this process + revision: + operationId: getRevision + parameters: + guid: $response.body#/relationships/revision/data/guid + description: Retrieve the revision for this process '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Roles.yaml b/apis/cf/latest/paths/Roles.yaml index 06f204e..0007e8c 100644 --- a/apis/cf/latest/paths/Roles.yaml +++ b/apis/cf/latest/paths/Roles.yaml @@ -88,7 +88,27 @@ $ref: '../components/requestBodies/RoleCreate.yaml' responses: '201': - $ref: '../components/responses/RoleCreateResponse.yaml' + description: Role created + content: + application/json: + schema: + $ref: '../components/schemas/Role.yaml' + links: + user: + operationId: getUser + parameters: + guid: $response.body#/relationships/user/data/guid + description: Retrieve the user for this role + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this role (if organization role) + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this role (if space role) '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -119,7 +139,27 @@ - organization responses: '200': - $ref: '../components/responses/RoleGetResponse.yaml' + description: Role retrieved + content: + application/json: + schema: + $ref: '../components/schemas/Role.yaml' + links: + user: + operationId: getUser + parameters: + guid: $response.body#/relationships/user/data/guid + description: Retrieve the user for this role + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this role (if organization role) + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this role (if space role) '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Routes.yaml b/apis/cf/latest/paths/Routes.yaml index 35bf36e..2490b7b 100644 --- a/apis/cf/latest/paths/Routes.yaml +++ b/apis/cf/latest/paths/Routes.yaml @@ -105,6 +105,17 @@ application/json: schema: $ref: '../components/schemas/Route.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this route + domain: + operationId: getDomain + parameters: + guid: $response.body#/relationships/domain/data/guid + description: Retrieve the domain for this route '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -135,6 +146,17 @@ application/json: schema: $ref: '../components/schemas/Route.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this route + domain: + operationId: getDomain + parameters: + guid: $response.body#/relationships/domain/data/guid + description: Retrieve the domain for this route '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -319,7 +341,22 @@ $ref: '../components/requestBodies/RouteCreateRequestBody.yaml' responses: '201': - $ref: '../components/responses/RouteCreateResponse.yaml' + description: Route created + content: + application/json: + schema: + $ref: '../components/schemas/Route.yaml' + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this route + domain: + operationId: getDomain + parameters: + guid: $response.body#/relationships/domain/data/guid + description: Retrieve the domain for this route '400': $ref: '../components/responses/BadRequest.yaml' '401': diff --git a/apis/cf/latest/paths/ServiceBrokers.yaml b/apis/cf/latest/paths/ServiceBrokers.yaml index 84e144e..f7976f9 100644 --- a/apis/cf/latest/paths/ServiceBrokers.yaml +++ b/apis/cf/latest/paths/ServiceBrokers.yaml @@ -81,6 +81,12 @@ application/json: schema: $ref: ../components/schemas/ServiceBroker.yaml + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this service broker (space-scoped brokers only) '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -110,6 +116,12 @@ application/json: schema: $ref: ../components/schemas/ServiceBroker.yaml + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this service broker (space-scoped brokers only) '202': description: Accepted headers: diff --git a/apis/cf/latest/paths/ServiceCredentialBindings.yaml b/apis/cf/latest/paths/ServiceCredentialBindings.yaml index 4c38468..f1d6423 100644 --- a/apis/cf/latest/paths/ServiceCredentialBindings.yaml +++ b/apis/cf/latest/paths/ServiceCredentialBindings.yaml @@ -164,6 +164,17 @@ oneOf: - $ref: ../components/schemas/AppCredentialBinding.yaml - $ref: ../components/schemas/KeyCredentialBinding.yaml + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this credential binding (app bindings only) + service_instance: + operationId: getServiceInstance + parameters: + guid: $response.body#/relationships/service_instance/data/guid + description: Retrieve the service instance for this credential binding '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index 6832c5e..f95d86e 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -95,6 +95,12 @@ application/json: schema: $ref: ../components/schemas/UserProvidedServiceInstance.yaml + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this service instance '202': description: Service instance creation in progress headers: @@ -296,6 +302,17 @@ oneOf: - $ref: ../components/schemas/ManagedServiceInstance.yaml - $ref: ../components/schemas/UserProvidedServiceInstance.yaml + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this service instance + service_plan: + operationId: getServicePlan + parameters: + guid: $response.body#/relationships/service_plan/data/guid + description: Retrieve the service plan for this service instance (managed instances only) '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -319,6 +336,17 @@ oneOf: - $ref: ../components/schemas/ManagedServiceInstance.yaml - $ref: ../components/schemas/UserProvidedServiceInstance.yaml + links: + space: + operationId: getSpace + parameters: + guid: $response.body#/relationships/space/data/guid + description: Retrieve the space for this service instance + service_plan: + operationId: getServicePlan + parameters: + guid: $response.body#/relationships/service_plan/data/guid + description: Retrieve the service plan for this service instance (managed instances only) '202': description: Accepted headers: diff --git a/apis/cf/latest/paths/ServiceRouteBindings.yaml b/apis/cf/latest/paths/ServiceRouteBindings.yaml index eb3e795..6227e06 100644 --- a/apis/cf/latest/paths/ServiceRouteBindings.yaml +++ b/apis/cf/latest/paths/ServiceRouteBindings.yaml @@ -78,6 +78,17 @@ application/json: schema: $ref: ../components/schemas/ServiceRouteBinding.yaml + links: + route: + operationId: getRoute + parameters: + guid: $response.body#/relationships/route/data/guid + description: Retrieve the route for this service route binding + service_instance: + operationId: getServiceInstance + parameters: + guid: $response.body#/relationships/service_instance/data/guid + description: Retrieve the service instance for this service route binding '202': description: Accepted headers: @@ -114,6 +125,17 @@ application/json: schema: $ref: ../components/schemas/ServiceRouteBinding.yaml + links: + route: + operationId: getRoute + parameters: + guid: $response.body#/relationships/route/data/guid + description: Retrieve the route for this service route binding + service_instance: + operationId: getServiceInstance + parameters: + guid: $response.body#/relationships/service_instance/data/guid + description: Retrieve the service instance for this service route binding '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Sidecars.yaml b/apis/cf/latest/paths/Sidecars.yaml index 56080b2..90bba7a 100644 --- a/apis/cf/latest/paths/Sidecars.yaml +++ b/apis/cf/latest/paths/Sidecars.yaml @@ -14,6 +14,12 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this sidecar '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -38,6 +44,12 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this sidecar '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -84,6 +96,12 @@ application/json: schema: $ref: '../components/schemas/Sidecar.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this sidecar '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/SpaceQuotas.yaml b/apis/cf/latest/paths/SpaceQuotas.yaml index 7815241..4c1b16b 100644 --- a/apis/cf/latest/paths/SpaceQuotas.yaml +++ b/apis/cf/latest/paths/SpaceQuotas.yaml @@ -66,6 +66,12 @@ application/json: schema: $ref: ../components/schemas/SpaceQuota.yaml + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space quota '401': $ref: ../components/responses/Unauthorized.yaml '422': @@ -86,6 +92,12 @@ application/json: schema: $ref: ../components/schemas/SpaceQuota.yaml + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space quota '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -110,6 +122,12 @@ application/json: schema: $ref: ../components/schemas/SpaceQuota.yaml + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space quota '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index b0f5643..39a1148 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -64,6 +64,17 @@ application/json: schema: $ref: '../components/schemas/Space.yaml' + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space + quota: + operationId: getSpaceQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this space '401': $ref: '../components/responses/Unauthorized.yaml' '422': @@ -84,6 +95,17 @@ application/json: schema: $ref: '../components/schemas/Space.yaml' + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space + quota: + operationId: getSpaceQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this space '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -105,6 +127,17 @@ application/json: schema: $ref: '../components/schemas/Space.yaml' + links: + organization: + operationId: getOrganization + parameters: + guid: $response.body#/relationships/organization/data/guid + description: Retrieve the organization for this space + quota: + operationId: getSpaceQuota + parameters: + guid: $response.body#/relationships/quota/data/guid + description: Retrieve the quota associated with this space '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/Tasks.yaml b/apis/cf/latest/paths/Tasks.yaml index fb4b5f0..05b7d62 100644 --- a/apis/cf/latest/paths/Tasks.yaml +++ b/apis/cf/latest/paths/Tasks.yaml @@ -91,6 +91,17 @@ application/json: schema: $ref: '../components/schemas/Task.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this task + droplet: + operationId: getDroplet + parameters: + guid: $response.body#/droplet_guid + description: Retrieve the droplet for this task '400': $ref: '../components/responses/BadRequest.yaml' '401': @@ -115,6 +126,17 @@ application/json: schema: $ref: '../components/schemas/Task.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this task + droplet: + operationId: getDroplet + parameters: + guid: $response.body#/droplet_guid + description: Retrieve the droplet for this task '401': $ref: '../components/responses/Unauthorized.yaml' '404': From 24de3668e43e48fc5d50a74bf6919e85c2715bd5 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Thu, 14 Aug 2025 11:56:59 -0600 Subject: [PATCH 07/10] Add missing paths for revisions --- .../latest/components/schemas/Revision.yaml | 28 ++-- .../components/schemas/RevisionList.yaml | 4 +- apis/cf/latest/openapi.yaml | 10 ++ apis/cf/latest/paths/Revisions.yaml | 155 ++++++++++++++++++ 4 files changed, 183 insertions(+), 14 deletions(-) create mode 100644 apis/cf/latest/paths/Revisions.yaml diff --git a/apis/cf/latest/components/schemas/Revision.yaml b/apis/cf/latest/components/schemas/Revision.yaml index 58aafc7..3a90aaa 100644 --- a/apis/cf/latest/components/schemas/Revision.yaml +++ b/apis/cf/latest/components/schemas/Revision.yaml @@ -1,6 +1,6 @@ type: object allOf: - - $ref: '#/components/schemas/BaseSchema' + - $ref: './BaseSchema.yaml' - properties: version: type: integer @@ -9,24 +9,28 @@ allOf: type: string description: Description of the revision, created by the user droplet: - $ref: '#/components/schemas/RelationshipToOne' + $ref: './RelationshipToOne.yaml' relationships: allOf: - - $ref: '#/components/schemas/Relationships' + - $ref: './Relationships.yaml' - properties: app: - $ref: '#/components/schemas/RelationshipToOne' + $ref: './RelationshipToOne.yaml' enabled: type: boolean description: Whether the revision is enabled or not. metadata: - $ref: '#/components/schemas/Metadata' + $ref: './Metadata.yaml' links: - allOf: - - $ref: '#/components/schemas/Links' - - properties: - environment_variables: - allOf: - - $ref: '#/components/schemas/Link' - - description: Link to the revision's environment variables + type: object + properties: + self: + $ref: './Link.yaml' + description: The URL to get this revision + app: + $ref: './Link.yaml' + description: The URL to get the app for this revision + environment_variables: + $ref: './Link.yaml' + description: The URL to get the environment variables for this revision description: 'An App Revision is an immutable snapshot of an app at a particular point in time. Revisions are identified by a sequential version number. The "current" revision for an app is the revision that is currently deployed for all instances of the app.' diff --git a/apis/cf/latest/components/schemas/RevisionList.yaml b/apis/cf/latest/components/schemas/RevisionList.yaml index 4034444..5b241ec 100644 --- a/apis/cf/latest/components/schemas/RevisionList.yaml +++ b/apis/cf/latest/components/schemas/RevisionList.yaml @@ -1,8 +1,8 @@ type: object properties: pagination: - $ref: '#/components/schemas/Pagination' + $ref: './Pagination.yaml' resources: type: array items: - $ref: '#/components/schemas/Revision' + $ref: './Revision.yaml' diff --git a/apis/cf/latest/openapi.yaml b/apis/cf/latest/openapi.yaml index 3117f1c..4663a76 100644 --- a/apis/cf/latest/openapi.yaml +++ b/apis/cf/latest/openapi.yaml @@ -50,6 +50,8 @@ tags: description: "Processes define the runnable units of an app." - name: Resource Matches description: "Resource Matches are used to determine if a resource has been previously uploaded to the Cloud Controller." + - name: Revisions + description: "Revisions represent code used by an application at a specific time." - name: Roles description: "Roles are used to control access to resources." - name: Root @@ -435,6 +437,14 @@ paths: $ref: './paths/Jobs.yaml#/~1v3~1jobs~1{guid}' /v3/resource_matches: $ref: './paths/ResourceMatches.yaml#/~1v3~1resource_matches' + /v3/revisions/{guid}: + $ref: './paths/Revisions.yaml#/~1v3~1revisions~1{guid}' + /v3/revisions/{guid}/environment_variables: + $ref: './paths/Revisions.yaml#/~1v3~1revisions~1{guid}~1environment_variables' + /v3/apps/{guid}/revisions: + $ref: './paths/Revisions.yaml#/~1v3~1apps~1{guid}~1revisions' + /v3/apps/{guid}/revisions/deployed: + $ref: './paths/Revisions.yaml#/~1v3~1apps~1{guid}~1revisions~1deployed' /v3/roles: $ref: './paths/Roles.yaml#/~1v3~1roles' /v3/roles/{guid}: diff --git a/apis/cf/latest/paths/Revisions.yaml b/apis/cf/latest/paths/Revisions.yaml new file mode 100644 index 0000000..fc54065 --- /dev/null +++ b/apis/cf/latest/paths/Revisions.yaml @@ -0,0 +1,155 @@ +/v3/revisions/{guid}: + get: + summary: Get a revision + description: Retrieve a specific revision by its GUID. + operationId: getRevision + tags: + - Revisions + parameters: + - $ref: '../components/parameters/Guid.yaml' + responses: + '200': + description: Successfully retrieved revision + content: + application/json: + schema: + $ref: '../components/schemas/Revision.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this revision + '401': + $ref: '../components/responses/Unauthorized.yaml' + '404': + $ref: '../components/responses/NotFound.yaml' + patch: + summary: Update a revision + description: This endpoint will only update the parameters specified in the request body. Any unspecified parameters will retain their existing values. + operationId: updateRevision + tags: + - Revisions + parameters: + - $ref: '../components/parameters/Guid.yaml' + requestBody: + description: Revision object that needs to be updated + required: true + content: + application/json: + schema: + type: object + properties: + metadata: + $ref: '../components/schemas/Metadata.yaml' + description: Request schema for updating a revision + responses: + '200': + description: Successfully updated revision + content: + application/json: + schema: + $ref: '../components/schemas/Revision.yaml' + links: + app: + operationId: getApp + parameters: + guid: $response.body#/relationships/app/data/guid + description: Retrieve the app for this revision + '401': + $ref: '../components/responses/Unauthorized.yaml' + '404': + $ref: '../components/responses/NotFound.yaml' + '422': + $ref: '../components/responses/UnprocessableEntity.yaml' +/v3/revisions/{guid}/environment_variables: + get: + summary: Get environment variables for a revision + description: Retrieve the environment variables that are associated with the revision. + operationId: getRevisionEnvironmentVariables + tags: + - Revisions + parameters: + - $ref: '../components/parameters/Guid.yaml' + responses: + '200': + description: Successfully retrieved revision environment variables + content: + application/json: + schema: + type: object + properties: + var: + type: object + description: Environment variables for the revision + additionalProperties: + type: string + links: + type: object + properties: + self: + $ref: '../components/schemas/Link.yaml' + revision: + $ref: '../components/schemas/Link.yaml' + app: + $ref: '../components/schemas/Link.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' + '404': + $ref: '../components/responses/NotFound.yaml' +/v3/apps/{guid}/revisions: + get: + summary: List revisions for an app + description: Retrieve revisions for an app the user has access to. + operationId: listRevisionsForApp + tags: + - Revisions + parameters: + - $ref: '../components/parameters/Guid.yaml' + - $ref: '../components/parameters/Page.yaml' + - $ref: '../components/parameters/PerPage.yaml' + - $ref: '../components/parameters/OrderBy.yaml' + - $ref: '../components/parameters/LabelSelector.yaml' + - $ref: '../components/parameters/CreatedAts.yaml' + - $ref: '../components/parameters/UpdatedAts.yaml' + - name: versions + in: query + schema: + type: array + items: + type: string + description: Comma-delimited list of revision versions to filter by + responses: + '200': + description: Successfully retrieved revisions for app + content: + application/json: + schema: + $ref: '../components/schemas/RevisionList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' + '404': + $ref: '../components/responses/NotFound.yaml' +/v3/apps/{guid}/revisions/deployed: + get: + summary: List deployed revisions for an app + description: Retrieve deployed revisions for an app the user has access to. Deployed revisions are revisions that are linked to started processes in the app. + operationId: listDeployedRevisionsForApp + tags: + - Revisions + parameters: + - $ref: '../components/parameters/Guid.yaml' + - $ref: '../components/parameters/Page.yaml' + - $ref: '../components/parameters/PerPage.yaml' + - $ref: '../components/parameters/OrderBy.yaml' + responses: + '200': + description: Successfully retrieved deployed revisions for app + content: + application/json: + schema: + $ref: '../components/schemas/RevisionList.yaml' + '401': + $ref: '../components/responses/Unauthorized.yaml' + '404': + $ref: '../components/responses/NotFound.yaml' From fd8829cf3351ae3ba94ab9f0a5f8fa3ccdfcb99e Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Thu, 14 Aug 2025 13:23:40 -0600 Subject: [PATCH 08/10] Remove job schema for service instance creation --- apis/cf/latest/paths/ServiceInstances.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index f95d86e..a2019ad 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -109,10 +109,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '400': $ref: ../components/responses/BadRequest.yaml '401': From a768440a61c54c80d2682b92184749efbd4bc9b6 Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Thu, 14 Aug 2025 13:30:33 -0600 Subject: [PATCH 09/10] Remove other references to job schema from Services --- apis/cf/latest/paths/ServiceBrokers.yaml | 12 ------------ apis/cf/latest/paths/ServiceCredentialBindings.yaml | 8 -------- apis/cf/latest/paths/ServiceInstances.yaml | 8 -------- apis/cf/latest/paths/ServiceRouteBindings.yaml | 8 -------- apis/cf/latest/paths/Spaces.yaml | 12 ------------ 5 files changed, 48 deletions(-) diff --git a/apis/cf/latest/paths/ServiceBrokers.yaml b/apis/cf/latest/paths/ServiceBrokers.yaml index f7976f9..90c0503 100644 --- a/apis/cf/latest/paths/ServiceBrokers.yaml +++ b/apis/cf/latest/paths/ServiceBrokers.yaml @@ -57,10 +57,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '401': $ref: ../components/responses/Unauthorized.yaml '422': @@ -130,10 +126,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -157,10 +149,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '401': $ref: '../components/responses/Unauthorized.yaml' '404': diff --git a/apis/cf/latest/paths/ServiceCredentialBindings.yaml b/apis/cf/latest/paths/ServiceCredentialBindings.yaml index f1d6423..f2780ee 100644 --- a/apis/cf/latest/paths/ServiceCredentialBindings.yaml +++ b/apis/cf/latest/paths/ServiceCredentialBindings.yaml @@ -134,10 +134,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '400': $ref: ../components/responses/BadRequest.yaml '401': @@ -221,10 +217,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '204': description: No Content '401': diff --git a/apis/cf/latest/paths/ServiceInstances.yaml b/apis/cf/latest/paths/ServiceInstances.yaml index a2019ad..2e2d050 100644 --- a/apis/cf/latest/paths/ServiceInstances.yaml +++ b/apis/cf/latest/paths/ServiceInstances.yaml @@ -351,10 +351,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -390,10 +386,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '204': description: No Content '401': diff --git a/apis/cf/latest/paths/ServiceRouteBindings.yaml b/apis/cf/latest/paths/ServiceRouteBindings.yaml index 6227e06..7a4590b 100644 --- a/apis/cf/latest/paths/ServiceRouteBindings.yaml +++ b/apis/cf/latest/paths/ServiceRouteBindings.yaml @@ -97,10 +97,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '400': $ref: ../components/responses/BadRequest.yaml '401': @@ -185,10 +181,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: ../components/schemas/Job.yaml '204': description: No Content '401': diff --git a/apis/cf/latest/paths/Spaces.yaml b/apis/cf/latest/paths/Spaces.yaml index 39a1148..ff8a905 100644 --- a/apis/cf/latest/paths/Spaces.yaml +++ b/apis/cf/latest/paths/Spaces.yaml @@ -161,10 +161,6 @@ schema: type: string format: uri - content: - application/json: - schema: - type: object '401': $ref: '../components/responses/Unauthorized.yaml' '400': @@ -192,10 +188,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: '../components/schemas/Job.yaml' '401': $ref: '../components/responses/Unauthorized.yaml' '404': @@ -299,10 +291,6 @@ schema: type: string format: uri - content: - application/json: - schema: - $ref: '../components/schemas/Job.yaml' '401': $ref: '../components/responses/Unauthorized.yaml' '404': From 964e9e3bbb27ca391103330a31635584eab8baec Mon Sep 17 00:00:00 2001 From: Sam Gunaratne Date: Thu, 14 Aug 2025 15:30:46 -0600 Subject: [PATCH 10/10] Fix pluralisation of job links --- apis/cf/latest/components/schemas/Job.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apis/cf/latest/components/schemas/Job.yaml b/apis/cf/latest/components/schemas/Job.yaml index 8fe995d..4a36b41 100644 --- a/apis/cf/latest/components/schemas/Job.yaml +++ b/apis/cf/latest/components/schemas/Job.yaml @@ -30,19 +30,19 @@ allOf: self: $ref: './Link.yaml' description: The URL to get this job - manifests: + manifest: $ref: './Link.yaml' description: The URL to get the manifest for this job - service_brokers: + service_broker: $ref: './Link.yaml' description: The URL to get the service broker for this job - service_credential_bindings: + service_credential_binding: $ref: './Link.yaml' description: The URL to get the service credential binding for this job - service_instances: + service_instance: $ref: './Link.yaml' description: The URL to get the service instance for this job - service_route_bindings: + service_route_binding: $ref: './Link.yaml' description: The URL to get the service route binding for this job description: 'Jobs are created by the platform when performing certain asynchronous actions. Asynchronous jobs are commonly used for long-running tasks such as uploading large files, staging applications, or deleting resources.'