diff --git a/.github/workflows/provider-delete-guard.yml b/.github/workflows/provider-delete-guard.yml new file mode 100644 index 00000000..80a13d57 --- /dev/null +++ b/.github/workflows/provider-delete-guard.yml @@ -0,0 +1,107 @@ +name: Provider Delete Guard + +# +# Blocks any push that removes a provider from providers/src. Runs on pushes to +# every branch (feature and protected) and on pull requests to the protected +# branches so it can be used as a required status check. +# +# A provider is considered deleted if providers/src///provider.yaml +# existed in the comparison base and no version of it exists in the pushed commit. +# Deleting or changing files within a provider is not affected. +# +# To intentionally delete a provider, add an explicit override naming it to a +# commit message in the push, e.g. +# +# [allow-provider-delete: netlify] +# [allow-provider-delete: netlify, deno] +# +# See docs/build-and-deployment.md and scripts/cicd/shell/provider-delete-guard.sh +# + +on: + push: + branches: + - '**' + pull_request: + branches: + - main + - dev + workflow_dispatch: + inputs: + base: + description: "base ref to compare against (default: fork point with the default branch)" + required: false + default: "" + +permissions: + contents: read + +jobs: + provider-delete-guard: + name: provider-delete-guard + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v7 + name: "[SETUP] checkout repo" + with: + fetch-depth: 0 + + - name: "[GUARD] resolve comparison base(s)" + id: bases + env: + EVENT_NAME: ${{ github.event_name }} + BEFORE_SHA: ${{ github.event.before }} + PR_BASE_SHA: ${{ github.event.pull_request.base.sha }} + DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} + DISPATCH_BASE: ${{ github.event.inputs.base }} + run: | + set -euo pipefail + bases=() + null_sha="0000000000000000000000000000000000000000" + + case "$EVENT_NAME" in + pull_request) + # HEAD is the PR merge commit; compare against the tip of the target branch + bases+=("$PR_BASE_SHA") + ;; + push) + # 1. the previous tip of this branch (unavailable for new branches and + # for force pushes whose old tip is no longer reachable) + if [ "$BEFORE_SHA" != "$null_sha" ] && git rev-parse --verify --quiet "${BEFORE_SHA}^{commit}" >/dev/null; then + bases+=("$BEFORE_SHA") + else + echo "previous branch tip not available (new branch or force push)" + fi + # 2. the fork point with the default branch, so a new branch is checked + # against where it branched from (no-op when pushing to the default branch) + if merge_base="$(git merge-base HEAD "origin/${DEFAULT_BRANCH}" 2>/dev/null)"; then + bases+=("$merge_base") + fi + ;; + workflow_dispatch) + if [ -n "$DISPATCH_BASE" ]; then + bases+=("$DISPATCH_BASE") + elif merge_base="$(git merge-base HEAD "origin/${DEFAULT_BRANCH}" 2>/dev/null)"; then + bases+=("$merge_base") + fi + ;; + esac + + # last resort: the first parent of the pushed commit + if [ "${#bases[@]}" -eq 0 ] && git rev-parse --verify --quiet 'HEAD~1^{commit}' >/dev/null; then + bases+=("HEAD~1") + fi + + if [ "${#bases[@]}" -eq 0 ]; then + echo "::error::unable to resolve a base commit to compare against" + exit 1 + fi + + bases_str="$(printf '%s\n' "${bases[@]}" | sort -u | tr '\n' ' ')" + echo "comparison base(s): ${bases_str}" + echo "bases=${bases_str}" >> "$GITHUB_OUTPUT" + + - name: "[GUARD] check for deleted providers" + run: | + bash scripts/cicd/shell/provider-delete-guard.sh HEAD ${{ steps.bases.outputs.bases }} diff --git a/README.md b/README.md index 49bf6971..dd060860 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,8 @@ Once you have an OpenAPI specification, you can use the [openapisaurus](https:// The provider registry is built and deployed using GitHub Actions. Provider documents are validated and tested in workflow steps and then packaged and stored in the artifact repository. The most recent packaged versions are published to the registry API (a [Deno Deploy](https://deno.com/deploy) application), where they are available from the `stackql` application using `REGISTRY LIST` or `REGISTRY PULL`. See [docs/build-and-deployment.md](docs/build-and-deployment.md) for more information. +A separate workflow guards against providers being deleted from `providers/src` on any push; intentional removals require an explicit override in the commit message. See [provider delete guard](docs/build-and-deployment.md#provider-delete-guard) for details. + ## Testing a Provider using the `dev` Registry Use the following steps to test a provider using the `dev` registry: diff --git a/docs/build-and-deployment.md b/docs/build-and-deployment.md index 5dcaae8b..2e1d38ec 100644 --- a/docs/build-and-deployment.md +++ b/docs/build-and-deployment.md @@ -29,6 +29,7 @@ The nodes in the above graph are described in the sections below: * [provider tests](#provider-tests) * [register and store artifacts](#register-and-store-artifacts) * [serve from Cloudflare](#serve-from-cloudflare) + * [provider delete guard](#provider-delete-guard) The following steps are performed on all pull requests to protected branches `dev` or `main` (if providers were updated): @@ -94,3 +95,40 @@ The public StackQL Provider Registry is served from Cloudflare, using the follow | --- | --- | | [registry.stackql.app](https://registry.stackql.app/ping) | Production registry (built from `main`) | | [registry-dev.stackql.app](https://registry-dev.stackql.app/ping) | Development registry (built from `dev`) | + +## Provider Delete Guard + +A separate workflow, [provider-delete-guard.yml](../.github/workflows/provider-delete-guard.yml), runs on every push to any branch (feature or protected) and on pull requests to `dev` or `main`. It fails the run if any provider under `providers/src` that existed in the comparison base no longer exists in the pushed commit. This is a safety net against a regeneration script or a bad merge silently removing a provider from the registry source. + +A provider is considered present in a commit if `providers/src///provider.yaml` exists for at least one version. Adding, changing or deleting files within a provider (for example regenerating service docs) does not trigger the guard. + +The pushed commit is compared against: + +| Event | Comparison base(s) | +| --- | --- | +| push to an existing branch | the previous tip of the branch, and the fork point with the default branch | +| push creating a new branch (or a force push whose old tip is unreachable) | the fork point with the default branch | +| pull request | the tip of the target branch | +| manual run (`workflow_dispatch`) | the `base` input, or the fork point with the default branch | + +The check is implemented in [scripts/cicd/shell/provider-delete-guard.sh](../scripts/cicd/shell/provider-delete-guard.sh) and can be run locally against any two refs, for example: + +```bash +bash scripts/cicd/shell/provider-delete-guard.sh HEAD origin/dev +``` + +### Overriding the guard + +If a provider is being intentionally removed, add an explicit override token naming each provider to the message of a commit in the push (the commit that deletes the provider, or any later commit in the same push). Every deleted provider must be named; wildcards are not supported. + +```text +[allow-provider-delete: netlify] +[allow-provider-delete: netlify, deno] +``` + +The guard reports allowed deletions as warnings in the job log and summary, so the override is visible in the run and permanently recorded in the git history. When merging a branch that deletes a provider using a squash merge, make sure the override token is retained in the squash commit message. + +Notes: + +- Removing a provider from `providers/src` does not remove previously published versions from the artifact repository or the registry; those are managed separately. +- GitHub skips all push and pull request workflows, including this guard, when the head commit message contains `[skip ci]`. Do not use `[skip ci]` on commits that touch `providers/src`. diff --git a/providers/src/netlify/v00.00.00000/provider.yaml b/providers/src/netlify/v00.00.00000/provider.yaml index 5de26fd0..8e4f8a1d 100644 --- a/providers/src/netlify/v00.00.00000/provider.yaml +++ b/providers/src/netlify/v00.00.00000/provider.yaml @@ -2,277 +2,160 @@ id: netlify name: netlify version: v00.00.00000 providerServices: - access_token: - description: Access Token api - id: access_token:v00.00.00000 - name: access_token + accounts: + id: accounts:v00.00.00000 + name: accounts preferred: true service: - $ref: netlify/v00.00.00000/services/access_token.yaml - title: Netlify's API documentation - access_token + $ref: netlify/v00.00.00000/services/accounts.yaml + title: accounts API version: v00.00.00000 - account_membership: - description: accountMembership - id: account_membership:v00.00.00000 - name: account_membership + description: netlify accounts API + agent_runners: + id: agent_runners:v00.00.00000 + name: agent_runners preferred: true service: - $ref: netlify/v00.00.00000/services/account_membership.yaml - title: Netlify's API documentation - account_membership + $ref: netlify/v00.00.00000/services/agent_runners.yaml + title: agent_runners API version: v00.00.00000 - account_type: - description: accountType - id: account_type:v00.00.00000 - name: account_type + description: netlify agent_runners API + ai_gateway: + id: ai_gateway:v00.00.00000 + name: ai_gateway preferred: true service: - $ref: netlify/v00.00.00000/services/account_type.yaml - title: Netlify's API documentation - account_type + $ref: netlify/v00.00.00000/services/ai_gateway.yaml + title: ai_gateway API version: v00.00.00000 - asset: - description: asset - id: asset:v00.00.00000 - name: asset + description: netlify ai_gateway API + builds: + id: builds:v00.00.00000 + name: builds preferred: true service: - $ref: netlify/v00.00.00000/services/asset.yaml - title: Netlify's API documentation - asset + $ref: netlify/v00.00.00000/services/builds.yaml + title: builds API version: v00.00.00000 - asset_public_signature: - description: assetPublicSignature - id: asset_public_signature:v00.00.00000 - name: asset_public_signature + description: netlify builds API + database: + id: database:v00.00.00000 + name: database preferred: true service: - $ref: netlify/v00.00.00000/services/asset_public_signature.yaml - title: Netlify's API documentation - asset_public_signature + $ref: netlify/v00.00.00000/services/database.yaml + title: database API version: v00.00.00000 - audit_log: - description: auditLog - id: audit_log:v00.00.00000 - name: audit_log + description: netlify database API + deploys: + id: deploys:v00.00.00000 + name: deploys preferred: true service: - $ref: netlify/v00.00.00000/services/audit_log.yaml - title: Netlify's API documentation - audit_log + $ref: netlify/v00.00.00000/services/deploys.yaml + title: deploys API version: v00.00.00000 - build: - description: build - id: build:v00.00.00000 - name: build + description: netlify deploys API + dev_servers: + id: dev_servers:v00.00.00000 + name: dev_servers preferred: true service: - $ref: netlify/v00.00.00000/services/build.yaml - title: Netlify's API documentation - build + $ref: netlify/v00.00.00000/services/dev_servers.yaml + title: dev_servers API version: v00.00.00000 - build_hook: - description: buildHook - id: build_hook:v00.00.00000 - name: build_hook + description: netlify dev_servers API + dns: + id: dns:v00.00.00000 + name: dns preferred: true service: - $ref: netlify/v00.00.00000/services/build_hook.yaml - title: Netlify's API documentation - build_hook + $ref: netlify/v00.00.00000/services/dns.yaml + title: dns API version: v00.00.00000 - build_log_msg: - description: buildLogMsg - id: build_log_msg:v00.00.00000 - name: build_log_msg + description: netlify dns API + env: + id: env:v00.00.00000 + name: env preferred: true service: - $ref: netlify/v00.00.00000/services/build_log_msg.yaml - title: Netlify's API documentation - build_log_msg + $ref: netlify/v00.00.00000/services/env.yaml + title: env API version: v00.00.00000 - deploy: - description: deploy - id: deploy:v00.00.00000 - name: deploy + description: netlify env API + forms: + id: forms:v00.00.00000 + name: forms preferred: true service: - $ref: netlify/v00.00.00000/services/deploy.yaml - title: Netlify's API documentation - deploy + $ref: netlify/v00.00.00000/services/forms.yaml + title: forms API version: v00.00.00000 - deploy_key: - description: deployKey - id: deploy_key:v00.00.00000 - name: deploy_key + description: netlify forms API + functions: + id: functions:v00.00.00000 + name: functions preferred: true service: - $ref: netlify/v00.00.00000/services/deploy_key.yaml - title: Netlify's API documentation - deploy_key + $ref: netlify/v00.00.00000/services/functions.yaml + title: functions API version: v00.00.00000 - deployed_branch: - description: deployedBranch - id: deployed_branch:v00.00.00000 - name: deployed_branch + description: netlify functions API + hooks: + id: hooks:v00.00.00000 + name: hooks preferred: true service: - $ref: netlify/v00.00.00000/services/deployed_branch.yaml - title: Netlify's API documentation - deployed_branch + $ref: netlify/v00.00.00000/services/hooks.yaml + title: hooks API version: v00.00.00000 - dns_zone: - description: dnsZone - id: dns_zone:v00.00.00000 - name: dns_zone + description: netlify hooks API + oauth: + id: oauth:v00.00.00000 + name: oauth preferred: true service: - $ref: netlify/v00.00.00000/services/dns_zone.yaml - title: Netlify's API documentation - dns_zone + $ref: netlify/v00.00.00000/services/oauth.yaml + title: oauth API version: v00.00.00000 - file: - description: file - id: file:v00.00.00000 - name: file + description: netlify oauth API + services: + id: services:v00.00.00000 + name: services preferred: true service: - $ref: netlify/v00.00.00000/services/file.yaml - title: Netlify's API documentation - file + $ref: netlify/v00.00.00000/services/services.yaml + title: services API version: v00.00.00000 - form: - description: form - id: form:v00.00.00000 - name: form + description: netlify services API + sites: + id: sites:v00.00.00000 + name: sites preferred: true service: - $ref: netlify/v00.00.00000/services/form.yaml - title: Netlify's API documentation - form + $ref: netlify/v00.00.00000/services/sites.yaml + title: sites API version: v00.00.00000 - function: - description: function - id: function:v00.00.00000 - name: function + description: netlify sites API + split_tests: + id: split_tests:v00.00.00000 + name: split_tests preferred: true service: - $ref: netlify/v00.00.00000/services/function.yaml - title: Netlify's API documentation - function + $ref: netlify/v00.00.00000/services/split_tests.yaml + title: split_tests API version: v00.00.00000 - hook: - description: hook - id: hook:v00.00.00000 - name: hook + description: netlify split_tests API + users: + id: users:v00.00.00000 + name: users preferred: true service: - $ref: netlify/v00.00.00000/services/hook.yaml - title: Netlify's API documentation - hook - version: v00.00.00000 - hook_type: - description: hookType - id: hook_type:v00.00.00000 - name: hook_type - preferred: true - service: - $ref: netlify/v00.00.00000/services/hook_type.yaml - title: Netlify's API documentation - hook_type - version: v00.00.00000 - member: - description: member - id: member:v00.00.00000 - name: member - preferred: true - service: - $ref: netlify/v00.00.00000/services/member.yaml - title: Netlify's API documentation - member - version: v00.00.00000 - metadata: - description: metadata - id: metadata:v00.00.00000 - name: metadata - preferred: true - service: - $ref: netlify/v00.00.00000/services/metadata.yaml - title: Netlify's API documentation - metadata - version: v00.00.00000 - payment_method: - description: paymentMethod - id: payment_method:v00.00.00000 - name: payment_method - preferred: true - service: - $ref: netlify/v00.00.00000/services/payment_method.yaml - title: Netlify's API documentation - payment_method - version: v00.00.00000 - service: - description: service - id: service:v00.00.00000 - name: service - preferred: true - service: - $ref: netlify/v00.00.00000/services/service.yaml - title: Netlify's API documentation - service - version: v00.00.00000 - service_instance: - description: serviceInstance - id: service_instance:v00.00.00000 - name: service_instance - preferred: true - service: - $ref: netlify/v00.00.00000/services/service_instance.yaml - title: Netlify's API documentation - service_instance - version: v00.00.00000 - site: - description: site - id: site:v00.00.00000 - name: site - preferred: true - service: - $ref: netlify/v00.00.00000/services/site.yaml - title: Netlify's API documentation - site - version: v00.00.00000 - sni_certificate: - description: sniCertificate - id: sni_certificate:v00.00.00000 - name: sni_certificate - preferred: true - service: - $ref: netlify/v00.00.00000/services/sni_certificate.yaml - title: Netlify's API documentation - sni_certificate - version: v00.00.00000 - snippet: - description: snippet - id: snippet:v00.00.00000 - name: snippet - preferred: true - service: - $ref: netlify/v00.00.00000/services/snippet.yaml - title: Netlify's API documentation - snippet - version: v00.00.00000 - split_test: - description: splitTest - id: split_test:v00.00.00000 - name: split_test - preferred: true - service: - $ref: netlify/v00.00.00000/services/split_test.yaml - title: Netlify's API documentation - split_test - version: v00.00.00000 - submission: - description: submission - id: submission:v00.00.00000 - name: submission - preferred: true - service: - $ref: netlify/v00.00.00000/services/submission.yaml - title: Netlify's API documentation - submission - version: v00.00.00000 - ticket: - description: ticket - id: ticket:v00.00.00000 - name: ticket - preferred: true - service: - $ref: netlify/v00.00.00000/services/ticket.yaml - title: Netlify's API documentation - ticket - version: v00.00.00000 - user: - description: user - id: user:v00.00.00000 - name: user - preferred: true - service: - $ref: netlify/v00.00.00000/services/user.yaml - title: Netlify's API documentation - user + $ref: netlify/v00.00.00000/services/users.yaml + title: users API version: v00.00.00000 + description: netlify users API config: auth: - type: "bearer" - credentialsenvvar: "NETLIFY_AUTH_TOKEN" + type: bearer + credentialsenvvar: NETLIFY_API_TOKEN diff --git a/providers/src/netlify/v00.00.00000/services/access_token.yaml b/providers/src/netlify/v00.00.00000/services/access_token.yaml deleted file mode 100644 index 0b9186e9..00000000 --- a/providers/src/netlify/v00.00.00000/services/access_token.yaml +++ /dev/null @@ -1,157 +0,0 @@ -paths: - /oauth/tickets/{ticket_id}/exchange: - post: - parameters: - - in: path - name: ticket_id - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/accessToken' - description: ok - default: - $ref: '#/components/responses/error' - tags: - - accessToken - operationId: exchangeTicket -components: - schemas: - accessToken: - properties: - access_token: - type: string - created_at: - format: dateTime - type: string - id: - type: string - user_email: - type: string - user_id: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - oauth_tickets_exchange: - id: netlify.access_token.oauth_tickets_exchange - name: oauth_tickets_exchange - title: Oauth_tickets_exchange - methods: - exchangeTicket: - operation: - $ref: '#/paths/~1oauth~1tickets~1{ticket_id}~1exchange/post' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: accessToken - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - access_token - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/account_membership.yaml b/providers/src/netlify/v00.00.00000/services/account_membership.yaml deleted file mode 100644 index 25f1e294..00000000 --- a/providers/src/netlify/v00.00.00000/services/account_membership.yaml +++ /dev/null @@ -1,325 +0,0 @@ -paths: - /accounts: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/accountMembership' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - accountMembership - operationId: listAccountsForUser - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/accountMembership' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - accountMembership - operationId: createAccount - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/accountSetup' - required: true - /accounts/{account_id}: - delete: - responses: - '204': - description: Not Content - default: - $ref: '#/components/responses/error' - tags: - - accountMembership - operationId: cancelAccount - parameters: &ref_0 - - in: path - name: account_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/accountMembership' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - accountMembership - operationId: getAccount - parameters: *ref_0 - put: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/accountMembership' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - accountMembership - operationId: updateAccount - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/accountUpdateSetup' - parameters: *ref_0 -components: - schemas: - accountMembership: - properties: - billing_details: - type: string - billing_email: - type: string - billing_name: - type: string - billing_period: - type: string - capabilities: - properties: - collaborators: - $ref: '#/components/schemas/accountUsageCapability' - sites: - $ref: '#/components/schemas/accountUsageCapability' - type: object - created_at: - format: dateTime - type: string - id: - type: string - name: - type: string - owner_ids: - items: - type: string - type: array - payment_method_id: - type: string - roles_allowed: - items: - type: string - type: array - slug: - type: string - type: - type: string - type_id: - type: string - type_name: - type: string - updated_at: - format: dateTime - type: string - type: object - accountUsageCapability: - properties: - included: - type: integer - used: - type: integer - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - accountSetup: - properties: - extra_seats_block: - type: integer - name: - type: string - payment_method_id: - type: string - period: - enum: - - monthly - - yearly - type: string - type_id: - type: string - required: - - name - - type_id - type: object - accountUpdateSetup: - properties: - billing_details: - type: string - billing_email: - type: string - billing_name: - type: string - extra_seats_block: - type: integer - name: - type: string - slug: - type: string - type_id: - type: string - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - accounts: - id: netlify.account_membership.accounts - name: accounts - title: Accounts - methods: - listAccountsForUser: - operation: - $ref: '#/paths/~1accounts/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createAccount: - operation: - $ref: '#/paths/~1accounts/post' - response: - mediaType: application/json - openAPIDocKey: '201' - cancelAccount: - operation: - $ref: '#/paths/~1accounts~1{account_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getAccount: - operation: - $ref: '#/paths/~1accounts~1{account_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateAccount: - operation: - $ref: '#/paths/~1accounts~1{account_id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/accounts/methods/getAccount' - - $ref: '#/components/x-stackQL-resources/accounts/methods/listAccountsForUser' - insert: - - $ref: '#/components/x-stackQL-resources/accounts/methods/createAccount' - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: accountMembership - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - account_membership - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/account_type.yaml b/providers/src/netlify/v00.00.00000/services/account_type.yaml deleted file mode 100644 index 78ec98a4..00000000 --- a/providers/src/netlify/v00.00.00000/services/account_type.yaml +++ /dev/null @@ -1,159 +0,0 @@ -paths: - /accounts/types: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/accountType' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - accountType - operationId: listAccountTypesForUser -components: - schemas: - accountType: - properties: - capabilities: - type: object - description: - type: string - id: - type: string - monthly_dollar_price: - type: integer - monthly_seats_addon_dollar_price: - type: integer - name: - type: string - yearly_dollar_price: - type: integer - yearly_seats_addon_dollar_price: - type: integer - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - accounts_types: - id: netlify.account_type.accounts_types - name: accounts_types - title: Accounts_types - methods: - listAccountTypesForUser: - operation: - $ref: '#/paths/~1accounts~1types/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/accounts_types/methods/listAccountTypesForUser' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: accountType - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - account_type - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/accounts.yaml b/providers/src/netlify/v00.00.00000/services/accounts.yaml new file mode 100644 index 00000000..626cce11 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/accounts.yaml @@ -0,0 +1,1030 @@ +openapi: 3.0.0 +info: + title: accounts API + description: netlify accounts API + version: 2.57.0 +paths: + /{account_slug}/members: + get: + operationId: listMembersForAccount + tags: + - member + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar: + type: string + role: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_slug + in: path + required: true + schema: + type: string + post: + operationId: addMemberToAccount + tags: + - member + requestBody: + content: + application/json: + schema: + type: object + properties: + role: + type: string + enum: + - Owner + - Developer + - Billing Admin + - Reviewer + email: + type: string + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar: + type: string + role: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_slug + in: path + required: true + schema: + type: string + /{account_slug}/members/{member_id}: + get: + operationId: getAccountMember + tags: + - member + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar: + type: string + role: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_slug + in: path + required: true + schema: + type: string + - name: member_id + in: path + required: true + schema: + type: string + put: + operationId: updateAccountMember + tags: + - member + requestBody: + content: + application/json: + schema: + type: object + properties: + role: + type: string + enum: + - Owner + - Developer + - Billing Admin + - Reviewer + site_access: + type: string + enum: + - all + - none + - selected + site_ids: + type: array + items: + type: string + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar: + type: string + role: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_slug + in: path + required: true + schema: + type: string + - name: member_id + in: path + required: true + schema: + type: string + delete: + operationId: removeAccountMember + tags: + - member + responses: + '204': + description: Not Content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_slug + in: path + required: true + schema: + type: string + - name: member_id + in: path + required: true + schema: + type: string + /billing/payment_methods: + get: + operationId: listPaymentMethodsForUser + tags: + - paymentMethod + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + method_name: + type: string + type: + type: string + state: + type: string + data: + type: object + properties: + card_type: + type: string + last4: + type: string + email: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /accounts/types: + get: + operationId: listAccountTypesForUser + tags: + - accountType + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + capabilities: + type: string + description: (opaque JSON object) + monthly_dollar_price: + type: integer + yearly_dollar_price: + type: integer + monthly_seats_addon_dollar_price: + type: integer + yearly_seats_addon_dollar_price: + type: integer + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /accounts: + get: + operationId: listAccountsForUser + tags: + - accountMembership + parameters: + - name: minimal + x-internal: true + in: query + schema: + type: boolean + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + type: + type: string + capabilities: + type: object + properties: + sites: + type: object + properties: + included: + type: integer + used: + type: integer + collaborators: + type: object + properties: + included: + type: integer + used: + type: integer + billing_name: + type: string + billing_email: + type: string + billing_details: + type: string + billing_period: + type: string + payment_method_id: + type: string + type_name: + type: string + type_id: + type: string + owner_ids: + type: array + items: + type: string + roles_allowed: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createAccount + tags: + - accountMembership + requestBody: + content: + application/json: + schema: + type: object + required: + - name + - type_id + properties: + name: + type: string + type_id: + type: string + payment_method_id: + type: string + period: + type: string + enum: + - monthly + - yearly + extra_seats_block: + type: integer + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + type: + type: string + capabilities: + type: object + properties: + sites: + type: object + properties: + included: + type: integer + used: + type: integer + collaborators: + type: object + properties: + included: + type: integer + used: + type: integer + billing_name: + type: string + billing_email: + type: string + billing_details: + type: string + billing_period: + type: string + payment_method_id: + type: string + type_name: + type: string + type_id: + type: string + owner_ids: + type: array + items: + type: string + roles_allowed: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /accounts/{account_id}: + get: + operationId: getAccount + tags: + - accountMembership + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + type: + type: string + capabilities: + type: object + properties: + sites: + type: object + properties: + included: + type: integer + used: + type: integer + collaborators: + type: object + properties: + included: + type: integer + used: + type: integer + billing_name: + type: string + billing_email: + type: string + billing_details: + type: string + billing_period: + type: string + payment_method_id: + type: string + type_name: + type: string + type_id: + type: string + owner_ids: + type: array + items: + type: string + roles_allowed: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_id + in: path + required: true + schema: + type: string + put: + operationId: updateAccount + tags: + - accountMembership + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + slug: + type: string + type_id: + type: string + extra_seats_block: + type: integer + billing_name: + type: string + billing_email: + type: string + billing_details: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + type: + type: string + capabilities: + type: object + properties: + sites: + type: object + properties: + included: + type: integer + used: + type: integer + collaborators: + type: object + properties: + included: + type: integer + used: + type: integer + billing_name: + type: string + billing_email: + type: string + billing_details: + type: string + billing_period: + type: string + payment_method_id: + type: string + type_name: + type: string + type_id: + type: string + owner_ids: + type: array + items: + type: string + roles_allowed: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_id + in: path + required: true + schema: + type: string + delete: + operationId: cancelAccount + tags: + - accountMembership + responses: + '204': + description: Not Content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_id + in: path + required: true + schema: + type: string + /accounts/{account_id}/audit: + get: + operationId: listAccountAuditEvents + tags: + - auditLog + parameters: + - name: query + in: query + schema: + type: string + - name: log_type + in: query + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: account_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + account_id: + type: string + payload: + type: object + properties: + actor_id: + type: string + actor_name: + type: string + actor_email: + type: string + action: + type: string + timestamp: + type: string + format: dateTime + log_type: + type: string + additionalProperties: + type: string + description: (opaque JSON object) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false +components: + schemas: {} + x-stackQL-resources: + members: + id: netlify.accounts.members + name: members + title: Members + methods: + list: + operation: + $ref: '#/paths/~1{account_slug}~1members/get' + response: + mediaType: application/json + openAPIDocKey: '200' + add: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1{account_slug}~1members/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1{account_slug}~1members~1{member_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1{account_slug}~1members~1{member_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + remove: + operation: + $ref: '#/paths/~1{account_slug}~1members~1{member_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/members/methods/get' + - $ref: '#/components/x-stackQL-resources/members/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/members/methods/add' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/members/methods/remove' + replace: + - $ref: '#/components/x-stackQL-resources/members/methods/update' + payment_methods: + id: netlify.accounts.payment_methods + name: payment_methods + title: Payment Methods + methods: + list: + operation: + $ref: '#/paths/~1billing~1payment_methods/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/payment_methods/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + account_types: + id: netlify.accounts.account_types + name: account_types + title: Account Types + methods: + list: + operation: + $ref: '#/paths/~1accounts~1types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/account_types/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + accounts: + id: netlify.accounts.accounts + name: accounts + title: Accounts + methods: + list: + operation: + $ref: '#/paths/~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1accounts~1{account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1accounts~1{account_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + cancel: + operation: + $ref: '#/paths/~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/accounts/methods/get' + - $ref: '#/components/x-stackQL-resources/accounts/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/accounts/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/accounts/methods/cancel' + replace: + - $ref: '#/components/x-stackQL-resources/accounts/methods/update' + audit_events: + id: netlify.accounts.audit_events + name: audit_events + title: Audit Events + methods: + list: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1audit/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/audit_events/methods/list' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/agent_runners.yaml b/providers/src/netlify/v00.00.00000/services/agent_runners.yaml new file mode 100644 index 00000000..43d8313c --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/agent_runners.yaml @@ -0,0 +1,1651 @@ +openapi: 3.0.0 +info: + title: agent_runners API + description: netlify agent_runners API + version: 2.57.0 +paths: + /agent_runners: + get: + operationId: listAgentRunners + tags: + - agentRunner + parameters: + - name: account_id + in: query + required: true + schema: + type: string + - name: site_id + in: query + required: true + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: state + in: query + schema: + type: string + enum: + - live + - error + - name: title + in: query + schema: + type: string + - name: branch + in: query + schema: + type: string + - name: result_branch + in: query + schema: + type: string + - name: from + in: query + schema: + type: integer + - name: to + in: query + schema: + type: integer + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + parent_agent_runner_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + branch: + type: string + result_branch: + type: string + pr_url: + type: string + pr_branch: + type: string + pr_state: + type: string + pr_number: + type: integer + pr_is_being_created: + type: boolean + pr_error: + type: string + current_task: + type: string + result_diff: + type: string + sha: + type: string + merge_commit_sha: + type: string + merge_commit_error: + type: string + merge_commit_is_being_created: + type: boolean + base_deploy_id: + type: string + attached_file_keys: + type: array + items: + type: string + active_session_created_at: + type: string + format: dateTime + latest_session_deploy_id: + type: string + latest_session_deploy_url: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createAgentRunner + tags: + - agentRunner + parameters: + - name: site_id + in: query + required: true + schema: + type: string + - name: deploy_id + in: query + schema: + type: string + - name: branch + in: query + schema: + type: string + - name: prompt + in: query + schema: + type: string + - name: agent + in: query + schema: + type: string + - name: model + in: query + schema: + type: string + - name: parent_agent_runner_id + in: query + schema: + type: string + - name: dev_server_image + in: query + schema: + type: string + - name: file_keys + in: query + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + parent_agent_runner_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + branch: + type: string + result_branch: + type: string + pr_url: + type: string + pr_branch: + type: string + pr_state: + type: string + pr_number: + type: integer + pr_is_being_created: + type: boolean + pr_error: + type: string + current_task: + type: string + result_diff: + type: string + sha: + type: string + merge_commit_sha: + type: string + merge_commit_error: + type: string + merge_commit_is_being_created: + type: boolean + base_deploy_id: + type: string + attached_file_keys: + type: array + items: + type: string + active_session_created_at: + type: string + format: dateTime + latest_session_deploy_id: + type: string + latest_session_deploy_url: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + '404': + description: Not Found + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /agent_runners/upload_url: + post: + x-internal: true + operationId: createAgentRunnerUploadUrl + tags: + - agentRunner + parameters: + - name: account_id + in: query + required: true + schema: + type: string + - name: filename + in: query + required: true + schema: + type: string + - name: content_type + in: query + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + description: Bad Request + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /agent_runners/{agent_runner_id}: + get: + operationId: getAgentRunner + tags: + - agentRunner + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + parent_agent_runner_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + branch: + type: string + result_branch: + type: string + pr_url: + type: string + pr_branch: + type: string + pr_state: + type: string + pr_number: + type: integer + pr_is_being_created: + type: boolean + pr_error: + type: string + current_task: + type: string + result_diff: + type: string + sha: + type: string + merge_commit_sha: + type: string + merge_commit_error: + type: string + merge_commit_is_being_created: + type: boolean + base_deploy_id: + type: string + attached_file_keys: + type: array + items: + type: string + active_session_created_at: + type: string + format: dateTime + latest_session_deploy_id: + type: string + latest_session_deploy_url: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + patch: + operationId: updateAgentRunner + tags: + - agentRunner + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + parent_agent_runner_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + branch: + type: string + result_branch: + type: string + pr_url: + type: string + pr_branch: + type: string + pr_state: + type: string + pr_number: + type: integer + pr_is_being_created: + type: boolean + pr_error: + type: string + current_task: + type: string + result_diff: + type: string + sha: + type: string + merge_commit_sha: + type: string + merge_commit_error: + type: string + merge_commit_is_being_created: + type: boolean + base_deploy_id: + type: string + attached_file_keys: + type: array + items: + type: string + active_session_created_at: + type: string + format: dateTime + latest_session_deploy_id: + type: string + latest_session_deploy_url: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteAgentRunner + tags: + - agentRunner + responses: + '202': + description: Accepted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + /agent_runners/{agent_runner_id}/archive: + post: + operationId: archiveAgentRunner + tags: + - agentRunner + responses: + '202': + description: Accepted + '404': + description: Not Found + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + /agent_runners/{agent_runner_id}/pull_request: + post: + x-internal: true + operationId: agentRunnerPullRequest + tags: + - agentRunner + responses: + '200': + description: OK + '400': + description: Bad Request + '409': + description: Conflict + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + /agent_runners/{agent_runner_id}/commit: + post: + x-internal: true + operationId: agentRunnerCommitToBranch + tags: + - agentRunner + parameters: + - name: target_branch + in: query + required: true + schema: + type: string + - name: agent_runner_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + description: Bad Request + '409': + description: Conflict + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /agent_runners/{agent_runner_id}/sessions: + get: + operationId: listAgentRunnerSessions + tags: + - agentRunnerSession + parameters: + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: state + in: query + schema: + type: string + enum: + - live + - error + - name: from + in: query + schema: + type: integer + - name: to + in: query + schema: + type: integer + - name: order_by + in: query + schema: + type: string + enum: + - asc + - desc + - name: agent_runner_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + agent_runner_id: + type: string + dev_server_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + prompt: + type: string + agent_config: + type: object + properties: + agent: + type: string + model: + type: string + result: + type: string + result_diff: + type: string + commit_sha: + type: string + deploy_id: + type: string + deploy_url: + type: string + duration: + type: integer + steps: + type: array + items: + type: object + properties: + title: + type: string + message: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + attached_file_keys: + type: array + items: + type: string + result_zip_file_name: + type: string + is_published: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createAgentRunnerSession + tags: + - agentRunnerSession + parameters: + - name: prompt + in: query + schema: + type: string + - name: agent + in: query + schema: + type: string + - name: model + in: query + schema: + type: string + - name: file_keys + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: agent_runner_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + agent_runner_id: + type: string + dev_server_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + prompt: + type: string + agent_config: + type: object + properties: + agent: + type: string + model: + type: string + result: + type: string + result_diff: + type: string + commit_sha: + type: string + deploy_id: + type: string + deploy_url: + type: string + duration: + type: integer + steps: + type: array + items: + type: object + properties: + title: + type: string + message: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + attached_file_keys: + type: array + items: + type: string + result_zip_file_name: + type: string + is_published: + type: boolean + '404': + description: Not Found + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /agent_runners/{agent_runner_id}/sessions/{agent_runner_session_id}: + get: + operationId: getAgentRunnerSession + tags: + - agentRunnerSession + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + agent_runner_id: + type: string + dev_server_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + prompt: + type: string + agent_config: + type: object + properties: + agent: + type: string + model: + type: string + result: + type: string + result_diff: + type: string + commit_sha: + type: string + deploy_id: + type: string + deploy_url: + type: string + duration: + type: integer + steps: + type: array + items: + type: object + properties: + title: + type: string + message: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + attached_file_keys: + type: array + items: + type: string + result_zip_file_name: + type: string + is_published: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + - name: agent_runner_session_id + in: path + required: true + schema: + type: string + patch: + operationId: updateAgentRunnerSession + tags: + - agentRunnerSession + parameters: + - name: is_published + in: query + schema: + type: boolean + - name: agent_runner_id + in: path + required: true + schema: + type: string + - name: agent_runner_session_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + agent_runner_id: + type: string + dev_server_id: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + prompt: + type: string + agent_config: + type: object + properties: + agent: + type: string + model: + type: string + result: + type: string + result_diff: + type: string + commit_sha: + type: string + deploy_id: + type: string + deploy_url: + type: string + duration: + type: integer + steps: + type: array + items: + type: object + properties: + title: + type: string + message: + type: string + user: + type: object + properties: + id: + type: string + full_name: + type: string + email: + type: string + avatar_url: + type: string + attached_file_keys: + type: array + items: + type: string + result_zip_file_name: + type: string + is_published: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteAgentRunnerSession + tags: + - agentRunnerSession + responses: + '202': + description: Accepted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: agent_runner_id + in: path + required: true + schema: + type: string + - name: agent_runner_session_id + in: path + required: true + schema: + type: string + /sites/{site_id}/agent_runner_hooks: + get: + x-internal: true + operationId: listSiteAgentRunnerHooks + tags: + - agentRunnerHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + title: + type: string + branch: + type: string + prompt: + type: string + agent: + type: string + url: + type: string + msg: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + post: + x-internal: true + operationId: createSiteAgentRunnerHook + tags: + - agentRunnerHook + requestBody: + $ref: '#/components/requestBodies/createSiteAgentRunnerHookAgentrunnerhook' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + title: + type: string + branch: + type: string + prompt: + type: string + agent: + type: string + url: + type: string + msg: + type: string + created_at: + type: string + format: dateTime + secret: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/agent_runner_hooks/{id}: + get: + x-internal: true + operationId: getSiteAgentRunnerHook + tags: + - agentRunnerHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + title: + type: string + branch: + type: string + prompt: + type: string + agent: + type: string + url: + type: string + msg: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + put: + x-internal: true + operationId: updateSiteAgentRunnerHook + tags: + - agentRunnerHook + requestBody: + $ref: '#/components/requestBodies/createSiteAgentRunnerHookAgentrunnerhook' + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + delete: + x-internal: true + operationId: deleteSiteAgentRunnerHook + tags: + - agentRunnerHook + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string +components: + requestBodies: + createSiteAgentRunnerHookAgentrunnerhook: + content: + application/json: + schema: + type: object + properties: + title: + type: string + branch: + type: string + prompt: + type: string + agent: + type: string + required: true + schemas: {} + x-stackQL-resources: + agent_runners: + id: netlify.agent_runners.agent_runners + name: agent_runners + title: Agent Runners + methods: + list: + operation: + $ref: '#/paths/~1agent_runners/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1agent_runners/post' + response: + mediaType: application/json + openAPIDocKey: '200' + create_upload_url: + operation: + $ref: '#/paths/~1agent_runners~1upload_url/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + archive: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}~1archive/post' + response: + mediaType: application/json + openAPIDocKey: '202' + create_pull_request: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}~1pull_request/post' + response: + mediaType: application/json + openAPIDocKey: '200' + commit_to_branch: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}~1commit/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agent_runners/methods/get' + - $ref: '#/components/x-stackQL-resources/agent_runners/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/agent_runners/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/agent_runners/methods/update' + delete: + - $ref: '#/components/x-stackQL-resources/agent_runners/methods/delete' + replace: [] + agent_runner_sessions: + id: netlify.agent_runners.agent_runner_sessions + name: agent_runner_sessions + title: Agent Runner Sessions + methods: + list: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}~1sessions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1agent_runners~1{agent_runner_id}~1sessions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: >- + #/paths/~1agent_runners~1{agent_runner_id}~1sessions~1{agent_runner_session_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update: + operation: + $ref: >- + #/paths/~1agent_runners~1{agent_runner_id}~1sessions~1{agent_runner_session_id}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1agent_runners~1{agent_runner_id}~1sessions~1{agent_runner_session_id}/delete + response: + mediaType: application/json + openAPIDocKey: '202' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agent_runner_sessions/methods/get' + - $ref: >- + #/components/x-stackQL-resources/agent_runner_sessions/methods/list + insert: + - $ref: >- + #/components/x-stackQL-resources/agent_runner_sessions/methods/create + update: + - $ref: >- + #/components/x-stackQL-resources/agent_runner_sessions/methods/update + delete: + - $ref: >- + #/components/x-stackQL-resources/agent_runner_sessions/methods/delete + replace: [] + agent_runner_hooks: + id: netlify.agent_runners.agent_runner_hooks + name: agent_runner_hooks + title: Agent Runner Hooks + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1agent_runner_hooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1agent_runner_hooks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1agent_runner_hooks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1agent_runner_hooks~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1agent_runner_hooks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agent_runner_hooks/methods/get' + - $ref: '#/components/x-stackQL-resources/agent_runner_hooks/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/agent_runner_hooks/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/agent_runner_hooks/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/agent_runner_hooks/methods/update' +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/ai_gateway.yaml b/providers/src/netlify/v00.00.00000/services/ai_gateway.yaml new file mode 100644 index 00000000..c5ace2b2 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/ai_gateway.yaml @@ -0,0 +1,198 @@ +openapi: 3.0.0 +info: + title: ai_gateway API + description: netlify ai_gateway API + version: 2.57.0 +paths: + /ai-gateway/providers: + get: + operationId: getAIGatewayProviders + tags: + - aiGateway + security: [] + responses: + '200': + description: The mapping of providers and supported models + content: + application/json: + schema: + type: object + properties: + providers: + additionalProperties: + type: object + properties: + token_env_var: + type: string + url_env_var: + type: string + models: + type: array + items: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/ai-gateway/token: + get: + operationId: getAIGatewayToken + tags: + - aiGateway + responses: + '200': + description: AI Gateway token for the site + content: + application/json: + schema: + type: object + properties: + token: + type: string + description: The AI Gateway authentication token + url: + type: string + description: AI gateway base url + expires_at: + type: integer + format: int64 + description: Unix timestamp when the token expires + '404': + description: AI Gateway not available for this site + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Returns an AI Gateway token for a specific site + parameters: + - name: site_id + in: path + required: true + description: The site ID + schema: + type: string + /accounts/{account_id}/ai-gateway/token: + get: + operationId: getAccountAIGatewayToken + tags: + - aiGateway + responses: + '200': + description: AI Gateway token for the account + content: + application/json: + schema: + type: object + properties: + token: + type: string + description: The AI Gateway authentication token + url: + type: string + description: AI gateway base url + expires_at: + type: integer + format: int64 + description: Unix timestamp when the token expires + '404': + description: AI Gateway not available for this account + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Returns an AI Gateway token scoped to an account + parameters: + - name: account_id + in: path + required: true + description: The account ID + schema: + type: string +components: + x-stackQL-resources: + providers: + id: netlify.ai_gateway.providers + name: providers + title: Providers + methods: + get: + operation: + $ref: '#/paths/~1ai-gateway~1providers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/providers/methods/get' + insert: [] + update: [] + delete: [] + replace: [] + tokens: + id: netlify.ai_gateway.tokens + name: tokens + title: Tokens + methods: + get_for_site: + operation: + $ref: '#/paths/~1sites~1{site_id}~1ai-gateway~1token/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_for_account: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1ai-gateway~1token/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tokens/methods/get_for_site' + - $ref: '#/components/x-stackQL-resources/tokens/methods/get_for_account' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/asset.yaml b/providers/src/netlify/v00.00.00000/services/asset.yaml deleted file mode 100644 index 60058347..00000000 --- a/providers/src/netlify/v00.00.00000/services/asset.yaml +++ /dev/null @@ -1,284 +0,0 @@ -paths: - /sites/{site_id}/assets: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/asset' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - asset - operationId: listSiteAssets - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - post: - parameters: *ref_0 - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/assetSignature' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - asset - operationId: createSiteAsset - /sites/{site_id}/assets/{asset_id}: - delete: - responses: - '204': - description: Deleted - default: - $ref: '#/components/responses/error' - tags: - - asset - operationId: deleteSiteAsset - parameters: &ref_1 - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: asset_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/asset' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - asset - operationId: getSiteAssetInfo - parameters: *ref_1 - put: - parameters: *ref_1 - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/asset' - description: Updated - default: - $ref: '#/components/responses/error' - tags: - - asset - operationId: updateSiteAsset -components: - schemas: - asset: - properties: - content_type: - type: string - created_at: - format: dateTime - type: string - creator_id: - type: string - id: - type: string - key: - type: string - name: - type: string - site_id: - type: string - size: - format: int64 - type: integer - state: - type: string - updated_at: - format: dateTime - type: string - url: - type: string - visibility: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - assetSignature: - properties: - asset: - $ref: '#/components/schemas/asset' - type: object - form: - $ref: '#/components/schemas/assetForm' - type: object - type: object - assetForm: - properties: - fields: - additionalProperties: - type: string - type: object - url: - type: string - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_assets: - id: netlify.asset.sites_assets - name: sites_assets - title: Sites_assets - methods: - listSiteAssets: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteAsset: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteSiteAsset: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getSiteAssetInfo: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSiteAsset: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_assets/methods/getSiteAssetInfo' - - $ref: '#/components/x-stackQL-resources/sites_assets/methods/listSiteAssets' - insert: - - $ref: '#/components/x-stackQL-resources/sites_assets/methods/createSiteAsset' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites_assets/methods/deleteSiteAsset' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: asset - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - asset - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/asset_public_signature.yaml b/providers/src/netlify/v00.00.00000/services/asset_public_signature.yaml deleted file mode 100644 index 2eba5e30..00000000 --- a/providers/src/netlify/v00.00.00000/services/asset_public_signature.yaml +++ /dev/null @@ -1,154 +0,0 @@ -paths: - /sites/{site_id}/assets/{asset_id}/public_signature: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/assetPublicSignature' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - assetPublicSignature - operationId: getSiteAssetPublicSignature - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: asset_id - required: true - schema: - type: string -components: - schemas: - assetPublicSignature: - properties: - url: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_assets_public_signature: - id: netlify.asset_public_signature.sites_assets_public_signature - name: sites_assets_public_signature - title: Sites_assets_public_signature - methods: - getSiteAssetPublicSignature: - operation: - $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}~1public_signature/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_assets_public_signature/methods/getSiteAssetPublicSignature' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: assetPublicSignature - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - asset_public_signature - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/audit_log.yaml b/providers/src/netlify/v00.00.00000/services/audit_log.yaml deleted file mode 100644 index d7405543..00000000 --- a/providers/src/netlify/v00.00.00000/services/audit_log.yaml +++ /dev/null @@ -1,185 +0,0 @@ -paths: - /accounts/{account_id}/audit: - get: - parameters: - - in: path - name: account_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/auditLog' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - auditLog - operationId: listAccountAuditEvents -components: - schemas: - auditLog: - properties: - account_id: - type: string - id: - type: string - payload: - additionalProperties: - type: object - properties: - action: - type: string - actor_email: - type: string - actor_id: - type: string - actor_name: - type: string - log_type: - type: string - timestamp: - format: dateTime - type: string - type: object - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: - page: - in: query - name: page - required: false - schema: - format: int32 - type: integer - perPage: - in: query - name: per_page - required: false - schema: - format: int32 - type: integer - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - accounts_audit: - id: netlify.audit_log.accounts_audit - name: accounts_audit - title: Accounts_audit - methods: - listAccountAuditEvents: - operation: - $ref: '#/paths/~1accounts~1{account_id}~1audit/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/accounts_audit/methods/listAccountAuditEvents' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: auditLog - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - audit_log - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/build.yaml b/providers/src/netlify/v00.00.00000/services/build.yaml deleted file mode 100644 index 9c3c8d9f..00000000 --- a/providers/src/netlify/v00.00.00000/services/build.yaml +++ /dev/null @@ -1,348 +0,0 @@ -paths: - /builds/{build_id}: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/build' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - build - operationId: getSiteBuild - parameters: - - in: path - name: build_id - required: true - schema: - type: string - /builds/{build_id}/start: - post: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - build - operationId: notifyBuildStart - parameters: - - in: path - name: build_id - required: true - schema: - type: string - /sites/{site_id}/builds: - get: - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/build' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - build - operationId: listSiteBuilds - post: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/build' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - build - operationId: createSiteBuild - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/buildSetup' - parameters: *ref_0 - /{account_id}/builds/status: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/buildStatus' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - build - operationId: getAccountBuildStatus - parameters: - - in: path - name: account_id - required: true - schema: - type: string -components: - schemas: - build: - properties: - created_at: - format: dateTime - type: string - deploy_id: - type: string - done: - type: boolean - error: - type: string - id: - type: string - sha: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - buildSetup: - properties: - image: - type: string - type: object - buildStatus: - properties: - active: - type: integer - build_count: - type: integer - enqueued: - type: integer - minutes: - properties: - current: - type: integer - current_average_sec: - type: integer - included_minutes: - type: string - included_minutes_with_packs: - type: string - last_updated_at: - format: dateTime - type: string - period_end_date: - format: dateTime - type: string - period_start_date: - format: dateTime - type: string - previous: - type: integer - type: object - pending_concurrency: - type: integer - type: object - parameters: - page: - in: query - name: page - required: false - schema: - format: int32 - type: integer - perPage: - in: query - name: per_page - required: false - schema: - format: int32 - type: integer - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - builds: - id: netlify.build.builds - name: builds - title: Builds - methods: - getSiteBuild: - operation: - $ref: '#/paths/~1builds~1{build_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/builds/methods/getSiteBuild' - insert: [] - update: [] - delete: [] - builds_start: - id: netlify.build.builds_start - name: builds_start - title: Builds_start - methods: - notifyBuildStart: - operation: - $ref: '#/paths/~1builds~1{build_id}~1start/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_builds: - id: netlify.build.sites_builds - name: sites_builds - title: Sites_builds - methods: - listSiteBuilds: - operation: - $ref: '#/paths/~1sites~1{site_id}~1builds/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteBuild: - operation: - $ref: '#/paths/~1sites~1{site_id}~1builds/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_builds/methods/listSiteBuilds' - insert: - - $ref: '#/components/x-stackQL-resources/sites_builds/methods/createSiteBuild' - update: [] - delete: [] - builds_status: - id: netlify.build.builds_status - name: builds_status - title: Builds_status - methods: - getAccountBuildStatus: - operation: - $ref: '#/paths/~1{account_id}~1builds~1status/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/builds_status/methods/getAccountBuildStatus' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: build - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - build - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/build_hook.yaml b/providers/src/netlify/v00.00.00000/services/build_hook.yaml deleted file mode 100644 index 3ee74849..00000000 --- a/providers/src/netlify/v00.00.00000/services/build_hook.yaml +++ /dev/null @@ -1,267 +0,0 @@ -paths: - /sites/{site_id}/build_hooks: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/buildHook' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - buildHook - operationId: listSiteBuildHooks - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/buildHook' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - buildHook - operationId: createSiteBuildHook - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/buildHookSetup' - required: true - parameters: *ref_0 - /sites/{site_id}/build_hooks/{id}: - delete: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - buildHook - operationId: deleteSiteBuildHook - parameters: &ref_1 - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/buildHook' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - buildHook - operationId: getSiteBuildHook - parameters: *ref_1 - put: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - buildHook - operationId: updateSiteBuildHook - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/buildHookSetup' - required: true - parameters: *ref_1 -components: - schemas: - buildHook: - properties: - branch: - type: string - created_at: - format: dateTime - type: string - id: - type: string - site_id: - type: string - title: - type: string - url: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - buildHookSetup: - properties: - branch: - type: string - title: - type: string - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_build_hooks: - id: netlify.build_hook.sites_build_hooks - name: sites_build_hooks - title: Sites_build_hooks - methods: - listSiteBuildHooks: - operation: - $ref: '#/paths/~1sites~1{site_id}~1build_hooks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteBuildHook: - operation: - $ref: '#/paths/~1sites~1{site_id}~1build_hooks/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteSiteBuildHook: - operation: - $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getSiteBuildHook: - operation: - $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSiteBuildHook: - operation: - $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/put' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_build_hooks/methods/getSiteBuildHook' - - $ref: '#/components/x-stackQL-resources/sites_build_hooks/methods/listSiteBuildHooks' - insert: - - $ref: '#/components/x-stackQL-resources/sites_build_hooks/methods/createSiteBuildHook' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites_build_hooks/methods/deleteSiteBuildHook' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: buildHook - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - build_hook - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/build_log_msg.yaml b/providers/src/netlify/v00.00.00000/services/build_log_msg.yaml deleted file mode 100644 index f88cebeb..00000000 --- a/providers/src/netlify/v00.00.00000/services/build_log_msg.yaml +++ /dev/null @@ -1,139 +0,0 @@ -paths: - /builds/{build_id}/log: - post: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - buildLogMsg - operationId: updateSiteBuildLog - parameters: - - in: path - name: build_id - required: true - schema: - type: string -components: - schemas: - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - builds_log: - id: netlify.build_log_msg.builds_log - name: builds_log - title: Builds_log - methods: - updateSiteBuildLog: - operation: - $ref: '#/paths/~1builds~1{build_id}~1log/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: buildLogMsg - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - build_log_msg - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/builds.yaml b/providers/src/netlify/v00.00.00000/services/builds.yaml new file mode 100644 index 00000000..72617044 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/builds.yaml @@ -0,0 +1,729 @@ +openapi: 3.0.0 +info: + title: builds API + description: netlify builds API + version: 2.57.0 +paths: + /sites/{site_id}/build_hooks: + get: + operationId: listSiteBuildHooks + tags: + - buildHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + post: + operationId: createSiteBuildHook + tags: + - buildHook + requestBody: + $ref: '#/components/requestBodies/createSiteBuildHookBuildhook' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/build_hooks/{id}: + get: + operationId: getSiteBuildHook + tags: + - buildHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + put: + operationId: updateSiteBuildHook + tags: + - buildHook + requestBody: + $ref: '#/components/requestBodies/createSiteBuildHookBuildhook' + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + delete: + operationId: deleteSiteBuildHook + tags: + - buildHook + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + /sites/{site_id}/builds: + get: + operationId: listSiteBuilds + tags: + - build + parameters: + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + deploy_id: + type: string + sha: + type: string + done: + type: boolean + error: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createSiteBuild + tags: + - build + description: > + Runs a build for a site. The build will be scheduled to run at the first + opportunity, but it might not start immediately if insufficient account + build capacity is available. + + + Files for build can be uploaded as a zipped site using one of these + methods: + + 1. Set Content-Type to 'application/zip' and send the zip file as the + raw request body + + 2. Set Content-Type to 'multipart/form-data' and include the zip file in + the 'zip' field + parameters: + - name: branch + description: >- + If no branch is specified, it is treated as a production deploy If a + branch IS specified and matches the main branch, it is also + production If a branch is specified and doesn't match the main + branch, it is a branch deploy + required: false + in: query + schema: + type: string + - name: clear_cache + description: Whether to clear the build cache before building + required: false + in: query + schema: + type: boolean + - name: image + description: The build image tag to use for the build + required: false + in: query + schema: + type: string + - name: template_id + description: The build template to use for the build + required: false + in: query + schema: + type: string + - name: title + description: The title of the build + required: false + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + zip: + description: > + A zip file containing the site files to build. + + Only used with Content-Type 'multipart/form-data'. + + Alternatively, set Content-Type to 'application/zip' and + send the zip as the raw request body (no 'zip' parameter + needed). + type: string + format: binary + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + deploy_id: + type: string + sha: + type: string + done: + type: boolean + error: + type: string + created_at: + type: string + format: dateTime + '400': + description: Bad Request + '404': + description: Not Found + '422': + description: Unprocessable Entity + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /builds/{build_id}: + get: + operationId: getSiteBuild + tags: + - build + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + deploy_id: + type: string + sha: + type: string + done: + type: boolean + error: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: build_id + in: path + required: true + schema: + type: string + /builds/{build_id}/log: + post: + operationId: updateSiteBuildLog + tags: + - buildLogMsg + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: build_id + in: path + required: true + schema: + type: string + /builds/{build_id}/start: + post: + operationId: notifyBuildStart + tags: + - build + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: build_id + in: path + required: true + schema: + type: string + - name: buildbot_version + in: query + required: false + schema: + type: string + - name: build_version + in: query + required: false + schema: + type: string + - name: task_id + in: query + required: false + schema: + type: string + /{account_id}/builds/status: + get: + operationId: getAccountBuildStatus + tags: + - build + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + active: + type: integer + pending_concurrency: + type: integer + enqueued: + type: integer + build_count: + type: integer + minutes: + type: object + properties: + current: + type: integer + current_average_sec: + type: integer + previous: + type: integer + period_start_date: + type: string + format: dateTime + period_end_date: + type: string + format: dateTime + last_updated_at: + type: string + format: dateTime + included_minutes: + type: string + included_minutes_with_packs: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: account_id + in: path + required: true + schema: + type: string +components: + requestBodies: + createSiteBuildHookBuildhook: + content: + application/json: + schema: + type: object + properties: + title: + type: string + branch: + type: string + required: true + schemas: {} + x-stackQL-resources: + build_hooks: + id: netlify.builds.build_hooks + name: build_hooks + title: Build Hooks + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1build_hooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1build_hooks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1build_hooks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/build_hooks/methods/get' + - $ref: '#/components/x-stackQL-resources/build_hooks/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/build_hooks/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/build_hooks/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/build_hooks/methods/update' + builds: + id: netlify.builds.builds + name: builds + title: Builds + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1builds/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1builds/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1builds~1{build_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_log: + operation: + $ref: '#/paths/~1builds~1{build_id}~1log/post' + response: + mediaType: application/json + openAPIDocKey: '204' + notify_start: + operation: + $ref: '#/paths/~1builds~1{build_id}~1start/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/builds/methods/list' + - $ref: '#/components/x-stackQL-resources/builds/methods/get' + insert: + - $ref: '#/components/x-stackQL-resources/builds/methods/create' + update: [] + delete: [] + replace: [] + build_status: + id: netlify.builds.build_status + name: build_status + title: Build Status + methods: + get: + operation: + $ref: '#/paths/~1{account_id}~1builds~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/build_status/methods/get' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/database.yaml b/providers/src/netlify/v00.00.00000/services/database.yaml new file mode 100644 index 00000000..b9d9bc36 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/database.yaml @@ -0,0 +1,1449 @@ +openapi: 3.0.0 +info: + title: database API + description: netlify database API + version: 2.57.0 +paths: + /sites/{site_id}/database: + post: + operationId: createSiteDatabase + tags: + - database + description: >- + Creates a new database for the specified site. If a database already + exists, returns the existing connection string. The database region + defaults to the site's functions region if not specified. + requestBody: + content: + application/json: + schema: + type: object + description: Request body for creating a database + properties: + region: + type: string + description: >- + The region where the database should be created. Defaults to + the site's functions region if not specified. + responses: + '200': + description: Database already exists + content: + application/json: + schema: + type: object + description: Response containing the database connection string + properties: + connection_string: + type: string + description: The connection string for the database + '201': + description: Created + content: + application/json: + schema: + type: object + description: Response containing the database connection string + properties: + connection_string: + type: string + description: The connection string for the database + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + get: + operationId: getSiteDatabase + tags: + - database + description: Returns the database connection string for the specified site. + parameters: + - name: role + in: query + description: >- + The database role to use for the connection string. Defaults to + netlifydb_owner if not specified. + schema: + type: string + enum: + - netlifydb_owner + - netlifydb_readonly + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response containing the database connection string + properties: + connection_string: + type: string + description: The connection string for the database + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSiteDatabase + tags: + - database + description: >- + Deletes the database and all associated branches and snapshots for the + specified site. + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/branch: + post: + operationId: createSiteDatabaseBranch + tags: + - database + description: >- + Creates a new database branch. If a branch already exists for the + specified branch ID, returns the existing connection string. + requestBody: + content: + application/json: + schema: + type: object + description: Request body for creating a database branch + required: + - branch_id + properties: + parent_branch_id: + type: string + description: >- + The ID of the parent branch to create the new branch from. + Defaults to the production branch if not specified. + branch_id: + type: string + description: The branch identifier + metadata: + type: object + description: Arbitrary metadata to associate with the branch + additionalProperties: true + required: true + responses: + '200': + description: Branch already exists + content: + application/json: + schema: + type: object + description: Response containing the database branch connection string + properties: + connection_string: + type: string + description: The connection string for the database branch + metadata: + type: object + description: Metadata associated with the branch + additionalProperties: true + '201': + description: Created + content: + application/json: + schema: + type: object + description: Response containing the database branch connection string + properties: + connection_string: + type: string + description: The connection string for the database branch + metadata: + type: object + description: Metadata associated with the branch + additionalProperties: true + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/branches: + get: + operationId: listSiteDatabaseBranches + tags: + - database + description: >- + Returns all branches for the site's database with compute status and + metadata. + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response containing a list of database branches + properties: + branches: + type: array + items: + type: object + description: Detailed information about a database branch + properties: + branch_id: + type: string + description: The branch identifier + name: + type: string + description: The branch name + connection_string: + type: string + description: The connection string for the branch + state: + type: string + description: The current state of the branch + enum: + - init + - creating + - resetting + - ready + - archived + logical_size_bytes: + type: integer + format: int64 + description: The logical size of the branch in bytes + created_at: + type: string + format: dateTime + description: When the branch was created + updated_at: + type: string + format: dateTime + description: When the branch was last updated + last_active_at: + type: string + format: dateTime + description: When the branch was last active + compute: + type: object + description: Compute endpoint status for a branch + properties: + current_state: + type: string + description: The current state of the compute endpoint + enum: + - active + - idle + autoscaling_limit_min_cu: + type: number + format: double + description: Minimum compute units for autoscaling + autoscaling_limit_max_cu: + type: number + format: double + description: Maximum compute units for autoscaling + suspend_timeout_seconds: + type: integer + format: int64 + description: >- + Seconds of inactivity before the compute + endpoint is suspended + last_active: + type: string + format: dateTime + description: When the compute endpoint was last active + metadata: + type: object + description: Metadata associated with the branch + additionalProperties: true + description: List of database branches + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/branch/{branch_id}: + get: + operationId: getSiteDatabaseBranch + tags: + - database + description: Returns the database branch connection string for a specific branch. + parameters: + - name: role + in: query + description: >- + The database role to use for the connection string. Defaults to + netlifydb_owner if not specified. + schema: + type: string + enum: + - netlifydb_owner + - netlifydb_readonly + - name: site_id + in: path + required: true + schema: + type: string + - name: branch_id + in: path + required: true + description: The branch ID + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response containing the database branch connection string + properties: + connection_string: + type: string + description: The connection string for the database branch + metadata: + type: object + description: Metadata associated with the branch + additionalProperties: true + '404': + description: Branch not found + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSiteDatabaseBranch + tags: + - database + description: Deletes a database branch. + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: branch_id + in: path + required: true + description: The branch ID + schema: + type: string + /sites/{site_id}/database/branch/{branch_id}/reset: + post: + operationId: resetSiteDatabaseBranch + tags: + - database + description: >- + Resets a non-production database branch by re-forking it from a source + branch (defaults to the production branch). If the target branch is + already in sync with the source, returns the existing connection string + without performing a reset, unless `force=true` is passed. The + production branch cannot be reset. + parameters: + - name: force + in: query + description: >- + If true, resets the branch even when it is already in sync with the + source. + schema: + type: boolean + - name: role + in: query + description: >- + The database role to use for the returned connection string. + Defaults to netlifydb_owner if not specified. + schema: + type: string + enum: + - netlifydb_owner + - netlifydb_readonly + - name: site_id + in: path + required: true + schema: + type: string + - name: branch_id + in: path + required: true + description: The branch ID to reset + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Request body for resetting a database branch + properties: + source_branch_id: + type: string + description: >- + The ID of the branch to re-fork the target branch from. + Defaults to "production" if not specified. + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response for a database branch reset + properties: + reset: + type: boolean + description: >- + Whether the branch was actually re-forked. False when the + target was already in sync with the source and + `force=true` was not set. + connection_string: + type: string + description: The connection string for the reset (or unchanged) branch + metadata: + type: object + description: Metadata associated with the branch + additionalProperties: true + '400': + description: >- + Invalid request — for example, the target is the production branch + or the source branch is the same as the target. + '404': + description: Database or branch not found + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/database/branch/{branch_id}/compute/settings: + put: + operationId: setSiteDatabaseBranchComputeSettings + tags: + - database + description: >- + Sets compute settings for a specific database branch, overriding + project-level settings. Requires a Pro or higher plan. + requestBody: + $ref: >- + #/components/requestBodies/setSiteDatabaseBranchComputeSettingsComputesettings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Compute settings for a database or branch + properties: + min_cu: + type: number + format: double + description: Minimum compute units + max_cu: + type: number + format: double + description: Maximum compute units + sleep_timeout_seconds: + type: integer + format: int64 + description: Seconds of inactivity before suspension + '403': + description: Compute customization requires a Pro or higher plan + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: branch_id + in: path + required: true + description: The branch ID + schema: + type: string + /sites/{site_id}/database/compute/settings: + put: + operationId: setSiteDatabaseComputeSettings + tags: + - database + description: >- + Sets project-level compute settings for the database. Applied to new + branches. Can be overridden per-branch. Requires a Pro or higher plan. + requestBody: + $ref: >- + #/components/requestBodies/setSiteDatabaseBranchComputeSettingsComputesettings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Compute settings for a database or branch + properties: + min_cu: + type: number + format: double + description: Minimum compute units + max_cu: + type: number + format: double + description: Maximum compute units + sleep_timeout_seconds: + type: integer + format: int64 + description: Seconds of inactivity before suspension + '403': + description: Compute customization requires a Pro or higher plan + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + get: + operationId: getSiteDatabaseComputeSettings + tags: + - database + description: >- + Returns the project-level compute settings for the database. Returns + effective settings (custom or tier defaults). Requires a Pro or higher + plan. + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Compute settings for a database or branch + properties: + min_cu: + type: number + format: double + description: Minimum compute units + max_cu: + type: number + format: double + description: Maximum compute units + sleep_timeout_seconds: + type: integer + format: int64 + description: Seconds of inactivity before suspension + '403': + description: Compute customization requires a Pro or higher plan + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + delete: + operationId: clearSiteDatabaseComputeSettings + tags: + - database + description: >- + Resets project-level compute settings to tier defaults. Requires a Pro + or higher plan. + responses: + '204': + description: Cleared + '403': + description: Compute customization requires a Pro or higher plan + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/migrations: + get: + operationId: listSiteDatabaseMigrations + tags: + - database + description: >- + Returns the list of migrations available for the specified branch, + indicating which ones have been applied to the database. + parameters: + - name: branch + in: query + description: >- + The branch ID to list migrations for. Defaults to "production" if + not specified. + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response containing the list of migrations for a branch + properties: + migrations: + type: array + items: + type: object + description: A migration available to a database branch + properties: + version: + type: integer + format: int64 + description: The migration version number + name: + type: string + description: The migration name + path: + type: string + description: The path to the migration file in the deploy bundle + applied: + type: boolean + description: >- + Whether this migration has been applied to the + branch + description: List of migrations + '404': + description: Database or branch not found + '423': + description: Database is disabled + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/database/migrations/{name}: + get: + operationId: getSiteDatabaseMigration + tags: + - database + description: Returns the contents of a named migration for the specified branch. + parameters: + - name: branch + in: query + description: >- + The branch ID to look up the migration on. Defaults to the currently + published deploy's branch. + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + - name: name + in: path + required: true + description: The migration name + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: A migration with its file contents + properties: + version: + type: integer + format: int64 + description: The migration version number + name: + type: string + description: The migration name + path: + type: string + description: The path to the migration file in the deploy bundle + content: + type: string + description: The raw contents of the migration file + '404': + description: Migration, database, or branch not found + '423': + description: Database is disabled + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/database/migrations/{deploy_id}: + post: + operationId: runSiteDatabaseMigrations + tags: + - database + description: >- + Runs database migrations for the specified deploy. Finds the deploy and + determines the appropriate branch. + requestBody: + content: + application/json: + schema: + type: object + description: Request body for running database migrations + properties: + dry_run: + type: boolean + description: If true, validates migrations without applying them. + responses: + '200': + description: OK + '409': + description: >- + Migration conflict - migration modified or removed after being + applied + '422': + description: Migration validation failed + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy_id + in: path + required: true + description: The deploy ID to run migrations for + schema: + type: string + /sites/{site_id}/database/snapshot: + post: + operationId: createSiteDatabaseSnapshot + tags: + - database + description: >- + Creates a point-in-time snapshot of a database branch. Defaults to the + production branch if no branch name is specified. + requestBody: + content: + application/json: + schema: + type: object + description: Request body for creating a database snapshot + properties: + branch_id: + type: string + description: >- + The ID of the branch to snapshot. Defaults to "production" + if not specified. + name: + type: string + description: A name for the snapshot + metadata: + type: object + description: Metadata associated with a snapshot + properties: + deploy: + type: object + description: Deploy information associated with the snapshot + additionalProperties: true + source: + type: string + description: The source that created the snapshot + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + description: A point-in-time snapshot of a database branch + properties: + id: + type: string + description: The unique identifier of the snapshot + source_branch_id: + type: string + description: The ID of the branch that was snapshotted + manual: + type: boolean + description: Whether this snapshot was manually created + created_at: + type: string + format: dateTime + description: When the snapshot was created + expires_at: + type: string + format: dateTime + description: When the snapshot expires + timestamp: + type: string + format: dateTime + description: The point-in-time timestamp of the snapshot + metadata: + type: object + description: Metadata associated with a snapshot + properties: + deploy: + type: object + description: Deploy information associated with the snapshot + additionalProperties: true + source: + type: string + description: The source that created the snapshot + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/snapshots: + get: + operationId: listSiteDatabaseSnapshots + tags: + - database + description: Returns all snapshots for the site's database. + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: Response containing a list of database snapshots + properties: + snapshots: + type: array + items: + type: object + description: A point-in-time snapshot of a database branch + properties: + id: + type: string + description: The unique identifier of the snapshot + source_branch_id: + type: string + description: The ID of the branch that was snapshotted + manual: + type: boolean + description: Whether this snapshot was manually created + created_at: + type: string + format: dateTime + description: When the snapshot was created + expires_at: + type: string + format: dateTime + description: When the snapshot expires + timestamp: + type: string + format: dateTime + description: The point-in-time timestamp of the snapshot + metadata: + type: object + description: Metadata associated with a snapshot + properties: + deploy: + type: object + description: Deploy information associated with the snapshot + additionalProperties: true + source: + type: string + description: The source that created the snapshot + description: List of database snapshots + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/database/snapshot/{snapshot_id}: + delete: + operationId: deleteSiteDatabaseSnapshot + tags: + - database + description: Deletes a database snapshot. + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: snapshot_id + in: path + required: true + description: The snapshot ID + schema: + type: string + /sites/{site_id}/database/snapshot/{snapshot_id}/restore: + post: + operationId: restoreSiteDatabaseSnapshot + tags: + - database + description: >- + Restores a snapshot to a database branch. Defaults to the production + branch if no branch_name is specified. + requestBody: + content: + application/json: + schema: + type: object + description: Request body for restoring a database snapshot + properties: + branch_id: + type: string + description: >- + The ID of the branch to restore the snapshot to. Defaults to + "production" if not specified. + responses: + '200': + description: OK + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: snapshot_id + in: path + required: true + description: The snapshot ID to restore + schema: + type: string +components: + requestBodies: + setSiteDatabaseBranchComputeSettingsComputesettings: + content: + application/json: + schema: + type: object + description: >- + Request body for setting compute settings. All fields are + optional; only provided fields are updated. + properties: + min_cu: + type: number + format: double + minimum: 0.25 + maximum: 16 + description: >- + Minimum compute units (0.25 to 16.0). Must be less than or + equal to max_cu. + nullable: true + max_cu: + type: number + format: double + minimum: 0.25 + maximum: 16 + description: >- + Maximum compute units (0.25 to 16.0). Must be greater than or + equal to min_cu. max_cu - min_cu must not exceed 8.0. + nullable: true + sleep_timeout_seconds: + type: integer + format: int64 + minimum: -1 + description: >- + Seconds of inactivity before the compute endpoint is + suspended. Use -1 for always on, or a non-negative value. + nullable: true + required: true + x-stackQL-resources: + databases: + id: netlify.database.databases + name: databases + title: Databases + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1database/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/databases/methods/get' + insert: + - $ref: '#/components/x-stackQL-resources/databases/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/databases/methods/delete' + replace: [] + branches: + id: netlify.database.branches + name: branches + title: Branches + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1branch/post' + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1branches/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.branches + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1branch~1{branch_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1branch~1{branch_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + reset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1database~1branch~1{branch_id}~1reset/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/branches/methods/get' + - $ref: '#/components/x-stackQL-resources/branches/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/branches/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/branches/methods/delete' + replace: [] + compute_settings: + id: netlify.database.compute_settings + name: compute_settings + title: Compute Settings + methods: + set_for_branch: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1database~1branch~1{branch_id}~1compute~1settings/put + response: + mediaType: application/json + openAPIDocKey: '200' + set: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1compute~1settings/put' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1compute~1settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + clear: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1compute~1settings/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/compute_settings/methods/get' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/compute_settings/methods/clear' + replace: + - $ref: >- + #/components/x-stackQL-resources/compute_settings/methods/set_for_branch + - $ref: '#/components/x-stackQL-resources/compute_settings/methods/set' + migrations: + id: netlify.database.migrations + name: migrations + title: Migrations + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1migrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.migrations + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1migrations~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + run: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1migrations~1{deploy_id}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/migrations/methods/get' + - $ref: '#/components/x-stackQL-resources/migrations/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + snapshots: + id: netlify.database.snapshots + name: snapshots + title: Snapshots + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1snapshot/post' + response: + mediaType: application/json + openAPIDocKey: '201' + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1database~1snapshots/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.snapshots + delete: + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1database~1snapshot~1{snapshot_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + restore: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1database~1snapshot~1{snapshot_id}~1restore/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/snapshots/methods/delete' + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/deploy.yaml b/providers/src/netlify/v00.00.00000/services/deploy.yaml deleted file mode 100644 index 3c36c8b0..00000000 --- a/providers/src/netlify/v00.00.00000/services/deploy.yaml +++ /dev/null @@ -1,576 +0,0 @@ -paths: - /deploys/{deploy_id}: - get: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: getDeploy - /deploys/{deploy_id}/cancel: - post: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: Cancelled - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: cancelSiteDeploy - /deploys/{deploy_id}/lock: - post: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: lockDeploy - /deploys/{deploy_id}/unlock: - post: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: unlockDeploy - /sites/{site_id}/deploys: - get: - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/deploy' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: listSiteDeploys - post: - parameters: *ref_0 - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: createSiteDeploy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/deployFiles' - required: true - /sites/{site_id}/deploys/{deploy_id}: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: getSiteDeploy - put: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: updateSiteDeploy - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/deployFiles' - required: true - /sites/{site_id}/deploys/{deploy_id}/restore: - post: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: deploy_id - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/deploy' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: restoreSiteDeploy - /sites/{site_id}/rollback: - put: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - deploy - operationId: rollbackSiteDeploy - parameters: - - in: path - name: site_id - required: true - schema: - type: string -components: - schemas: - deploy: - properties: - admin_url: - type: string - branch: - type: string - build_id: - type: string - commit_ref: - type: string - commit_url: - type: string - context: - type: string - created_at: - format: dateTime - type: string - deploy_ssl_url: - type: string - deploy_url: - type: string - draft: - type: boolean - error_message: - type: string - framework: - type: string - function_schedules: - items: - $ref: '#/components/schemas/functionSchedule' - type: array - id: - type: string - locked: - type: boolean - name: - type: string - published_at: - format: dateTime - type: string - required: - items: - type: string - type: array - required_functions: - items: - type: string - type: array - review_id: - type: number - review_url: - type: string - screenshot_url: - type: string - site_capabilities: - properties: - large_media_enabled: - type: boolean - type: object - site_id: - type: string - skipped: - type: boolean - ssl_url: - type: string - state: - type: string - title: - type: string - updated_at: - format: dateTime - type: string - url: - type: string - user_id: - type: string - type: object - functionSchedule: - properties: - cron: - type: string - name: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - deployFiles: - properties: - async: - type: boolean - branch: - type: string - draft: - type: boolean - files: - type: object - framework: - type: string - function_schedules: - items: - $ref: '#/components/schemas/functionSchedule' - type: array - functions: - type: object - type: object - parameters: - page: - in: query - name: page - required: false - schema: - format: int32 - type: integer - perPage: - in: query - name: per_page - required: false - schema: - format: int32 - type: integer - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - deploys: - id: netlify.deploy.deploys - name: deploys - title: Deploys - methods: - getDeploy: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/deploys/methods/getDeploy' - insert: [] - update: [] - delete: [] - deploys_cancel: - id: netlify.deploy.deploys_cancel - name: deploys_cancel - title: Deploys_cancel - methods: - cancelSiteDeploy: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}~1cancel/post' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - deploys_lock: - id: netlify.deploy.deploys_lock - name: deploys_lock - title: Deploys_lock - methods: - lockDeploy: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}~1lock/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - deploys_unlock: - id: netlify.deploy.deploys_unlock - name: deploys_unlock - title: Deploys_unlock - methods: - unlockDeploy: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}~1unlock/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_deploys: - id: netlify.deploy.sites_deploys - name: sites_deploys - title: Sites_deploys - methods: - listSiteDeploys: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deploys/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteDeploy: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deploys/post' - response: - mediaType: application/json - openAPIDocKey: '200' - getSiteDeploy: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSiteDeploy: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_deploys/methods/getSiteDeploy' - - $ref: '#/components/x-stackQL-resources/sites_deploys/methods/listSiteDeploys' - insert: - - $ref: '#/components/x-stackQL-resources/sites_deploys/methods/createSiteDeploy' - update: [] - delete: [] - sites_deploys_restore: - id: netlify.deploy.sites_deploys_restore - name: sites_deploys_restore - title: Sites_deploys_restore - methods: - restoreSiteDeploy: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}~1restore/post' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_rollback: - id: netlify.deploy.sites_rollback - name: sites_rollback - title: Sites_rollback - methods: - rollbackSiteDeploy: - operation: - $ref: '#/paths/~1sites~1{site_id}~1rollback/put' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: deploy - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - deploy - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/deploy_key.yaml b/providers/src/netlify/v00.00.00000/services/deploy_key.yaml deleted file mode 100644 index 0e7e33a3..00000000 --- a/providers/src/netlify/v00.00.00000/services/deploy_key.yaml +++ /dev/null @@ -1,214 +0,0 @@ -paths: - /deploy_keys: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/deployKey' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deployKey - operationId: listDeployKeys - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/deployKey' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - deployKey - operationId: createDeployKey - /deploy_keys/{key_id}: - delete: - responses: - '204': - description: Not Content - default: - $ref: '#/components/responses/error' - tags: - - deployKey - operationId: deleteDeployKey - parameters: &ref_0 - - in: path - name: key_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/deployKey' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deployKey - operationId: getDeployKey - parameters: *ref_0 -components: - schemas: - deployKey: - properties: - created_at: - format: dateTime - type: string - id: - type: string - public_key: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - deploy_keys: - id: netlify.deploy_key.deploy_keys - name: deploy_keys - title: Deploy_keys - methods: - listDeployKeys: - operation: - $ref: '#/paths/~1deploy_keys/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createDeployKey: - operation: - $ref: '#/paths/~1deploy_keys/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteDeployKey: - operation: - $ref: '#/paths/~1deploy_keys~1{key_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getDeployKey: - operation: - $ref: '#/paths/~1deploy_keys~1{key_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/getDeployKey' - - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/listDeployKeys' - insert: - - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/createDeployKey' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/deleteDeployKey' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: deployKey - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - deploy_key - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/deployed_branch.yaml b/providers/src/netlify/v00.00.00000/services/deployed_branch.yaml deleted file mode 100644 index eeb678cb..00000000 --- a/providers/src/netlify/v00.00.00000/services/deployed_branch.yaml +++ /dev/null @@ -1,161 +0,0 @@ -paths: - /sites/{site_id}/deployed-branches: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/deployedBranch' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - deployedBranch - operationId: listSiteDeployedBranches - parameters: - - in: path - name: site_id - required: true - schema: - type: string -components: - schemas: - deployedBranch: - properties: - deploy_id: - type: string - id: - type: string - name: - type: string - slug: - type: string - ssl_url: - type: string - url: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_deployed_branches: - id: netlify.deployed_branch.sites_deployed_branches - name: sites_deployed_branches - title: Sites_deployed_branches - methods: - listSiteDeployedBranches: - operation: - $ref: '#/paths/~1sites~1{site_id}~1deployed-branches/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_deployed_branches/methods/listSiteDeployedBranches' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: deployedBranch - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - deployed_branch - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/deploys.yaml b/providers/src/netlify/v00.00.00000/services/deploys.yaml new file mode 100644 index 00000000..425f8b3f --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/deploys.yaml @@ -0,0 +1,2213 @@ +openapi: 3.0.0 +info: + title: deploys API + description: netlify deploys API + version: 2.57.0 +paths: + /sites/{site_id}/deploys: + get: + operationId: listSiteDeploys + tags: + - deploy + parameters: + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy-previews + in: query + schema: + type: boolean + - name: production + in: query + schema: + type: boolean + - name: state + in: query + schema: + type: string + enum: + - new + - pending_review + - accepted + - rejected + - enqueued + - building + - uploading + - uploaded + - preparing + - prepared + - processing + - processed + - ready + - error + - retrying + - name: branch + in: query + schema: + type: string + - name: latest-published + in: query + schema: + type: boolean + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createSiteDeploy + tags: + - deploy + parameters: + - name: title + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy-previews + in: query + schema: + type: boolean + - name: production + in: query + schema: + type: boolean + - name: state + in: query + schema: + type: string + enum: + - new + - pending_review + - accepted + - rejected + - enqueued + - building + - uploading + - uploaded + - preparing + - prepared + - processing + - processed + - ready + - error + - retrying + - name: branch + in: query + schema: + type: string + - name: latest-published + in: query + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/createSiteDeployDeploy' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/deploys/{deploy_id}: + get: + operationId: getSiteDeploy + tags: + - deploy + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + put: + operationId: updateSiteDeploy + tags: + - deploy + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy_id + in: path + required: true + schema: + type: string + - name: commit_ref + in: query + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/createSiteDeployDeploy' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSiteDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/cancel: + post: + operationId: cancelSiteDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '201': + description: Cancelled + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/deploys/{deploy_id}/restore: + post: + operationId: restoreSiteDeploy + tags: + - deploy + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/rollback: + put: + operationId: rollbackSiteDeploy + tags: + - deploy + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /deploys/{deploy_id}: + get: + operationId: getDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/validations_report: + patch: + operationId: updateDeployValidations + tags: + - deploy + description: Updates the deploy validations report for a deploy. + x-internal: true + x-controller: api/v1/deploys + x-action: validations_report + parameters: + - name: deploy_id + description: The ID of the deploy + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + secrets_scan: + type: string + description: (opaque JSON object) + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: The id of the deploy validations report + deploy_id: + type: string + description: The id of the deploy + secret_scan_result: + type: object + properties: + scannedFilesCount: + type: integer + description: The number of files scanned + secretsScanMatches: + type: array + items: + type: string + description: The list of secrets scan matches + /deploys/{deploy_id}/lock: + post: + operationId: lockDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/unlock: + post: + operationId: unlockDeploy + tags: + - deploy + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/files/{path}: + put: + operationId: uploadDeployFile + tags: + - file + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + - name: path + in: path + required: true + schema: + type: string + - name: size + in: query + schema: + type: integer + requestBody: + content: + application/octet-stream: + schema: + $ref: '#/components/schemas/stackqlDeploysUploadFileBody' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + path: + type: string + sha: + type: string + mime_type: + type: string + size: + type: integer + format: int64 + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/functions/{name}: + put: + operationId: uploadDeployFunction + tags: + - function + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + - name: name + in: path + required: true + schema: + type: string + - name: runtime + in: query + schema: + type: string + - name: invocation_mode + in: query + schema: + type: string + - name: timeout + in: query + schema: + type: integer + - name: size + in: query + schema: + type: integer + - name: X-Nf-Retry-Count + in: header + schema: + type: integer + requestBody: + content: + application/octet-stream: + schema: + $ref: '#/components/schemas/stackqlDeploysUploadFunctionBody' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + sha: + type: string + region: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploys/{deploy_id}/edge_functions/{code_sha}: + put: + operationId: uploadDeployEdgeFunction + tags: + - edgeFunction + parameters: + - name: deploy_id + in: path + required: true + schema: + type: string + - name: code_sha + in: path + required: true + schema: + type: string + - name: X-Nf-Retry-Count + in: header + schema: + type: integer + requestBody: + content: + application/octet-stream: + schema: + $ref: '#/components/schemas/stackqlDeploysUploadEdgeFunctionBody' + required: true + responses: + '200': + description: OK + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploy_keys: + get: + operationId: listDeployKeys + tags: + - deployKey + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + public_key: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createDeployKey + tags: + - deployKey + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + public_key: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /deploy_keys/{key_id}: + get: + operationId: getDeployKey + tags: + - deployKey + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + public_key: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: key_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteDeployKey + tags: + - deployKey + responses: + '204': + description: Not Content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: key_id + in: path + required: true + schema: + type: string +components: + requestBodies: + createSiteDeployDeploy: + content: + application/json: + schema: + type: object + description: | + Deploy files can be provided in two ways: + 1. As a JSON object using 'files' (a hash mapping file paths to SHA1 digests), OR + 2. As a zip file using one of these methods: + - Set Content-Type to 'application/zip' and send the zip file as the raw request body + - Include the zip file content in the 'zip' field of this JSON object with Content-Type 'application/json' + properties: + files: + type: string + description: A hash mapping file paths to SHA1 digests of the file contents. (opaque JSON object) + zip: + type: string + format: binary + description: | + A zip file containing the site files to deploy. Alternative to 'files'. + To use this field, set Content-Type to 'application/json' and include the zip content here. + Alternatively, you can set Content-Type to 'application/zip' and send the zip as the raw request body (not as JSON). + draft: + type: boolean + async: + type: boolean + functions: + type: string + description: (opaque JSON object) + edge_functions: + type: string + description: |- + A hash mapping edge-function bundle formats to the code_sha of each bundle. The + response's required_edge_functions lists which of these still need to be uploaded. + (opaque JSON object) + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_config: + type: object + additionalProperties: + type: object + properties: + display_name: + type: string + generator: + type: string + build_data: + type: string + description: (opaque JSON object) + memory: + type: integer + description: | + The function's memory allocation in MB. Mutually exclusive with `vcpu`. + routes: + type: array + items: + type: object + properties: + pattern: + type: string + literal: + type: string + expression: + type: string + methods: + type: array + items: + type: string + enum: + - GET + - POST + - PUT + - PATCH + - DELETE + - OPTIONS + prefer_static: + type: boolean + excluded_routes: + type: array + items: + type: object + properties: + pattern: + type: string + literal: + type: string + expression: + type: string + priority: + type: integer + region: + type: string + traffic_rules: + type: object + properties: + action: + type: object + properties: + type: + type: string + config: + type: object + properties: + to: + type: string + rate_limit_config: + type: object + properties: + algorithm: + type: string + enum: + - sliding_window + window_size: + type: integer + window_limit: + type: integer + aggregate: + type: object + properties: + keys: + type: array + items: + type: object + properties: + type: + type: string + enum: + - ip + - domain + vcpu: + type: number + format: float + description: | + Number of vCPUs to provision for the function. Allowed range is + 0.5–2. + event_subscriptions: + type: array + items: + type: string + branch: + type: string + framework: + type: string + framework_version: + type: string + environment: + description: | + A list of deploy-specific environment variable data. Data specified this way applies only + to this specific deploy and is merged into any existing environment variables set on the + account and site. + + Deploy-specific environment variable data takes precedence over account and site + environment variable data: For example, a deploy-specific variable with the key `NODE_ENV` + will take priority over any existing site- and account-level environment variable data + with the key `NODE_ENV`. + + Environment variable data may be provided at one of two times: + + - When creating a new Deploy with deploy files (most common) + - When finalizing an existing Deploy with deploy files + + Once set, environment variables for a specific deploy cannot be modified. Subsequent + attempts to modify environment variable data for a deploy will be ignored. + type: array + items: + type: object + required: + - key + - value + - scopes + - is_secret + properties: + key: + type: string + value: + type: string + is_secret: + type: boolean + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + required: true + uploadDeployFileFileBody: + content: + application/octet-stream: + schema: + type: string + format: binary + required: true + schemas: + stackqlDeploysUploadFileBody: + type: object + required: + - file_body + properties: + file_body: + type: string + x-stackQL-stringOnly: true + description: Raw file contents sent as the application/octet-stream request body. + stackqlDeploysUploadFunctionBody: + type: object + required: + - file_body + properties: + file_body: + type: string + x-stackQL-stringOnly: true + description: Raw zipped function bundle sent as the application/octet-stream request body. + stackqlDeploysUploadEdgeFunctionBody: + type: object + required: + - file_body + properties: + file_body: + type: string + x-stackQL-stringOnly: true + description: Raw edge function bundle sent as the application/octet-stream request body. + x-stackQL-resources: + deploys: + id: netlify.deploys.deploys + name: deploys + title: Deploys + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + cancel: + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1cancel/post' + response: + mediaType: application/json + openAPIDocKey: '201' + restore: + operation: + $ref: '#/paths/~1sites~1{site_id}~1deploys~1{deploy_id}~1restore/post' + response: + mediaType: application/json + openAPIDocKey: '201' + rollback: + operation: + $ref: '#/paths/~1sites~1{site_id}~1rollback/put' + response: + mediaType: application/json + openAPIDocKey: '204' + get_by_id: + operation: + $ref: '#/paths/~1deploys~1{deploy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_by_id: + operation: + $ref: '#/paths/~1deploys~1{deploy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + update_validations_report: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1validations_report/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + lock: + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1lock/post' + response: + mediaType: application/json + openAPIDocKey: '200' + unlock: + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1unlock/post' + response: + mediaType: application/json + openAPIDocKey: '200' + upload_file: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1files~1{path}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + mediaType: application/octet-stream + required: + - file_body + schema_override: + $ref: '#/components/schemas/stackqlDeploysUploadFileBody' + transform: + type: golang_template_json_v0.1.0 + body: '{{ .file_body }}' + upload_function: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1functions~1{name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + mediaType: application/octet-stream + required: + - file_body + schema_override: + $ref: '#/components/schemas/stackqlDeploysUploadFunctionBody' + transform: + type: golang_template_json_v0.1.0 + body: '{{ .file_body }}' + upload_edge_function: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1deploys~1{deploy_id}~1edge_functions~1{code_sha}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + mediaType: application/octet-stream + required: + - file_body + schema_override: + $ref: '#/components/schemas/stackqlDeploysUploadEdgeFunctionBody' + transform: + type: golang_template_json_v0.1.0 + body: '{{ .file_body }}' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deploys/methods/get' + - $ref: '#/components/x-stackQL-resources/deploys/methods/list' + - $ref: '#/components/x-stackQL-resources/deploys/methods/get_by_id' + insert: + - $ref: '#/components/x-stackQL-resources/deploys/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/deploys/methods/delete' + - $ref: '#/components/x-stackQL-resources/deploys/methods/delete_by_id' + replace: + - $ref: '#/components/x-stackQL-resources/deploys/methods/update' + deploy_keys: + id: netlify.deploys.deploy_keys + name: deploy_keys + title: Deploy Keys + methods: + list: + operation: + $ref: '#/paths/~1deploy_keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1deploy_keys/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1deploy_keys~1{key_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1deploy_keys~1{key_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/get' + - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/deploy_keys/methods/delete' + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/dev_servers.yaml b/providers/src/netlify/v00.00.00000/services/dev_servers.yaml new file mode 100644 index 00000000..8a0ac550 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/dev_servers.yaml @@ -0,0 +1,705 @@ +openapi: 3.0.0 +info: + title: dev_servers API + description: netlify dev_servers API + version: 2.57.0 +paths: + /sites/{site_id}/dev_servers: + get: + operationId: listSiteDevServers + tags: + - devServer + parameters: + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + branch: + type: string + url: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + starting_at: + type: string + format: dateTime + error_at: + type: string + format: dateTime + live_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createSiteDevServer + tags: + - devServer + parameters: + - name: branch + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + branch: + type: string + url: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + starting_at: + type: string + format: dateTime + error_at: + type: string + format: dateTime + live_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSiteDevServers + tags: + - devServer + parameters: + - name: branch + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '202': + description: OK + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/dev_servers/{dev_server_id}: + get: + operationId: getSiteDevServer + tags: + - devServer + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + branch: + type: string + url: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + starting_at: + type: string + format: dateTime + error_at: + type: string + format: dateTime + live_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: dev_server_id + in: path + required: true + schema: + type: string + /sites/{site_id}/dev_servers/{dev_server_id}/activity: + post: + x-internal: true + operationId: markDevServerActivity + tags: + - devServer + responses: + '200': + description: OK + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: dev_server_id + in: path + required: true + schema: + type: string + /sites/{site_id}/dev_servers/{dev_server_id}/state: + post: + operationId: updateDevServerState + tags: + - devServer + requestBody: + content: + application/json: + schema: + type: object + required: + - state + properties: + state: + type: string + enum: + - starting + - live + - error + - done + task_id: + type: string + error: + type: string + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + branch: + type: string + url: + type: string + state: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + starting_at: + type: string + format: dateTime + error_at: + type: string + format: dateTime + live_at: + type: string + format: dateTime + done_at: + type: string + format: dateTime + title: + type: string + '409': + description: Conflict + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: dev_server_id + in: path + required: true + schema: + type: string + /sites/{site_id}/dev_server_hooks: + get: + operationId: listSiteDevServerHooks + tags: + - devServerHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + type: + type: string + enum: + - new_dev_server + - content_refresh + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + post: + operationId: createSiteDevServerHook + tags: + - devServerHook + requestBody: + $ref: '#/components/requestBodies/createSiteDevServerHookDevserverhook' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + type: + type: string + enum: + - new_dev_server + - content_refresh + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/dev_server_hooks/{id}: + get: + operationId: getSiteDevServerHook + tags: + - devServerHook + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + title: + type: string + branch: + type: string + url: + type: string + site_id: + type: string + created_at: + type: string + format: dateTime + type: + type: string + enum: + - new_dev_server + - content_refresh + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + put: + operationId: updateSiteDevServerHook + tags: + - devServerHook + requestBody: + $ref: '#/components/requestBodies/createSiteDevServerHookDevserverhook' + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + delete: + operationId: deleteSiteDevServerHook + tags: + - devServerHook + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string +components: + requestBodies: + createSiteDevServerHookDevserverhook: + content: + application/json: + schema: + type: object + properties: + title: + type: string + branch: + type: string + type: + type: string + enum: + - new_dev_server + - content_refresh + required: true + schemas: {} + x-stackQL-resources: + dev_servers: + id: netlify.dev_servers.dev_servers + name: dev_servers + title: Dev Servers + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_servers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_servers/post' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_servers/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_servers~1{dev_server_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + mark_activity: + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1dev_servers~1{dev_server_id}~1activity/post + response: + mediaType: application/json + openAPIDocKey: '200' + update_state: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1dev_servers~1{dev_server_id}~1state/post + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dev_servers/methods/get' + - $ref: '#/components/x-stackQL-resources/dev_servers/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/dev_servers/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dev_servers/methods/delete' + replace: [] + dev_server_hooks: + id: netlify.dev_servers.dev_server_hooks + name: dev_server_hooks + title: Dev Server Hooks + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_server_hooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_server_hooks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_server_hooks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_server_hooks~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dev_server_hooks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dev_server_hooks/methods/get' + - $ref: '#/components/x-stackQL-resources/dev_server_hooks/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/dev_server_hooks/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dev_server_hooks/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/dev_server_hooks/methods/update' +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/dns.yaml b/providers/src/netlify/v00.00.00000/services/dns.yaml new file mode 100644 index 00000000..73275f36 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/dns.yaml @@ -0,0 +1,811 @@ +openapi: 3.0.0 +info: + title: dns API + description: netlify dns API + version: 2.57.0 +paths: + /dns_zones: + post: + operationId: createDnsZone + tags: + - dnsZone + requestBody: + content: + application/json: + schema: + type: object + properties: + account_slug: + type: string + site_id: + type: string + name: + type: string + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + get: + operationId: getDnsZones + tags: + - dnsZone + parameters: + - name: account_slug + in: query + required: false + schema: + type: string + responses: + '200': + description: get all DNS zones the user has access to + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /dns_zones/{zone_id}: + get: + operationId: getDnsZone + tags: + - dnsZone + responses: + '200': + description: get a single DNS zone + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteDnsZone + tags: + - dnsZone + responses: + '204': + description: delete a single DNS zone + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + /dns_zones/{zone_id}/transfer: + put: + operationId: transferDnsZone + tags: + - dnsZone + responses: + '200': + description: transfer a DNS zone to another account + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + - name: account_id + in: query + description: the account of the dns zone + required: true + schema: + type: string + - name: transfer_account_id + in: query + description: the account you want to transfer the dns zone to + required: true + schema: + type: string + - name: transfer_user_id + in: query + description: the user you want to transfer the dns zone to + required: true + schema: + type: string + /dns_zones/{zone_id}/dns_records: + get: + operationId: getDnsRecords + tags: + - dnsZone + responses: + '200': + description: get all DNS records for a single DNS zone + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + post: + operationId: createDnsRecord + tags: + - dnsZone + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + hostname: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + weight: + type: integer + format: int64 + port: + type: integer + format: int64 + flag: + type: integer + format: int64 + tag: + type: string + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + /dns_zones/{zone_id}/dns_records/{dns_record_id}: + get: + operationId: getIndividualDnsRecord + tags: + - dnsZone + responses: + '200': + description: get a single DNS record + content: + application/json: + schema: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + - name: dns_record_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteDnsRecord + tags: + - dnsZone + responses: + '204': + description: record deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: zone_id + in: path + required: true + schema: + type: string + - name: dns_record_id + in: path + required: true + schema: + type: string +components: + schemas: {} + x-stackQL-resources: + dns_zones: + id: netlify.dns.dns_zones + name: dns_zones + title: Dns Zones + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1dns_zones/post' + response: + mediaType: application/json + openAPIDocKey: '201' + list: + operation: + $ref: '#/paths/~1dns_zones/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + transfer: + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}~1transfer/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/get' + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dns_zones/methods/delete' + replace: [] + dns_records: + id: netlify.dns.dns_records + name: dns_records + title: Dns Records + methods: + list: + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records~1{dns_record_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: >- + #/paths/~1dns_zones~1{zone_id}~1dns_records~1{dns_record_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/get' + - $ref: '#/components/x-stackQL-resources/dns_records/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/delete' + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/dns_zone.yaml b/providers/src/netlify/v00.00.00000/services/dns_zone.yaml deleted file mode 100644 index 1090f1a6..00000000 --- a/providers/src/netlify/v00.00.00000/services/dns_zone.yaml +++ /dev/null @@ -1,557 +0,0 @@ -paths: - /dns_zones: - get: - parameters: - - in: query - name: account_slug - required: false - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsZones' - description: get all DNS zones the user has access to - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: getDnsZones - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsZone' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: createDnsZone - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/dnsZoneSetup' - required: true - /dns_zones/{zone_id}: - delete: - responses: - '204': - description: delete a single DNS zone - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: deleteDnsZone - parameters: &ref_0 - - in: path - name: zone_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsZone' - description: get a single DNS zone - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: getDnsZone - parameters: *ref_0 - /dns_zones/{zone_id}/dns_records: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsRecords' - description: get all DNS records for a single DNS zone - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: getDnsRecords - parameters: &ref_1 - - in: path - name: zone_id - required: true - schema: - type: string - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsRecord' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: createDnsRecord - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/dnsRecordCreate' - required: true - parameters: *ref_1 - /dns_zones/{zone_id}/dns_records/{dns_record_id}: - delete: - responses: - '204': - description: record deleted - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: deleteDnsRecord - parameters: &ref_2 - - in: path - name: zone_id - required: true - schema: - type: string - - in: path - name: dns_record_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsRecord' - description: get a single DNS record - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: getIndividualDnsRecord - parameters: *ref_2 - /dns_zones/{zone_id}/transfer: - put: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/dnsZone' - description: transfer a DNS zone to another account - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: transferDnsZone - parameters: - - in: path - name: zone_id - required: true - schema: - type: string - - description: the account of the dns zone - in: query - name: account_id - required: true - schema: - type: string - - description: the account you want to transfer the dns zone to - in: query - name: transfer_account_id - required: true - schema: - type: string - - description: the user you want to transfer the dns zone to - in: query - name: transfer_user_id - required: true - schema: - type: string - /sites/{site_id}/dns: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/dnsZone' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: getDNSForSite - parameters: &ref_3 - - in: path - name: site_id - required: true - schema: - type: string - put: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/dnsZone' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - dnsZone - operationId: configureDNSForSite - parameters: *ref_3 -components: - schemas: - dnsZones: - items: - $ref: '#/components/schemas/dnsZone' - type: array - dnsZone: - properties: - account_id: - type: string - account_name: - type: string - account_slug: - type: string - created_at: - format: dateTime - type: string - dedicated: - type: boolean - dns_servers: - items: - type: string - type: array - domain: - type: string - errors: - items: - type: string - type: array - id: - type: string - ipv6_enabled: - type: boolean - name: - type: string - records: - items: - $ref: '#/components/schemas/dnsRecord' - type: array - site_id: - type: string - supported_record_types: - items: - type: string - type: array - updated_at: - format: dateTime - type: string - user_id: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - dnsZoneSetup: - properties: - account_slug: - type: string - name: - type: string - site_id: - type: string - type: object - dnsRecord: - properties: - dns_zone_id: - type: string - flag: - type: integer - hostname: - type: string - id: - type: string - managed: - type: boolean - priority: - format: int64 - type: integer - site_id: - type: string - tag: - type: string - ttl: - format: int64 - type: integer - type: - type: string - value: - type: string - type: object - dnsRecords: - items: - $ref: '#/components/schemas/dnsRecord' - type: array - dnsRecordCreate: - properties: - flag: - format: int64 - type: integer - hostname: - type: string - port: - format: int64 - type: integer - priority: - format: int64 - type: integer - tag: - type: string - ttl: - format: int64 - type: integer - type: - type: string - value: - type: string - weight: - format: int64 - type: integer - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - dns_zones: - id: netlify.dns_zone.dns_zones - name: dns_zones - title: Dns_zones - methods: - getDnsZones: - operation: - $ref: '#/paths/~1dns_zones/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createDnsZone: - operation: - $ref: '#/paths/~1dns_zones/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteDnsZone: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getDnsZone: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/getDnsZone' - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/getDnsZones' - insert: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/createDnsZone' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/dns_zones/methods/deleteDnsZone' - dns_zones_dns_records: - id: netlify.dns_zone.dns_zones_dns_records - name: dns_zones_dns_records - title: Dns_zones_dns_records - methods: - getDnsRecords: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createDnsRecord: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteDnsRecord: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records~1{dns_record_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getIndividualDnsRecord: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}~1dns_records~1{dns_record_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dns_zones_dns_records/methods/getIndividualDnsRecord' - - $ref: '#/components/x-stackQL-resources/dns_zones_dns_records/methods/getDnsRecords' - insert: - - $ref: '#/components/x-stackQL-resources/dns_zones_dns_records/methods/createDnsRecord' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/dns_zones_dns_records/methods/deleteDnsRecord' - dns_zones_transfer: - id: netlify.dns_zone.dns_zones_transfer - name: dns_zones_transfer - title: Dns_zones_transfer - methods: - transferDnsZone: - operation: - $ref: '#/paths/~1dns_zones~1{zone_id}~1transfer/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_dns: - id: netlify.dns_zone.sites_dns - name: sites_dns - title: Sites_dns - methods: - getDNSForSite: - operation: - $ref: '#/paths/~1sites~1{site_id}~1dns/get' - response: - mediaType: application/json - openAPIDocKey: '200' - configureDNSForSite: - operation: - $ref: '#/paths/~1sites~1{site_id}~1dns/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_dns/methods/getDNSForSite' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: dnsZone - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - dns_zone - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/env.yaml b/providers/src/netlify/v00.00.00000/services/env.yaml new file mode 100644 index 00000000..a797da6f --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/env.yaml @@ -0,0 +1,1335 @@ +openapi: 3.0.0 +info: + title: env API + description: netlify env API + version: 2.57.0 +paths: + /accounts/{account_id}/env: + get: + tags: + - environmentVariables + operationId: getEnvVars + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: context_name + description: Filter by deploy context + required: false + in: query + schema: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - name: scope + description: Filter by scope + required: false + in: query + schema: + type: string + enum: + - builds + - functions + - runtime + - post-processing + - name: site_id + description: If specified, only return environment variables set on this site + required: false + in: query + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Returns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. + post: + tags: + - environmentVariables + operationId: createEnvVars + description: Creates new environment variables. Granular scopes are available on Pro plans and above. + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, create an environment variable on the site level, not the account level + required: false + in: query + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/stackqlEnvVarsCreateBody' + required: true + responses: + '201': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /accounts/{account_id}/env/{key}: + get: + tags: + - environmentVariables + operationId: getEnvVar + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: key + description: The environment variable key (case-sensitive) + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, return the environment variable for a specific site (no merging is performed) + required: false + in: query + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Returns an individual environment variable. + put: + tags: + - environmentVariables + operationId: updateEnvVar + description: Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: key + description: The existing environment variable key name (case-sensitive) + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, update an environment variable set on this site + required: false + in: query + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/stackqlEnvVarsUpdateBody' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + patch: + tags: + - environmentVariables + operationId: setEnvVarValue + description: Updates or creates a new value for an existing environment variable. + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: key + description: The existing environment variable key name (case-sensitive) + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, update an environment variable set on this site + in: query + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. `branch` must be provided with a value in `context_parameter`. + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + context_parameter: + description: An additional parameter for custom branches. Currently, this is used for providing a branch name when `context=branch`. + type: string + value: + description: The environment variable's unencrypted value + type: string + x-stackQL-stringOnly: true + responses: + '201': + description: Created (success) + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + tags: + - environmentVariables + operationId: deleteEnvVar + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: key + description: The environment variable key (case-sensitive) + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, delete the environment variable from this site + required: false + in: query + schema: + type: string + responses: + '204': + description: No Content (success) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Deletes an environment variable + /accounts/{account_id}/env/{key}/value/{id}: + delete: + tags: + - environmentVariables + operationId: deleteEnvVarValue + parameters: + - name: account_id + description: Scope response to account_id + required: true + in: path + schema: + type: string + - name: id + description: The environment variable value's ID + required: true + in: path + schema: + type: string + - name: key + description: The environment variable key name (case-sensitive) + required: true + in: path + schema: + type: string + - name: site_id + description: If provided, delete the value from an environment variable on this site + required: false + in: query + schema: + type: string + responses: + '204': + description: No Content (success) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Deletes a specific environment variable value. + /sites/{site_id}/env: + get: + tags: + - environmentVariables + operationId: getSiteEnvVars + parameters: + - name: context_name + description: Filter by deploy context + required: false + in: query + schema: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - name: scope + description: Filter by scope + required: false + in: query + schema: + type: string + enum: + - builds + - functions + - runtime + - post_processing + - name: site_id + description: Scope response to site_id + required: true + in: path + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: Returns all environment variables for a site. This convenience method behaves the same as `getEnvVars` but doesn't require an `account_id` as input. +components: + schemas: + stackqlEnvVarInput: + type: object + required: + - key + - values + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to (Pro plans and above) + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify and never displayed in the UI + values: + type: array + items: + type: object + properties: + value: + type: string + description: The environment variable's unencrypted value + x-stackQL-stringOnly: true + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used + context_parameter: + type: string + description: An additional parameter for custom branches (the branch name when context=branch) + stackqlEnvVarsCreateBody: + type: object + required: + - env_vars + properties: + env_vars: + type: array + description: Array of environment variables to create, each with `key`, optional `scopes` (Pro plans and above), optional `is_secret` and `values` (array of `{value, context, context_parameter}`). The whole array is sent as the request body. + items: + $ref: '#/components/schemas/stackqlEnvVarInput' + stackqlEnvVarsUpdateBody: + type: object + required: + - env_key + - env_values + properties: + env_key: + type: string + description: The environment variable key (must equal the `key` in the WHERE clause; the API requires it in both the path and the body, and a column named `key` is routed to the path). + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to (Pro plans and above) + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify and never displayed in the UI + env_values: + type: array + description: 'The variable''s values per deploy context (sent as the API''s `values` field): array of `{value, context, context_parameter}`.' + items: + type: object + properties: + value: + type: string + description: The environment variable's unencrypted value + x-stackQL-stringOnly: true + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used + context_parameter: + type: string + description: An additional parameter for custom branches (the branch name when context=branch) + stackqlEnvVarsListResponse: + type: array + items: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + stackqlEnvVarsListForSiteResponse: + type: array + items: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + stackqlEnvVarsGetResponse: + type: object + properties: + key: + type: string + description: The environment variable key, like ALGOLIA_ID (case-sensitive) + x-faker: commerce.productName + scopes: + type: array + items: + type: string + enum: + - builds + - functions + - runtime + - post-processing + description: The scopes that this environment variable is set to + env_values: + type: array + items: + type: object + properties: + id: + type: string + description: The environment variable value's universally unique ID + x-faker: datatype.uuid + value: + type: string + description: The environment variable's unencrypted value + x-faker: internet.password + context: + type: string + enum: + - all + - dev + - dev-server + - branch-deploy + - deploy-preview + - production + - branch + description: The deploy context in which this value will be used. `dev` refers to local development when running `netlify dev`. + context_parameter: + type: string + description: An additional parameter for custom branches. Currently, this is used for specifying a branch name when `context=branch`. + description: Environment variable value model definition + description: An array of Value objects containing values and metadata + x-faker: internet.password + is_secret: + type: boolean + description: Secret values are only readable by code running on Netlify's systems. With secrets, only the local development context values are readable from the UI, API, and CLI. By default, environment variable values are not secret. + updated_at: + type: string + format: date-time + description: The timestamp of when the value was last updated + x-faker: date.past + updated_by: + type: object + properties: + id: + type: string + description: The user's unique identifier + x-faker: datatype.number + full_name: + type: string + description: The user's full name (first and last) + x-faker: name.findName + email: + type: string + description: The user's email address + x-faker: internet.email + avatar_url: + type: string + description: A URL pointing to the user's avatar + x-faker: internet.avatar + description: Environment variable model definition + x-stackQL-resources: + env_vars: + id: netlify.env.env_vars + name: env_vars + title: Env Vars + methods: + list: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env/get' + response: + mediaType: application/json + openAPIDocKey: '200' + overrideMediaType: application/json + schema_override: + $ref: '#/components/schemas/stackqlEnvVarsListResponse' + transform: + type: golang_template_json_v0.3.0 + body: '{{ if eq (kindOf .) "slice" }}[{{ range $i, $e := . }}{{ if $i }},{{ end }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}]{{ else }}{{ $e := . }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + mediaType: application/json + required: + - env_vars + schema_override: + $ref: '#/components/schemas/stackqlEnvVarsCreateBody' + transform: + type: golang_template_json_v0.3.0 + body: '{{ toJson .env_vars }}' + get: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env~1{key}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + overrideMediaType: application/json + schema_override: + $ref: '#/components/schemas/stackqlEnvVarsGetResponse' + transform: + type: golang_template_json_v0.3.0 + body: '{{ if eq (kindOf .) "slice" }}[{{ range $i, $e := . }}{{ if $i }},{{ end }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}]{{ else }}{{ $e := . }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env~1{key}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + mediaType: application/json + required: + - env_key + - env_values + schema_override: + $ref: '#/components/schemas/stackqlEnvVarsUpdateBody' + transform: + type: golang_template_json_v0.3.0 + body: '{{"{"}}"key": {{ toJson .env_key }}, {{ if .scopes }}"scopes": {{ toJson .scopes }}, {{ end }}{{ if .is_secret }}"is_secret": {{ toJson .is_secret }}, {{ end }}"values": {{ toJson .env_values }}}' + set_value: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env~1{key}/patch' + response: + mediaType: application/json + openAPIDocKey: '201' + delete: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env~1{key}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_value: + operation: + $ref: '#/paths/~1accounts~1{account_id}~1env~1{key}~1value~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_for_site: + operation: + $ref: '#/paths/~1sites~1{site_id}~1env/get' + response: + mediaType: application/json + openAPIDocKey: '200' + overrideMediaType: application/json + schema_override: + $ref: '#/components/schemas/stackqlEnvVarsListForSiteResponse' + transform: + type: golang_template_json_v0.3.0 + body: '{{ if eq (kindOf .) "slice" }}[{{ range $i, $e := . }}{{ if $i }},{{ end }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}]{{ else }}{{ $e := . }}{"env_values": {{ toJson (index $e "values") }}{{ range $k, $v := $e }}{{ if ne $k "values" }}, {{ toJson $k }}: {{ toJson $v }}{{ end }}{{ end }}}{{ end }}' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/env_vars/methods/get' + - $ref: '#/components/x-stackQL-resources/env_vars/methods/list' + - $ref: '#/components/x-stackQL-resources/env_vars/methods/list_for_site' + insert: + - $ref: '#/components/x-stackQL-resources/env_vars/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/env_vars/methods/set_value' + delete: + - $ref: '#/components/x-stackQL-resources/env_vars/methods/delete_value' + - $ref: '#/components/x-stackQL-resources/env_vars/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/env_vars/methods/update' +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/file.yaml b/providers/src/netlify/v00.00.00000/services/file.yaml deleted file mode 100644 index 37094c73..00000000 --- a/providers/src/netlify/v00.00.00000/services/file.yaml +++ /dev/null @@ -1,248 +0,0 @@ -paths: - /deploys/{deploy_id}/files/{path}: - put: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - - in: path - name: path - required: true - schema: - type: string - - in: query - name: size - schema: - type: integer - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/file' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - file - operationId: uploadDeployFile - requestBody: - content: - application/json: - schema: - format: binary - type: string - application/octet-stream: - schema: - format: binary - type: string - required: true - /sites/{site_id}/files: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/file' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - file - operationId: listSiteFiles - /sites/{site_id}/files/{file_path}: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: file_path - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/file' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - file - operationId: getSiteFileByPathName -components: - schemas: - file: - properties: - id: - type: string - mime_type: - type: string - path: - type: string - sha: - type: string - size: - format: int64 - type: integer - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - deploys_files: - id: netlify.file.deploys_files - name: deploys_files - title: Deploys_files - methods: - uploadDeployFile: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}~1files~1{path}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_files: - id: netlify.file.sites_files - name: sites_files - title: Sites_files - methods: - listSiteFiles: - operation: - $ref: '#/paths/~1sites~1{site_id}~1files/get' - response: - mediaType: application/json - openAPIDocKey: '200' - getSiteFileByPathName: - operation: - $ref: '#/paths/~1sites~1{site_id}~1files~1{file_path}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_files/methods/getSiteFileByPathName' - - $ref: '#/components/x-stackQL-resources/sites_files/methods/listSiteFiles' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: file - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - file - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/form.yaml b/providers/src/netlify/v00.00.00000/services/form.yaml deleted file mode 100644 index abd35372..00000000 --- a/providers/src/netlify/v00.00.00000/services/form.yaml +++ /dev/null @@ -1,197 +0,0 @@ -paths: - /sites/{site_id}/forms: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/form' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - form - operationId: listSiteForms - /sites/{site_id}/forms/{form_id}: - delete: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: form_id - required: true - schema: - type: string - responses: - '204': - description: Deleted - default: - $ref: '#/components/responses/error' - tags: - - form - operationId: deleteSiteForm -components: - schemas: - form: - properties: - paths: - items: - type: string - type: array - created_at: - format: dateTime - type: string - fields: - items: - type: object - type: array - id: - type: string - name: - type: string - site_id: - type: string - submission_count: - format: int32 - type: integer - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_forms: - id: netlify.form.sites_forms - name: sites_forms - title: Sites_forms - methods: - listSiteForms: - operation: - $ref: '#/paths/~1sites~1{site_id}~1forms/get' - response: - mediaType: application/json - openAPIDocKey: '200' - deleteSiteForm: - operation: - $ref: '#/paths/~1sites~1{site_id}~1forms~1{form_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_forms/methods/listSiteForms' - insert: [] - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites_forms/methods/deleteSiteForm' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: form - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - form - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/forms.yaml b/providers/src/netlify/v00.00.00000/services/forms.yaml new file mode 100644 index 00000000..08ba3b30 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/forms.yaml @@ -0,0 +1,431 @@ +openapi: 3.0.0 +info: + title: forms API + description: netlify forms API + version: 2.57.0 +paths: + /sites/{site_id}/forms: + get: + operationId: listSiteForms + tags: + - form + parameters: + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + name: + type: string + paths: + type: array + items: + type: string + submission_count: + type: integer + format: int32 + fields: + type: array + items: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/forms/{form_id}: + delete: + operationId: deleteSiteForm + tags: + - form + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: form_id + in: path + required: true + schema: + type: string + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/submissions: + get: + operationId: listSiteSubmissions + tags: + - submission + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + number: + type: integer + format: int32 + email: + type: string + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + summary: + type: string + body: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + site_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /forms/{form_id}/submissions: + get: + operationId: listFormSubmissions + tags: + - submission + parameters: + - name: form_id + in: path + required: true + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + number: + type: integer + format: int32 + email: + type: string + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + summary: + type: string + body: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + site_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /submissions/{submission_id}: + get: + operationId: listFormSubmission + tags: + - submission + parameters: + - name: query + in: query + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + - name: submission_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + number: + type: integer + format: int32 + email: + type: string + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + summary: + type: string + body: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + site_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSubmission + tags: + - submission + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: submission_id + in: path + required: true + schema: + type: string +components: + schemas: {} + x-stackQL-resources: + forms: + id: netlify.forms.forms + name: forms + title: Forms + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1forms/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1forms~1{form_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/forms/methods/list' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/forms/methods/delete' + replace: [] + submissions: + id: netlify.forms.submissions + name: submissions + title: Submissions + methods: + list_for_site: + operation: + $ref: '#/paths/~1sites~1{site_id}~1submissions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1forms~1{form_id}~1submissions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1submissions~1{submission_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1submissions~1{submission_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/submissions/methods/list_for_site' + - $ref: '#/components/x-stackQL-resources/submissions/methods/list' + - $ref: '#/components/x-stackQL-resources/submissions/methods/get' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/submissions/methods/delete' + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/function.yaml b/providers/src/netlify/v00.00.00000/services/function.yaml deleted file mode 100644 index d48b06bb..00000000 --- a/providers/src/netlify/v00.00.00000/services/function.yaml +++ /dev/null @@ -1,176 +0,0 @@ -paths: - /deploys/{deploy_id}/functions/{name}: - put: - parameters: - - in: path - name: deploy_id - required: true - schema: - type: string - - in: path - name: name - required: true - schema: - type: string - - in: query - name: runtime - schema: - type: string - - in: query - name: size - schema: - type: integer - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/function' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - function - operationId: uploadDeployFunction - requestBody: - content: - application/json: - schema: - format: binary - type: string - application/octet-stream: - schema: - format: binary - type: string - required: true -components: - schemas: - function: - properties: - id: - type: string - name: - type: string - sha: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - deploys_functions: - id: netlify.function.deploys_functions - name: deploys_functions - title: Deploys_functions - methods: - uploadDeployFunction: - operation: - $ref: '#/paths/~1deploys~1{deploy_id}~1functions~1{name}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: function - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - function - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/functions.yaml b/providers/src/netlify/v00.00.00000/services/functions.yaml new file mode 100644 index 00000000..d6e3893d --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/functions.yaml @@ -0,0 +1,94 @@ +openapi: 3.0.0 +info: + title: functions API + description: netlify functions API + version: 2.57.0 +paths: + /sites/{site_id}/functions: + get: + operationId: searchSiteFunctions + tags: + - function + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: filter + in: query + required: false + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + branch: + type: string + created_at: + type: string + format: dateTime + functions: + type: array + items: + type: string + description: (opaque JSON object) + id: + type: string + log_type: + type: string + provider: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false +components: + schemas: {} + x-stackQL-resources: + functions: + id: netlify.functions.functions + name: functions + title: Functions + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1functions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/functions/methods/list' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/hook.yaml b/providers/src/netlify/v00.00.00000/services/hook.yaml deleted file mode 100644 index 8a87b77f..00000000 --- a/providers/src/netlify/v00.00.00000/services/hook.yaml +++ /dev/null @@ -1,305 +0,0 @@ -paths: - /hooks: - get: - parameters: - - in: query - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/hook' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hook - operationId: listHooksBySiteId - post: - parameters: - - in: query - name: site_id - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hook - operationId: createHookBySiteId - requestBody: - $ref: '#/components/requestBodies/hook' - /hooks/{hook_id}: - delete: - responses: - '204': - description: No content - tags: - - hook - operationId: deleteHook - parameters: &ref_0 - - in: path - name: hook_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hook - operationId: getHook - parameters: *ref_0 - put: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hook - operationId: updateHook - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - required: true - parameters: *ref_0 - /hooks/{hook_id}/enable: - post: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hook - operationId: enableHook - parameters: - - in: path - name: hook_id - required: true - schema: - type: string -components: - schemas: - hook: - properties: - created_at: - format: dateTime - type: string - data: - type: object - disabled: - type: boolean - event: - type: string - id: - type: string - site_id: - type: string - type: - type: string - updated_at: - format: dateTime - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: - hook: - content: - application/json: - schema: - $ref: '#/components/schemas/hook' - required: true - headers: {} - links: {} - x-stackQL-resources: - hooks: - id: netlify.hook.hooks - name: hooks - title: Hooks - methods: - listHooksBySiteId: - operation: - $ref: '#/paths/~1hooks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createHookBySiteId: - operation: - $ref: '#/paths/~1hooks/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteHook: - operation: - $ref: '#/paths/~1hooks~1{hook_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getHook: - operation: - $ref: '#/paths/~1hooks~1{hook_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateHook: - operation: - $ref: '#/paths/~1hooks~1{hook_id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/hooks/methods/getHook' - - $ref: '#/components/x-stackQL-resources/hooks/methods/listHooksBySiteId' - insert: - - $ref: '#/components/x-stackQL-resources/hooks/methods/createHookBySiteId' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/hooks/methods/deleteHook' - hooks_enable: - id: netlify.hook.hooks_enable - name: hooks_enable - title: Hooks_enable - methods: - enableHook: - operation: - $ref: '#/paths/~1hooks~1{hook_id}~1enable/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: hook - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - hook - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/hook_type.yaml b/providers/src/netlify/v00.00.00000/services/hook_type.yaml deleted file mode 100644 index c4ecbc5e..00000000 --- a/providers/src/netlify/v00.00.00000/services/hook_type.yaml +++ /dev/null @@ -1,153 +0,0 @@ -paths: - /hooks/types: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/hookType' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - hookType - operationId: listHookTypes -components: - schemas: - hookType: - properties: - events: - items: - type: string - type: array - fields: - items: - type: object - type: array - name: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - hooks_types: - id: netlify.hook_type.hooks_types - name: hooks_types - title: Hooks_types - methods: - listHookTypes: - operation: - $ref: '#/paths/~1hooks~1types/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/hooks_types/methods/listHookTypes' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: hookType - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - hook_type - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/hooks.yaml b/providers/src/netlify/v00.00.00000/services/hooks.yaml new file mode 100644 index 00000000..20a2a323 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/hooks.yaml @@ -0,0 +1,445 @@ +openapi: 3.0.0 +info: + title: hooks API + description: netlify hooks API + version: 2.57.0 +paths: + /hooks: + get: + operationId: listHooksBySiteId + tags: + - hook + parameters: + - name: site_id + in: query + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + post: + operationId: createHookBySiteId + tags: + - hook + parameters: + - name: site_id + in: query + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/createHookBySiteIdHook' + responses: + '201': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /hooks/{hook_id}: + get: + operationId: getHook + tags: + - hook + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: hook_id + in: path + required: true + schema: + type: string + put: + operationId: updateHook + tags: + - hook + requestBody: + $ref: '#/components/requestBodies/createHookBySiteIdHook' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: hook_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteHook + tags: + - hook + responses: + '204': + description: No content + parameters: + - name: hook_id + in: path + required: true + schema: + type: string + /hooks/{hook_id}/enable: + post: + operationId: enableHook + tags: + - hook + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: hook_id + in: path + required: true + schema: + type: string + /hooks/types: + get: + operationId: listHookTypes + tags: + - hookType + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + events: + type: array + items: + type: string + fields: + type: array + items: + type: string + description: (opaque JSON object) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false +components: + requestBodies: + createHookBySiteIdHook: + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + type: + type: string + event: + type: string + data: + type: string + description: (opaque JSON object) + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + disabled: + type: boolean + required: true + schemas: {} + x-stackQL-resources: + hooks: + id: netlify.hooks.hooks + name: hooks + title: Hooks + methods: + list: + operation: + $ref: '#/paths/~1hooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1hooks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1hooks~1{hook_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1hooks~1{hook_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1hooks~1{hook_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + enable: + operation: + $ref: '#/paths/~1hooks~1{hook_id}~1enable/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/hooks/methods/get' + - $ref: '#/components/x-stackQL-resources/hooks/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/hooks/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/hooks/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/hooks/methods/update' + hook_types: + id: netlify.hooks.hook_types + name: hook_types + title: Hook Types + methods: + list: + operation: + $ref: '#/paths/~1hooks~1types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/hook_types/methods/list' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/member.yaml b/providers/src/netlify/v00.00.00000/services/member.yaml deleted file mode 100644 index 65b8b504..00000000 --- a/providers/src/netlify/v00.00.00000/services/member.yaml +++ /dev/null @@ -1,182 +0,0 @@ -paths: - /{account_slug}/members: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/member' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - member - operationId: listMembersForAccount - parameters: &ref_0 - - in: path - name: account_slug - required: true - schema: - type: string - post: - parameters: *ref_0 - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/member' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - member - operationId: addMemberToAccount -components: - schemas: - member: - properties: - avatar: - type: string - email: - type: string - full_name: - type: string - id: - type: string - role: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - members: - id: netlify.member.members - name: members - title: Members - methods: - listMembersForAccount: - operation: - $ref: '#/paths/~1{account_slug}~1members/get' - response: - mediaType: application/json - openAPIDocKey: '200' - addMemberToAccount: - operation: - $ref: '#/paths/~1{account_slug}~1members/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/members/methods/listMembersForAccount' - insert: - - $ref: '#/components/x-stackQL-resources/members/methods/addMemberToAccount' - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: member - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - member - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/metadata.yaml b/providers/src/netlify/v00.00.00000/services/metadata.yaml deleted file mode 100644 index 4e0d4862..00000000 --- a/providers/src/netlify/v00.00.00000/services/metadata.yaml +++ /dev/null @@ -1,168 +0,0 @@ -paths: - /sites/{site_id}/metadata: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/metadata' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - metadata - operationId: getSiteMetadata - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - put: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - metadata - operationId: updateSiteMetadata - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metadata' - required: true - parameters: *ref_0 -components: - schemas: - metadata: - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites: - id: netlify.metadata.sites - name: sites - title: Sites - methods: - getSiteMetadata: - operation: - $ref: '#/paths/~1sites~1{site_id}~1metadata/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSiteMetadata: - operation: - $ref: '#/paths/~1sites~1{site_id}~1metadata/put' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - # - $ref: '#/components/x-stackQL-resources/sites/methods/getSiteMetadata' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: metadata - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - metadata - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/oauth.yaml b/providers/src/netlify/v00.00.00000/services/oauth.yaml new file mode 100644 index 00000000..e1a9dfc6 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/oauth.yaml @@ -0,0 +1,221 @@ +openapi: 3.0.0 +info: + title: oauth API + description: netlify oauth API + version: 2.57.0 +paths: + /oauth/tickets: + post: + operationId: createTicket + tags: + - ticket + parameters: + - name: client_id + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + message: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + client_id: + type: string + authorized: + type: boolean + created_at: + type: string + format: dateTime + '401': + description: OAuth application not found + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + '422': + description: Validation error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /oauth/tickets/{ticket_id}: + get: + operationId: showTicket + tags: + - ticket + parameters: + - name: ticket_id + in: path + required: true + schema: + type: string + responses: + '200': + description: ok + content: + application/json: + schema: + type: object + properties: + id: + type: string + client_id: + type: string + authorized: + type: boolean + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /oauth/tickets/{ticket_id}/exchange: + post: + operationId: exchangeTicket + tags: + - accessToken + parameters: + - name: ticket_id + in: path + required: true + schema: + type: string + responses: + '201': + description: ok + content: + application/json: + schema: + type: object + properties: + id: + type: string + access_token: + type: string + user_id: + type: string + user_email: + type: string + created_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false +components: + x-stackQL-resources: + tickets: + id: netlify.oauth.tickets + name: tickets + title: Tickets + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1oauth~1tickets/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1oauth~1tickets~1{ticket_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + exchange: + operation: + $ref: '#/paths/~1oauth~1tickets~1{ticket_id}~1exchange/post' + response: + mediaType: application/json + openAPIDocKey: '201' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tickets/methods/get' + insert: + - $ref: '#/components/x-stackQL-resources/tickets/methods/create' + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/payment_method.yaml b/providers/src/netlify/v00.00.00000/services/payment_method.yaml deleted file mode 100644 index 49d6c5c9..00000000 --- a/providers/src/netlify/v00.00.00000/services/payment_method.yaml +++ /dev/null @@ -1,166 +0,0 @@ -paths: - /billing/payment_methods: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/paymentMethod' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - paymentMethod - operationId: listPaymentMethodsForUser -components: - schemas: - paymentMethod: - properties: - created_at: - format: dateTime - type: string - data: - properties: - card_type: - type: string - email: - type: string - last4: - type: string - type: object - id: - type: string - method_name: - type: string - state: - type: string - type: - type: string - updated_at: - format: dateTime - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - billing_payment_methods: - id: netlify.payment_method.billing_payment_methods - name: billing_payment_methods - title: Billing_payment_methods - methods: - listPaymentMethodsForUser: - operation: - $ref: '#/paths/~1billing~1payment_methods/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/billing_payment_methods/methods/listPaymentMethodsForUser' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: paymentMethod - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - payment_method - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/service.yaml b/providers/src/netlify/v00.00.00000/services/service.yaml deleted file mode 100644 index 2f9de990..00000000 --- a/providers/src/netlify/v00.00.00000/services/service.yaml +++ /dev/null @@ -1,244 +0,0 @@ -paths: - /services/: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/service' - type: array - description: services - default: - $ref: '#/components/responses/error' - tags: - - service - operationId: getServices - parameters: - - in: query - name: search - schema: - type: string - /services/{addonName}: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/service' - description: services - default: - $ref: '#/components/responses/error' - tags: - - service - operationId: showService - parameters: - - in: path - name: addonName - required: true - schema: - type: string - /services/{addonName}/manifest: - get: - responses: - '201': - content: - application/json: - schema: - type: object - description: retrieving from provider - default: - $ref: '#/components/responses/error' - tags: - - service - operationId: showServiceManifest - parameters: - - in: path - name: addonName - required: true - schema: - type: string -components: - schemas: - service: - properties: - tags: - items: - type: string - type: array - created_at: - format: dateTime - type: string - description: - type: string - environments: - items: - type: string - type: array - events: - items: - type: object - type: array - icon: - type: string - id: - type: string - long_description: - type: string - manifest_url: - type: string - name: - type: string - service_path: - type: string - slug: - type: string - updated_at: - format: dateTime - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - services: - id: netlify.service.services - name: services - title: Services - methods: - getServices: - operation: - $ref: '#/paths/~1services~1/get' - response: - mediaType: application/json - openAPIDocKey: '200' - showService: - operation: - $ref: '#/paths/~1services~1{addonName}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/services/methods/getServices' - insert: [] - update: [] - delete: [] - services_manifest: - id: netlify.service.services_manifest - name: services_manifest - title: Services_manifest - methods: - showServiceManifest: - operation: - $ref: '#/paths/~1services~1{addonName}~1manifest/get' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: service - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - service - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/service_instance.yaml b/providers/src/netlify/v00.00.00000/services/service_instance.yaml deleted file mode 100644 index 033f6c4c..00000000 --- a/providers/src/netlify/v00.00.00000/services/service_instance.yaml +++ /dev/null @@ -1,300 +0,0 @@ -paths: - /sites/{site_id}/service-instances: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/serviceInstance' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - serviceInstance - operationId: listServiceInstancesForSite - parameters: - - in: path - name: site_id - required: true - schema: - type: string - /sites/{site_id}/services/{addon}/instances: - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/serviceInstance' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - serviceInstance - operationId: createServiceInstance - requestBody: - content: - application/json: - schema: - type: object - required: true - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: addon - required: true - schema: - type: string - /sites/{site_id}/services/{addon}/instances/{instance_id}: - delete: - responses: - '204': - description: Deleted - default: - $ref: '#/components/responses/error' - tags: - - serviceInstance - operationId: deleteServiceInstance - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: addon - required: true - schema: - type: string - - in: path - name: instance_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/serviceInstance' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - serviceInstance - operationId: showServiceInstance - parameters: *ref_0 - put: - responses: - '204': - description: No Content - default: - $ref: '#/components/responses/error' - tags: - - serviceInstance - operationId: updateServiceInstance - requestBody: - content: - application/json: - schema: - type: object - required: true - parameters: *ref_0 -components: - schemas: - serviceInstance: - properties: - auth_url: - type: string - config: - type: object - created_at: - format: dateTime - type: string - env: - type: object - external_attributes: - type: object - id: - type: string - service_name: - type: string - service_path: - type: string - service_slug: - type: string - snippets: - items: - type: object - type: array - updated_at: - format: dateTime - type: string - url: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_service_instances: - id: netlify.service_instance.sites_service_instances - name: sites_service_instances - title: Sites_service_instances - methods: - listServiceInstancesForSite: - operation: - $ref: '#/paths/~1sites~1{site_id}~1service-instances/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_service_instances/methods/listServiceInstancesForSite' - insert: [] - update: [] - delete: [] - sites_services_instances: - id: netlify.service_instance.sites_services_instances - name: sites_services_instances - title: Sites_services_instances - methods: - createServiceInstance: - operation: - $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteServiceInstance: - operation: - $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - showServiceInstance: - operation: - $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateServiceInstance: - operation: - $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/put' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: - - $ref: '#/components/x-stackQL-resources/sites_services_instances/methods/createServiceInstance' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites_services_instances/methods/deleteServiceInstance' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: serviceInstance - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - service_instance - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/services.yaml b/providers/src/netlify/v00.00.00000/services/services.yaml new file mode 100644 index 00000000..95599a06 --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/services.yaml @@ -0,0 +1,647 @@ +openapi: 3.0.0 +info: + title: services API + description: netlify services API + version: 2.57.0 +paths: + /sites/{site_id}/service-instances: + get: + operationId: listServiceInstancesForSite + tags: + - serviceInstance + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + url: + type: string + config: + type: string + description: (opaque JSON object) + external_attributes: + type: string + description: (opaque JSON object) + service_slug: + type: string + service_path: + type: string + service_name: + type: string + env: + type: string + description: (opaque JSON object) + snippets: + type: array + items: + type: string + description: (opaque JSON object) + auth_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/services/{addon}/instances: + post: + operationId: createServiceInstance + tags: + - serviceInstance + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/stackqlServiceInstancesCreateBody' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + url: + type: string + config: + type: string + description: (opaque JSON object) + external_attributes: + type: string + description: (opaque JSON object) + service_slug: + type: string + service_path: + type: string + service_name: + type: string + env: + type: string + description: (opaque JSON object) + snippets: + type: array + items: + type: string + description: (opaque JSON object) + auth_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: addon + in: path + required: true + schema: + type: string + /sites/{site_id}/services/{addon}/instances/{instance_id}: + get: + operationId: showServiceInstance + tags: + - serviceInstance + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + url: + type: string + config: + type: string + description: (opaque JSON object) + external_attributes: + type: string + description: (opaque JSON object) + service_slug: + type: string + service_path: + type: string + service_name: + type: string + env: + type: string + description: (opaque JSON object) + snippets: + type: array + items: + type: string + description: (opaque JSON object) + auth_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: addon + in: path + required: true + schema: + type: string + - name: instance_id + in: path + required: true + schema: + type: string + put: + operationId: updateServiceInstance + tags: + - serviceInstance + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/stackqlServiceInstancesUpdateBody' + required: true + responses: + '204': + description: No Content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: addon + in: path + required: true + schema: + type: string + - name: instance_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteServiceInstance + tags: + - serviceInstance + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: addon + in: path + required: true + schema: + type: string + - name: instance_id + in: path + required: true + schema: + type: string + /services/: + get: + operationId: getServices + tags: + - service + responses: + '200': + description: services + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + service_path: + type: string + long_description: + type: string + description: + type: string + events: + type: array + items: + type: string + description: (opaque JSON object) + tags: + type: array + items: + type: string + icon: + type: string + manifest_url: + type: string + environments: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: search + in: query + schema: + type: string + /services/{addon_name}: + get: + operationId: showService + tags: + - service + responses: + '200': + description: services + content: + application/json: + schema: + type: object + properties: + id: + type: string + name: + type: string + slug: + type: string + service_path: + type: string + long_description: + type: string + description: + type: string + events: + type: array + items: + type: string + description: (opaque JSON object) + tags: + type: array + items: + type: string + icon: + type: string + manifest_url: + type: string + environments: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: addon_name + in: path + required: true + schema: + type: string + /services/{addon_name}/manifest: + get: + operationId: showServiceManifest + tags: + - service + responses: + '201': + description: retrieving from provider + content: + application/json: + schema: + type: string + description: (opaque JSON object) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: addon_name + in: path + required: true + schema: + type: string +components: + requestBodies: + updateSiteMetadataMetadata: + content: + application/json: + schema: + type: string + description: (opaque JSON object) + required: true + schemas: + stackqlServiceInstancesCreateBody: + type: object + required: + - config + properties: + config: + type: object + additionalProperties: true + description: Add-on specific configuration object; sent verbatim as the request body. + stackqlServiceInstancesUpdateBody: + type: object + required: + - config + properties: + config: + type: object + additionalProperties: true + description: Add-on specific configuration object; sent verbatim as the request body. + stackqlServiceManifestsGetResponse: + type: object + properties: + manifest: + type: object + additionalProperties: true + description: The add-on service manifest (opaque JSON). + x-stackQL-resources: + service_instances: + id: netlify.services.service_instances + name: service_instances + title: Service Instances + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1service-instances/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + mediaType: application/json + required: + - config + schema_override: + $ref: '#/components/schemas/stackqlServiceInstancesCreateBody' + transform: + type: golang_template_json_v0.3.0 + body: '{{ toJson .config }}' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + mediaType: application/json + required: + - config + schema_override: + $ref: '#/components/schemas/stackqlServiceInstancesUpdateBody' + transform: + type: golang_template_json_v0.3.0 + body: '{{ toJson .config }}' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1services~1{addon}~1instances~1{instance_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/service_instances/methods/get' + - $ref: '#/components/x-stackQL-resources/service_instances/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/service_instances/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/service_instances/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/service_instances/methods/update' + services: + id: netlify.services.services + name: services + title: Services + methods: + list: + operation: + $ref: '#/paths/~1services~1/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1services~1{addon_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/services/methods/get' + - $ref: '#/components/x-stackQL-resources/services/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + service_manifests: + id: netlify.services.service_manifests + name: service_manifests + title: Service Manifests + methods: + get: + operation: + $ref: '#/paths/~1services~1{addon_name}~1manifest/get' + response: + mediaType: application/json + openAPIDocKey: '201' + overrideMediaType: application/json + schema_override: + $ref: '#/components/schemas/stackqlServiceManifestsGetResponse' + transform: + type: golang_template_json_v0.3.0 + body: '{"manifest": {{ toJson . }}}' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/service_manifests/methods/get' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/site.yaml b/providers/src/netlify/v00.00.00000/services/site.yaml deleted file mode 100644 index 802a7e97..00000000 --- a/providers/src/netlify/v00.00.00000/services/site.yaml +++ /dev/null @@ -1,613 +0,0 @@ -paths: - /sites: - get: - parameters: - - in: query - name: name - schema: - type: string - - in: query - name: filter - schema: - enum: - - all - - owner - - guest - type: string - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/perPage' - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/site' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: listSites - post: - parameters: - - in: query - name: configure_dns - schema: - type: boolean - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/site' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: createSite - requestBody: - $ref: '#/components/requestBodies/siteSetup' - /sites/{site_id}: - delete: - responses: - '204': - description: Deleted - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: deleteSite - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/site' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: getSite - parameters: *ref_0 - patch: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/site' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: updateSite - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/siteSetup' - required: true - parameters: *ref_0 - /sites/{site_id}/unlink_repo: - put: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/site' - description: OK - '404': - description: Site not found - tags: - - site - description: |- - [Beta] Unlinks the repo from the site. - - This action will also: - - Delete associated deploy keys - - Delete outgoing webhooks for the repo - - Delete the site's build hooks - operationId: unlinkSiteRepo - parameters: - - in: path - name: site_id - required: true - schema: - type: string - /{account_slug}/sites: - get: - parameters: - - in: query - name: name - schema: - type: string - - in: path - name: account_slug - required: true - schema: - type: string - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/perPage' - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/site' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: listSitesForAccount - post: - parameters: - - in: query - name: configure_dns - schema: - type: boolean - - in: path - name: account_slug - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/site' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - site - operationId: createSiteInTeam - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/siteSetup' -components: - schemas: - site: - properties: - account_name: - type: string - account_slug: - type: string - admin_url: - type: string - build_image: - type: string - build_settings: - $ref: '#/components/schemas/repoInfo' - capabilities: - additionalProperties: - type: object - type: object - created_at: - format: dateTime - type: string - custom_domain: - type: string - default_hooks_data: - properties: - access_token: - type: string - type: object - deploy_hook: - type: string - deploy_url: - type: string - domain_aliases: - items: - type: string - type: array - force_ssl: - type: boolean - git_provider: - type: string - id: - type: string - id_domain: - type: string - managed_dns: - type: boolean - name: - type: string - notification_email: - type: string - password: - type: string - plan: - type: string - prerender: - type: string - processing_settings: - properties: - css: - $ref: '#/components/schemas/minifyOptions' - html: - properties: - pretty_urls: - type: boolean - type: object - images: - properties: - optimize: - type: boolean - type: object - js: - $ref: '#/components/schemas/minifyOptions' - skip: - type: boolean - type: object - published_deploy: - $ref: '#/components/schemas/deploy' - screenshot_url: - type: string - session_id: - type: string - ssl: - type: boolean - ssl_url: - type: string - state: - type: string - updated_at: - format: dateTime - type: string - url: - type: string - user_id: - type: string - type: object - repoInfo: - properties: - allowed_branches: - items: - type: string - type: array - cmd: - type: string - deploy_key_id: - type: string - dir: - type: string - env: - additionalProperties: - type: string - type: object - functions_dir: - type: string - id: - type: integer - installation_id: - type: integer - private_logs: - type: boolean - provider: - type: string - public_repo: - type: boolean - repo_branch: - type: string - repo_path: - type: string - repo_url: - type: string - stop_builds: - type: boolean - type: object - minifyOptions: - properties: - bundle: - type: boolean - minify: - type: boolean - type: object - deploy: - properties: - admin_url: - type: string - branch: - type: string - build_id: - type: string - commit_ref: - type: string - commit_url: - type: string - context: - type: string - created_at: - format: dateTime - type: string - deploy_ssl_url: - type: string - deploy_url: - type: string - draft: - type: boolean - error_message: - type: string - framework: - type: string - function_schedules: - items: - $ref: '#/components/schemas/functionSchedule' - type: array - id: - type: string - locked: - type: boolean - name: - type: string - published_at: - format: dateTime - type: string - required: - items: - type: string - type: array - required_functions: - items: - type: string - type: array - review_id: - type: number - review_url: - type: string - screenshot_url: - type: string - site_capabilities: - properties: - large_media_enabled: - type: boolean - type: object - site_id: - type: string - skipped: - type: boolean - ssl_url: - type: string - state: - type: string - title: - type: string - updated_at: - format: dateTime - type: string - url: - type: string - user_id: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - functionSchedule: - properties: - cron: - type: string - name: - type: string - type: object - siteSetup: - allOf: - - $ref: '#/components/schemas/site' - - properties: - repo: - $ref: '#/components/schemas/repoInfo' - type: object - parameters: - page: - in: query - name: page - required: false - schema: - format: int32 - type: integer - perPage: - in: query - name: per_page - required: false - schema: - format: int32 - type: integer - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: - siteSetup: - content: - application/json: - schema: - $ref: '#/components/schemas/siteSetup' - required: true - headers: {} - links: {} - x-stackQL-resources: - sites: - id: netlify.site.sites - name: sites - title: Sites - methods: - listSites: - operation: - $ref: '#/paths/~1sites/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSite: - operation: - $ref: '#/paths/~1sites/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteSite: - operation: - $ref: '#/paths/~1sites~1{site_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getSite: - operation: - $ref: '#/paths/~1sites~1{site_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSite: - operation: - $ref: '#/paths/~1sites~1{site_id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - listSitesForAccount: - operation: - $ref: '#/paths/~1{account_slug}~1sites/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteInTeam: - operation: - $ref: '#/paths/~1{account_slug}~1sites/post' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites/methods/getSite' - - $ref: '#/components/x-stackQL-resources/sites/methods/listSitesForAccount' - - $ref: '#/components/x-stackQL-resources/sites/methods/listSites' - insert: - - $ref: '#/components/x-stackQL-resources/sites/methods/createSiteInTeam' - - $ref: '#/components/x-stackQL-resources/sites/methods/createSite' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites/methods/deleteSite' - sites_unlink_repo: - id: netlify.site.sites_unlink_repo - name: sites_unlink_repo - title: Sites_unlink_repo - methods: - unlinkSiteRepo: - operation: - $ref: '#/paths/~1sites~1{site_id}~1unlink_repo/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: site - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - site - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/sites.yaml b/providers/src/netlify/v00.00.00000/services/sites.yaml new file mode 100644 index 00000000..2b1db73e --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/sites.yaml @@ -0,0 +1,4171 @@ +openapi: 3.0.0 +info: + title: sites API + description: netlify sites API + version: 2.57.0 +paths: + /sites: + get: + operationId: listSites + tags: + - site + parameters: + - name: name + in: query + schema: + type: string + - name: filter + in: query + schema: + type: string + enum: + - all + - owner + - guest + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.' + post: + operationId: createSite + tags: + - site + parameters: + - name: configure_dns + in: query + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/createSiteSite' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.' + /sites/{site_id}: + get: + operationId: getSite + tags: + - site + parameters: + - name: feature_flags + x-internal: true + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.' + patch: + operationId: updateSite + tags: + - site + requestBody: + $ref: '#/components/requestBodies/createSiteSite' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [updateEnvVar](#tag/environmentVariables/operation/updateEnvVar) to update a site''s environment variables.' + parameters: + - name: site_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteSite + tags: + - site + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/ssl: + post: + operationId: provisionSiteTLSCertificate + tags: + - sniCertificate + description: |- + Provisions or updates a TLS certificate for the site. + + **Creating a certificate (site has no certificate):** + - Omit certificate params to initiate Let's Encrypt provisioning + - Provide certificate, key, and ca_certificates to upload a custom certificate + + **Updating a certificate (site already has a certificate):** + - REQUIRES certificate, key, and ca_certificates to replace with a new custom certificate + - Use POST /api/v1/sites/{site_id}/ssl/renew to renew an existing Let's Encrypt certificate + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: certificate + in: query + description: PEM-encoded certificate. Required when updating an existing certificate. + schema: + type: string + - name: key + in: query + description: PEM-encoded private key. Required when updating an existing certificate. + schema: + type: string + - name: ca_certificates + in: query + description: PEM-encoded CA certificate chain. Required when updating an existing certificate. + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + state: + type: string + domains: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + expires_at: + type: string + format: dateTime + '422': + description: 'Unprocessable Entity. Returns errors such as: "certificate parameter is required when updating an existing certificate" (when updating without params), "No custom domain configured", or "bad dns for custom domain"' + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + get: + operationId: showSiteTLSCertificate + tags: + - sniCertificate + parameters: + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + state: + type: string + domains: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + expires_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/ssl/certificates: + get: + operationId: getAllCertificates + tags: + - sniCertificate + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: domain + in: query + required: true + schema: + type: string + responses: + '200': + description: Array of SNI Certificates + content: + application/json: + schema: + type: array + items: + type: object + properties: + state: + type: string + domains: + type: array + items: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + expires_at: + type: string + format: dateTime + '404': + description: Not Found + '422': + description: Unprocessable Entity + /sites/{site_id}/files: + get: + operationId: listSiteFiles + tags: + - file + parameters: + - name: site_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + path: + type: string + sha: + type: string + mime_type: + type: string + size: + type: integer + format: int64 + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/assets: + get: + operationId: listSiteAssets + tags: + - asset + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + creator_id: + type: string + name: + type: string + state: + type: string + content_type: + type: string + url: + type: string + key: + type: string + visibility: + type: string + size: + type: integer + format: int64 + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + post: + operationId: createSiteAsset + tags: + - asset + parameters: + - name: name + in: query + required: true + schema: + type: string + - name: size + in: query + required: true + schema: + type: integer + format: int64 + - name: content_type + in: query + required: true + schema: + type: string + - name: visibility + in: query + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + form: + type: object + properties: + url: + type: string + fields: + type: object + additionalProperties: + type: string + asset: + type: object + properties: + id: + type: string + site_id: + type: string + creator_id: + type: string + name: + type: string + state: + type: string + content_type: + type: string + url: + type: string + key: + type: string + visibility: + type: string + size: + type: integer + format: int64 + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/assets/{asset_id}: + get: + operationId: getSiteAssetInfo + tags: + - asset + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + creator_id: + type: string + name: + type: string + state: + type: string + content_type: + type: string + url: + type: string + key: + type: string + visibility: + type: string + size: + type: integer + format: int64 + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: asset_id + in: path + required: true + schema: + type: string + put: + operationId: updateSiteAsset + tags: + - asset + parameters: + - name: state + in: query + required: true + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + - name: asset_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Updated + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + creator_id: + type: string + name: + type: string + state: + type: string + content_type: + type: string + url: + type: string + key: + type: string + visibility: + type: string + size: + type: integer + format: int64 + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + delete: + operationId: deleteSiteAsset + tags: + - asset + responses: + '204': + description: Deleted + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: asset_id + in: path + required: true + schema: + type: string + /sites/{site_id}/assets/{asset_id}/public_signature: + get: + operationId: getSiteAssetPublicSignature + tags: + - assetPublicSignature + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: asset_id + in: path + required: true + schema: + type: string + /sites/{site_id}/files/{file_path}: + get: + operationId: getSiteFileByPathName + tags: + - file + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: file_path + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + path: + type: string + sha: + type: string + mime_type: + type: string + size: + type: integer + format: int64 + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /purge: + post: + operationId: purgeCache + description: Purges cached content from Netlify's CDN. Supports purging by Cache-Tag. + tags: + - purge + requestBody: + content: + application/json: + schema: + type: object + properties: + site_id: + type: string + site_slug: + type: string + cache_tags: + type: array + items: + type: string + required: true + responses: + '202': + description: OK + '400': + description: Invalid request parameters + '404': + description: Site not found + /sites/{site_id}/snippets: + get: + operationId: listSiteSnippets + tags: + - snippet + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + site_id: + type: string + title: + type: string + general: + type: string + general_position: + type: string + goal: + type: string + goal_position: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + post: + operationId: createSiteSnippet + tags: + - snippet + requestBody: + $ref: '#/components/requestBodies/createSiteSnippetSnippet' + responses: + '201': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: integer + format: int32 + site_id: + type: string + title: + type: string + general: + type: string + general_position: + type: string + goal: + type: string + goal_position: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/snippets/{snippet_id}: + get: + operationId: getSiteSnippet + tags: + - snippet + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: integer + format: int32 + site_id: + type: string + title: + type: string + general: + type: string + general_position: + type: string + goal: + type: string + goal_position: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: snippet_id + in: path + required: true + schema: + type: string + put: + operationId: updateSiteSnippet + tags: + - snippet + requestBody: + $ref: '#/components/requestBodies/createSiteSnippetSnippet' + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: snippet_id + in: path + required: true + schema: + type: string + delete: + operationId: deleteSiteSnippet + tags: + - snippet + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: snippet_id + in: path + required: true + schema: + type: string + /sites/{site_id}/metadata: + get: + operationId: getSiteMetadata + tags: + - metadata + responses: + '200': + description: OK + content: + application/json: + schema: + type: string + description: (opaque JSON object) + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + put: + operationId: updateSiteMetadata + tags: + - metadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/stackqlSiteMetadataUpdateBody' + required: true + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/deployed-branches: + get: + operationId: listSiteDeployedBranches + tags: + - deployedBranch + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + deploy_id: + type: string + name: + type: string + slug: + type: string + url: + type: string + ssl_url: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/unlink_repo: + put: + operationId: unlinkSiteRepo + tags: + - site + description: |- + [Beta] Unlinks the repo from the site. + + This action will also: + - Delete associated deploy keys + - Delete outgoing webhooks for the repo + - Delete the site's build hooks + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + '404': + description: Site not found + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/enable: + put: + operationId: enableSite + tags: + - site + description: Re-enables a site that was previously disabled by the user. Sites that were disabled for usage exceeded or marked as spam cannot be re-enabled via this endpoint. + responses: + '204': + description: No content + '422': + description: Cannot enable this site + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/disable: + put: + operationId: disableSite + tags: + - site + description: Disables a site, preventing it from serving content. The site can be re-enabled later using the enable endpoint. + parameters: + - name: reason + in: query + required: true + description: Reason for disabling the site + schema: + type: string + - name: site_id + in: path + required: true + schema: + type: string + responses: + '204': + description: No content + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + /sites/{site_id}/dns: + get: + operationId: getDNSForSite + tags: + - dnsZone + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + put: + operationId: configureDNSForSite + tags: + - dnsZone + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + errors: + type: array + items: + type: string + supported_record_types: + type: array + items: + type: string + user_id: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + records: + type: array + items: + type: object + properties: + id: + type: string + hostname: + type: string + type: + type: string + value: + type: string + ttl: + type: integer + format: int64 + priority: + type: integer + format: int64 + dns_zone_id: + type: string + site_id: + type: string + flag: + type: integer + tag: + type: string + managed: + type: boolean + dns_servers: + type: array + items: + type: string + account_id: + type: string + site_id: + type: string + account_slug: + type: string + account_name: + type: string + domain: + type: string + ipv6_enabled: + type: boolean + dedicated: + type: boolean + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /{account_slug}/sites: + post: + operationId: createSiteInTeam + tags: + - site + parameters: + - name: configure_dns + in: query + schema: + type: boolean + - name: account_slug + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + repo: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/environmentVariables/operation/createEnvVars) to create environment variables for a site.' + get: + operationId: listSitesForAccount + tags: + - site + parameters: + - name: name + in: query + schema: + type: string + - name: account_slug + in: path + required: true + schema: + type: string + - name: page + required: false + in: query + schema: + type: integer + format: int32 + - name: per_page + required: false + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + description: '**Note:** Environment variable keys and values have moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/environmentVariables/operation/getEnvVars) to retrieve site environment variables.' +components: + requestBodies: + createSiteSite: + content: + application/json: + schema: + type: object + properties: + id: + type: string + state: + type: string + plan: + type: string + name: + type: string + custom_domain: + type: string + domain_aliases: + type: array + items: + type: string + branch_deploy_custom_domain: + type: string + deploy_preview_custom_domain: + type: string + password: + type: string + notification_email: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + screenshot_url: + type: string + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + user_id: + type: string + session_id: + type: string + ssl: + type: boolean + force_ssl: + type: boolean + managed_dns: + type: boolean + deploy_url: + type: string + published_deploy: + type: object + properties: + id: + type: string + site_id: + type: string + user_id: + type: string + build_id: + type: string + state: + type: string + name: + type: string + url: + type: string + ssl_url: + type: string + admin_url: + type: string + deploy_url: + type: string + deploy_ssl_url: + type: string + screenshot_url: + type: string + review_id: + type: number + draft: + type: boolean + required: + type: array + items: + type: string + required_functions: + type: array + items: + type: string + required_edge_functions: + type: array + items: + type: string + description: | + An array of code_shas for the edge-function bundles that need to be uploaded to + complete the deploy. + error_message: + type: string + branch: + type: string + commit_ref: + type: string + commit_url: + type: string + skipped: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + published_at: + type: string + format: dateTime + title: + type: string + context: + type: string + locked: + type: boolean + review_url: + type: string + framework: + type: string + skew_protection_token: + type: string + function_schedules: + type: array + items: + type: object + properties: + name: + type: string + cron: + type: string + functions_region: + type: string + description: | + The functions region for this deploy as an airport code. + functions_region_overrides: + type: array + items: + type: object + properties: + name: + type: string + region: + type: string + description: | + Functions in the deploy that explicitly specify their own region + (airport code). + account_id: + type: string + account_name: + type: string + account_slug: + type: string + git_provider: + type: string + deploy_hook: + type: string + capabilities: + type: object + additionalProperties: + type: string + description: (opaque JSON object) + processing_settings: + type: object + properties: + html: + type: object + properties: + pretty_urls: + type: boolean + build_settings: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + id_domain: + type: string + default_hooks_data: + type: object + properties: + access_token: + type: string + build_image: + type: string + prerender: + type: string + functions_region: + type: string + prevent_non_git_prod_deploys: + type: boolean + default: false + repo: + type: object + properties: + id: + type: integer + provider: + type: string + deploy_key_id: + type: string + repo_path: + type: string + repo_branch: + type: string + dir: + type: string + functions_dir: + type: string + description: The directory where Netlify can find your compiled functions to deploy them. Defaults to netlify/functions if not set. You can also define and override this setting in your project’s netlify.toml file. + cmd: + type: string + description: The build command to run. This is the command that Netlify runs to build your site. If a site has a netlify.toml file with a build command it will override this value. + allowed_branches: + type: array + items: + type: string + public_repo: + type: boolean + private_logs: + type: boolean + repo_url: + type: string + env: + type: object + additionalProperties: + type: string + installation_id: + type: integer + stop_builds: + type: boolean + description: When true, Netlify will not build your project automatically. You can build locally via the CLI and then publish new deploys manually via the CLI or the API. + required: true + createSiteSnippetSnippet: + content: + application/json: + schema: + type: object + properties: + id: + type: integer + format: int32 + site_id: + type: string + title: + type: string + general: + type: string + general_position: + type: string + goal: + type: string + goal_position: + type: string + required: true + updateSiteMetadataMetadata: + content: + application/json: + schema: + type: string + description: (opaque JSON object) + required: true + schemas: + stackqlSiteMetadataUpdateBody: + type: object + required: + - metadata + properties: + metadata: + type: object + additionalProperties: true + description: Arbitrary JSON object stored as the site metadata; sent verbatim as the request body. + stackqlSiteMetadataGetResponse: + type: object + properties: + metadata: + type: object + additionalProperties: true + description: The site metadata object (opaque JSON). + x-stackQL-resources: + sites: + id: netlify.sites.sites + name: sites + title: Sites + methods: + list: + operation: + $ref: '#/paths/~1sites/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + purge_cache: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1purge/post' + response: + mediaType: application/json + openAPIDocKey: '202' + unlink_repo: + operation: + $ref: '#/paths/~1sites~1{site_id}~1unlink_repo/put' + response: + mediaType: application/json + openAPIDocKey: '200' + enable: + operation: + $ref: '#/paths/~1sites~1{site_id}~1enable/put' + response: + mediaType: application/json + openAPIDocKey: '204' + disable: + operation: + $ref: '#/paths/~1sites~1{site_id}~1disable/put' + response: + mediaType: application/json + openAPIDocKey: '204' + create_in_team: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1{account_slug}~1sites/post' + response: + mediaType: application/json + openAPIDocKey: '201' + list_for_account: + operation: + $ref: '#/paths/~1{account_slug}~1sites/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sites/methods/get' + - $ref: '#/components/x-stackQL-resources/sites/methods/list_for_account' + - $ref: '#/components/x-stackQL-resources/sites/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/sites/methods/create_in_team' + - $ref: '#/components/x-stackQL-resources/sites/methods/create' + update: + - $ref: '#/components/x-stackQL-resources/sites/methods/update' + delete: + - $ref: '#/components/x-stackQL-resources/sites/methods/delete' + replace: [] + ssl_certificates: + id: netlify.sites.ssl_certificates + name: ssl_certificates + title: Ssl Certificates + methods: + provision: + operation: + $ref: '#/paths/~1sites~1{site_id}~1ssl/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1ssl/get' + response: + mediaType: application/json + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1ssl~1certificates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ssl_certificates/methods/get' + - $ref: '#/components/x-stackQL-resources/ssl_certificates/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/ssl_certificates/methods/provision' + update: [] + delete: [] + replace: [] + site_files: + id: netlify.sites.site_files + name: site_files + title: Site Files + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1files/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1files~1{file_path}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/site_files/methods/get' + - $ref: '#/components/x-stackQL-resources/site_files/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + site_assets: + id: netlify.sites.site_assets + name: site_assets + title: Site Assets + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/site_assets/methods/get' + - $ref: '#/components/x-stackQL-resources/site_assets/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/site_assets/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/site_assets/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/site_assets/methods/update' + site_asset_public_signatures: + id: netlify.sites.site_asset_public_signatures + name: site_asset_public_signatures + title: Site Asset Public Signatures + methods: + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1assets~1{asset_id}~1public_signature/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/site_asset_public_signatures/methods/get' + insert: [] + update: [] + delete: [] + replace: [] + snippets: + id: netlify.sites.snippets + name: snippets + title: Snippets + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1snippets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1snippets/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete: + operation: + $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/snippets/methods/get' + - $ref: '#/components/x-stackQL-resources/snippets/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/snippets/methods/create' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/snippets/methods/delete' + replace: + - $ref: '#/components/x-stackQL-resources/snippets/methods/update' + site_metadata: + id: netlify.sites.site_metadata + name: site_metadata + title: Site Metadata + methods: + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1metadata/get' + response: + mediaType: application/json + openAPIDocKey: '200' + overrideMediaType: application/json + schema_override: + $ref: '#/components/schemas/stackqlSiteMetadataGetResponse' + transform: + type: golang_template_json_v0.3.0 + body: '{"metadata": {{ toJson . }}}' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1metadata/put' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + mediaType: application/json + required: + - metadata + schema_override: + $ref: '#/components/schemas/stackqlSiteMetadataUpdateBody' + transform: + type: golang_template_json_v0.3.0 + body: '{{ toJson .metadata }}' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/site_metadata/methods/get' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/site_metadata/methods/update' + deployed_branches: + id: netlify.sites.deployed_branches + name: deployed_branches + title: Deployed Branches + methods: + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1deployed-branches/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployed_branches/methods/list' + insert: [] + update: [] + delete: [] + replace: [] + site_dns: + id: netlify.sites.site_dns + name: site_dns + title: Site Dns + methods: + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dns/get' + response: + mediaType: application/json + openAPIDocKey: '200' + configure: + operation: + $ref: '#/paths/~1sites~1{site_id}~1dns/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/site_dns/methods/get' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/sni_certificate.yaml b/providers/src/netlify/v00.00.00000/services/sni_certificate.yaml deleted file mode 100644 index ce1d2b25..00000000 --- a/providers/src/netlify/v00.00.00000/services/sni_certificate.yaml +++ /dev/null @@ -1,198 +0,0 @@ -paths: - /sites/{site_id}/ssl: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sniCertificate' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - sniCertificate - operationId: showSiteTLSCertificate - post: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: query - name: certificate - schema: - type: string - - in: query - name: key - schema: - type: string - - in: query - name: ca_certificates - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/sniCertificate' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - sniCertificate - operationId: provisionSiteTLSCertificate -components: - schemas: - sniCertificate: - properties: - created_at: - format: dateTime - type: string - domains: - items: - type: string - type: array - expires_at: - format: dateTime - type: string - state: - type: string - updated_at: - format: dateTime - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_ssl: - id: netlify.sni_certificate.sites_ssl - name: sites_ssl - title: Sites_ssl - methods: - showSiteTLSCertificate: - operation: - $ref: '#/paths/~1sites~1{site_id}~1ssl/get' - response: - mediaType: application/json - openAPIDocKey: '200' - provisionSiteTLSCertificate: - operation: - $ref: '#/paths/~1sites~1{site_id}~1ssl/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: sniCertificate - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - sni_certificate - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/snippet.yaml b/providers/src/netlify/v00.00.00000/services/snippet.yaml deleted file mode 100644 index 3898ebb6..00000000 --- a/providers/src/netlify/v00.00.00000/services/snippet.yaml +++ /dev/null @@ -1,262 +0,0 @@ -paths: - /sites/{site_id}/snippets: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/snippet' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - snippet - operationId: listSiteSnippets - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/snippet' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - snippet - operationId: createSiteSnippet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippet' - required: true - parameters: *ref_0 - /sites/{site_id}/snippets/{snippet_id}: - delete: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - snippet - operationId: deleteSiteSnippet - parameters: &ref_1 - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: snippet_id - required: true - schema: - type: string - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippet' - description: OK - default: - $ref: '#/components/responses/error' - tags: - - snippet - operationId: getSiteSnippet - parameters: *ref_1 - put: - responses: - '204': - description: No content - default: - $ref: '#/components/responses/error' - tags: - - snippet - operationId: updateSiteSnippet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippet' - required: true - parameters: *ref_1 -components: - schemas: - snippet: - properties: - general: - type: string - general_position: - type: string - goal: - type: string - goal_position: - type: string - id: - format: int32 - type: integer - site_id: - type: string - title: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_snippets: - id: netlify.snippet.sites_snippets - name: sites_snippets - title: Sites_snippets - methods: - listSiteSnippets: - operation: - $ref: '#/paths/~1sites~1{site_id}~1snippets/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSiteSnippet: - operation: - $ref: '#/paths/~1sites~1{site_id}~1snippets/post' - response: - mediaType: application/json - openAPIDocKey: '201' - deleteSiteSnippet: - operation: - $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - getSiteSnippet: - operation: - $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSiteSnippet: - operation: - $ref: '#/paths/~1sites~1{site_id}~1snippets~1{snippet_id}/put' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_snippets/methods/getSiteSnippet' - - $ref: '#/components/x-stackQL-resources/sites_snippets/methods/listSiteSnippets' - insert: - - $ref: '#/components/x-stackQL-resources/sites_snippets/methods/createSiteSnippet' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/sites_snippets/methods/deleteSiteSnippet' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: snippet - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - snippet - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/split_test.yaml b/providers/src/netlify/v00.00.00000/services/split_test.yaml deleted file mode 100644 index 90404177..00000000 --- a/providers/src/netlify/v00.00.00000/services/split_test.yaml +++ /dev/null @@ -1,338 +0,0 @@ -paths: - /sites/{site_id}/traffic_splits: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/splitTests' - description: split_tests - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: getSplitTests - parameters: &ref_0 - - in: path - name: site_id - required: true - schema: - type: string - post: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/splitTest' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: createSplitTest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/splitTestSetup' - required: true - parameters: *ref_0 - /sites/{site_id}/traffic_splits/{split_test_id}: - get: - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/splitTest' - description: split_test - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: getSplitTest - parameters: &ref_1 - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: split_test_id - required: true - schema: - type: string - put: - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/splitTest' - description: Created - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: updateSplitTest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/splitTestSetup' - required: true - parameters: *ref_1 - /sites/{site_id}/traffic_splits/{split_test_id}/publish: - post: - responses: - '204': - description: enable - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: enableSplitTest - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: split_test_id - required: true - schema: - type: string - /sites/{site_id}/traffic_splits/{split_test_id}/unpublish: - post: - responses: - '204': - description: disabled - default: - $ref: '#/components/responses/error' - tags: - - splitTest - operationId: disableSplitTest - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - in: path - name: split_test_id - required: true - schema: - type: string -components: - schemas: - splitTests: - items: - $ref: '#/components/schemas/splitTest' - type: array - splitTest: - properties: - active: - type: boolean - branches: - items: - type: object - type: array - created_at: - format: dateTime - type: string - id: - type: string - name: - type: string - path: - type: string - site_id: - type: string - unpublished_at: - format: dateTime - type: string - updated_at: - format: dateTime - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - splitTestSetup: - properties: - branch_tests: - type: object - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - sites_traffic_splits: - id: netlify.split_test.sites_traffic_splits - name: sites_traffic_splits - title: Sites_traffic_splits - methods: - getSplitTests: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits/get' - response: - mediaType: application/json - openAPIDocKey: '200' - createSplitTest: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits/post' - response: - mediaType: application/json - openAPIDocKey: '201' - getSplitTest: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - updateSplitTest: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}/put' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_traffic_splits/methods/getSplitTest' - - $ref: '#/components/x-stackQL-resources/sites_traffic_splits/methods/getSplitTests' - insert: - - $ref: '#/components/x-stackQL-resources/sites_traffic_splits/methods/createSplitTest' - update: [] - delete: [] - sites_traffic_splits_publish: - id: netlify.split_test.sites_traffic_splits_publish - name: sites_traffic_splits_publish - title: Sites_traffic_splits_publish - methods: - enableSplitTest: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}~1publish/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] - sites_traffic_splits_unpublish: - id: netlify.split_test.sites_traffic_splits_unpublish - name: sites_traffic_splits_unpublish - title: Sites_traffic_splits_unpublish - methods: - disableSplitTest: - operation: - $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}~1unpublish/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: [] - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: splitTest - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - split_test - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/split_tests.yaml b/providers/src/netlify/v00.00.00000/services/split_tests.yaml new file mode 100644 index 00000000..0673e33c --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/split_tests.yaml @@ -0,0 +1,403 @@ +openapi: 3.0.0 +info: + title: split_tests API + description: netlify split_tests API + version: 2.57.0 +paths: + /sites/{site_id}/traffic_splits: + post: + operationId: createSplitTest + tags: + - splitTest + requestBody: + $ref: '#/components/requestBodies/createSplitTestBranchTests' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + name: + type: string + path: + type: string + branches: + type: array + items: + type: string + description: (opaque JSON object) + active: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + unpublished_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + get: + operationId: getSplitTests + tags: + - splitTest + responses: + '200': + description: split_tests + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + type: string + site_id: + type: string + name: + type: string + path: + type: string + branches: + type: array + items: + type: string + description: (opaque JSON object) + active: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + unpublished_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + /sites/{site_id}/traffic_splits/{split_test_id}: + put: + operationId: updateSplitTest + tags: + - splitTest + requestBody: + $ref: '#/components/requestBodies/createSplitTestBranchTests' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + name: + type: string + path: + type: string + branches: + type: array + items: + type: string + description: (opaque JSON object) + active: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + unpublished_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: split_test_id + in: path + required: true + schema: + type: string + get: + operationId: getSplitTest + tags: + - splitTest + responses: + '200': + description: split_test + content: + application/json: + schema: + type: object + properties: + id: + type: string + site_id: + type: string + name: + type: string + path: + type: string + branches: + type: array + items: + type: string + description: (opaque JSON object) + active: + type: boolean + created_at: + type: string + format: dateTime + updated_at: + type: string + format: dateTime + unpublished_at: + type: string + format: dateTime + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: split_test_id + in: path + required: true + schema: + type: string + /sites/{site_id}/traffic_splits/{split_test_id}/publish: + post: + operationId: enableSplitTest + tags: + - splitTest + responses: + '204': + description: enable + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: split_test_id + in: path + required: true + schema: + type: string + /sites/{site_id}/traffic_splits/{split_test_id}/unpublish: + post: + operationId: disableSplitTest + tags: + - splitTest + responses: + '204': + description: disabled + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false + parameters: + - name: site_id + in: path + required: true + schema: + type: string + - name: split_test_id + in: path + required: true + schema: + type: string +components: + requestBodies: + createSplitTestBranchTests: + content: + application/json: + schema: + type: object + properties: + branch_tests: + type: string + description: (opaque JSON object) + required: true + schemas: {} + x-stackQL-resources: + split_tests: + id: netlify.split_tests.split_tests + name: split_tests + title: Split Tests + methods: + create: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1traffic_splits/post' + response: + mediaType: application/json + openAPIDocKey: '201' + list: + operation: + $ref: '#/paths/~1sites~1{site_id}~1traffic_splits/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}/put' + response: + mediaType: application/json + openAPIDocKey: '201' + get: + operation: + $ref: '#/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + publish: + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}~1publish/post + response: + mediaType: application/json + openAPIDocKey: '204' + unpublish: + operation: + $ref: >- + #/paths/~1sites~1{site_id}~1traffic_splits~1{split_test_id}~1unpublish/post + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/split_tests/methods/get' + - $ref: '#/components/x-stackQL-resources/split_tests/methods/list' + insert: + - $ref: '#/components/x-stackQL-resources/split_tests/methods/create' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/split_tests/methods/update' +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/providers/src/netlify/v00.00.00000/services/submission.yaml b/providers/src/netlify/v00.00.00000/services/submission.yaml deleted file mode 100644 index 7ee293de..00000000 --- a/providers/src/netlify/v00.00.00000/services/submission.yaml +++ /dev/null @@ -1,288 +0,0 @@ -paths: - /forms/{form_id}/submissions: - get: - parameters: - - in: path - name: form_id - required: true - schema: - type: string - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/perPage' - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/submission' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - submission - operationId: listFormSubmissions - /sites/{site_id}/submissions: - get: - parameters: - - in: path - name: site_id - required: true - schema: - type: string - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/perPage' - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/submission' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - submission - operationId: listSiteSubmissions - /submissions/{submission_id}: - delete: - responses: - '204': - description: Deleted - default: - $ref: '#/components/responses/error' - tags: - - submission - operationId: deleteSubmission - parameters: &ref_0 - - in: path - name: submission_id - required: true - schema: - type: string - get: - parameters: *ref_0 - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/submission' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - submission - operationId: listFormSubmission -components: - schemas: - submission: - properties: - body: - type: string - company: - type: string - created_at: - format: dateTime - type: string - data: - type: object - email: - type: string - first_name: - type: string - id: - type: string - last_name: - type: string - name: - type: string - number: - format: int32 - type: integer - site_url: - type: string - summary: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: - page: - in: query - name: page - required: false - schema: - format: int32 - type: integer - perPage: - in: query - name: per_page - required: false - schema: - format: int32 - type: integer - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - forms_submissions: - id: netlify.submission.forms_submissions - name: forms_submissions - title: Forms_submissions - methods: - listFormSubmissions: - operation: - $ref: '#/paths/~1forms~1{form_id}~1submissions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/forms_submissions/methods/listFormSubmissions' - insert: [] - update: [] - delete: [] - sites_submissions: - id: netlify.submission.sites_submissions - name: sites_submissions - title: Sites_submissions - methods: - listSiteSubmissions: - operation: - $ref: '#/paths/~1sites~1{site_id}~1submissions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/sites_submissions/methods/listSiteSubmissions' - insert: [] - update: [] - delete: [] - submissions: - id: netlify.submission.submissions - name: submissions - title: Submissions - methods: - deleteSubmission: - operation: - $ref: '#/paths/~1submissions~1{submission_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - listFormSubmission: - operation: - $ref: '#/paths/~1submissions~1{submission_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/submissions/methods/listFormSubmission' - insert: [] - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/submissions/methods/deleteSubmission' -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: submission - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - submission - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/ticket.yaml b/providers/src/netlify/v00.00.00000/services/ticket.yaml deleted file mode 100644 index 17e6be64..00000000 --- a/providers/src/netlify/v00.00.00000/services/ticket.yaml +++ /dev/null @@ -1,182 +0,0 @@ -paths: - /oauth/tickets: - post: - parameters: - - in: query - name: client_id - required: true - schema: - type: string - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ticket' - description: ok - default: - $ref: '#/components/responses/error' - tags: - - ticket - operationId: createTicket - /oauth/tickets/{ticket_id}: - get: - parameters: - - in: path - name: ticket_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ticket' - description: ok - default: - $ref: '#/components/responses/error' - tags: - - ticket - operationId: showTicket -components: - schemas: - ticket: - properties: - authorized: - type: boolean - client_id: - type: string - created_at: - format: dateTime - type: string - id: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - oauth_tickets: - id: netlify.ticket.oauth_tickets - name: oauth_tickets - title: Oauth_tickets - methods: - createTicket: - operation: - $ref: '#/paths/~1oauth~1tickets/post' - response: - mediaType: application/json - openAPIDocKey: '201' - showTicket: - operation: - $ref: '#/paths/~1oauth~1tickets~1{ticket_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: '#/components/x-stackQL-resources/oauth_tickets/methods/createTicket' - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: ticket - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - ticket - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/user.yaml b/providers/src/netlify/v00.00.00000/services/user.yaml deleted file mode 100644 index 30c82856..00000000 --- a/providers/src/netlify/v00.00.00000/services/user.yaml +++ /dev/null @@ -1,173 +0,0 @@ -paths: - /user: - get: - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/user' - type: array - description: OK - default: - $ref: '#/components/responses/error' - tags: - - user - operationId: getCurrentUser -components: - schemas: - user: - properties: - affiliate_id: - type: string - avatar_url: - type: string - created_at: - format: dateTime - type: string - email: - type: string - full_name: - type: string - id: - type: string - last_login: - format: dateTime - type: string - login_providers: - items: - type: string - type: array - onboarding_progress: - properties: - slides: - type: string - type: object - site_count: - format: int64 - type: integer - uid: - type: string - type: object - error: - properties: - code: - format: int64 - type: integer - message: - nullable: false - type: string - required: - - message - type: object - parameters: {} - responses: - error: - content: - application/json: - schema: - $ref: '#/components/schemas/error' - description: error - securitySchemes: {} - callbacks: {} - examples: {} - requestBodies: {} - headers: {} - links: {} - x-stackQL-resources: - user: - id: netlify.user.user - name: user - title: User - methods: - getCurrentUser: - operation: - $ref: '#/paths/~1user/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/user/methods/getCurrentUser' - insert: [] - update: [] - delete: [] -openapi: 3.0.0 -servers: - - url: https://api.netlify.com/api/v1 -security: - - netlifyAuth: [] -tags: - - name: ticket - x-displayName: Ticket - - name: accessToken - x-displayName: Access token - - name: user - x-displayName: User - - name: accountMembership - x-displayName: Accounts - - name: member - x-displayName: Member - - name: accountType - x-displayName: Access type - - name: paymentMethod - x-displayName: Payment method - - name: auditLog - x-displayName: Audit log - - name: site - x-displayName: Site - - name: file - x-displayName: File - - name: metadata - x-displayName: Metadata - - name: snippet - x-displayName: Snippet - - name: dnsZone - x-displayName: DNS zone - - name: sniCertificate - x-displayName: SNI certificate - - name: deploy - x-displayName: Deploy - - name: deployedBranch - x-displayName: Deployed branch - - name: deployKey - x-displayName: Deploy key - - name: build - x-displayName: Build - - name: buildLogMsg - x-displayName: Build log message - - name: hook - x-displayName: Hook - - name: hookType - x-displayName: Hook type - - name: buildHook - x-displayName: Build hook - - name: service - x-displayName: Service - - name: serviceInstance - x-displayName: Service instance - - name: function - x-displayName: Function - - name: form - x-displayName: Form - - name: submission - x-displayName: Form submission - - name: splitTest - x-displayName: Split test - - name: asset - x-displayName: Asset - - name: assetPublicSignature - x-displayName: Asset public signature -externalDocs: - description: Online documentation - url: https://www.netlify.com/docs/api/ -info: - description: user - termsOfService: https://www.netlify.com/legal/terms-of-use/ - title: Netlify's API documentation - user - version: 2.9.0 - x-logo: - altText: Netlify - href: https://www.netlify.com/docs/ - url: netlify-logo.png diff --git a/providers/src/netlify/v00.00.00000/services/users.yaml b/providers/src/netlify/v00.00.00000/services/users.yaml new file mode 100644 index 00000000..1a8eae6b --- /dev/null +++ b/providers/src/netlify/v00.00.00000/services/users.yaml @@ -0,0 +1,94 @@ +openapi: 3.0.0 +info: + title: users API + description: netlify users API + version: 2.57.0 +paths: + /user: + get: + operationId: getCurrentUser + tags: + - user + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: string + uid: + type: string + full_name: + type: string + avatar_url: + type: string + email: + type: string + affiliate_id: + type: string + site_count: + type: integer + format: int64 + created_at: + type: string + format: dateTime + last_login: + type: string + format: dateTime + login_providers: + type: array + items: + type: string + onboarding_progress: + type: object + properties: + slides: + type: string + default: + description: error + content: + application/json: + schema: + type: object + required: + - message + properties: + code: + type: integer + format: int64 + message: + type: string + nullable: false +components: + x-stackQL-resources: + users: + id: netlify.users.users + name: users + title: Users + methods: + get_current: + operation: + $ref: '#/paths/~1user/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/users/methods/get_current' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.netlify.com/api/v1 +x-stackQL-config: + pagination: + requestToken: + key: '' + location: request + responseToken: + key: Link + location: header diff --git a/scripts/cicd/shell/provider-delete-guard.sh b/scripts/cicd/shell/provider-delete-guard.sh new file mode 100755 index 00000000..68621097 --- /dev/null +++ b/scripts/cicd/shell/provider-delete-guard.sh @@ -0,0 +1,163 @@ +#!/usr/bin/env bash +# +# provider-delete-guard.sh +# +# Fails if any provider directory under providers/src that exists in a base +# commit no longer exists in the head commit. A provider is considered present +# in a commit if providers/src///provider.yaml exists for at +# least one version. Changes to files within a provider (including deletions +# of individual service docs) are not affected by this guard. +# +# Usage: +# provider-delete-guard.sh [ ...] +# +# Override: +# A provider may be deleted only if a commit message in the range +# .. (or the head commit itself) contains an explicit +# override token naming the provider(s) being deleted, for example: +# +# [allow-provider-delete: netlify] +# [allow-provider-delete: netlify, deno] +# +# Wildcards are not supported; every deleted provider must be named. +# +# Exit codes: +# 0 - no providers deleted, or all deletions explicitly allowed +# 1 - one or more providers deleted without an override +# 2 - usage error + +set -euo pipefail + +PROVIDER_SRC="providers/src" +OVERRIDE_KEY="allow-provider-delete" + +if [ "$#" -lt 2 ]; then + echo "usage: $0 [ ...]" >&2 + exit 2 +fi + +head_ref="$1" +shift +base_refs=("$@") + +log() { echo "[provider-delete-guard] $*"; } + +summary() { + # write to the GitHub Actions job summary when available, otherwise no-op + if [ -n "${GITHUB_STEP_SUMMARY:-}" ]; then + echo "$*" >> "$GITHUB_STEP_SUMMARY" + fi +} + +resolve_commit() { + git rev-parse --verify --quiet "${1}^{commit}" +} + +# list providers present in a ref (one per line, sorted) +list_providers() { + git ls-tree -r --name-only "$1" -- "$PROVIDER_SRC" \ + | grep -E "^${PROVIDER_SRC}/[^/]+/[^/]+/provider\.ya?ml$" \ + | awk -F/ '{print $3}' \ + | sort -u +} + +# extract provider names named in override tokens from stdin +parse_overrides() { + grep -oiE "\[[[:space:]]*${OVERRIDE_KEY}[[:space:]]*:[^]]*\]" \ + | sed -E "s/^\[[[:space:]]*[A-Za-z-]+[[:space:]]*://; s/\]$//" \ + | tr ',' ' ' \ + | tr -s '[:space:]' '\n' \ + | sed '/^$/d' \ + | sort -u +} + +head_sha="$(resolve_commit "$head_ref")" || { + echo "::error::head ref '${head_ref}' is not a commit" >&2 + exit 2 +} + +log "head: ${head_ref} (${head_sha})" + +head_providers="$(list_providers "$head_sha")" +head_count="$(printf '%s\n' "$head_providers" | sed '/^$/d' | wc -l | tr -d ' ')" +log "providers in head: ${head_count}" + +if [ "$head_count" -eq 0 ]; then + echo "::error::no providers found under ${PROVIDER_SRC} in ${head_ref}; refusing to continue" >&2 + exit 1 +fi + +# collect override tokens from every commit reachable from head but not from +# any base, plus the head commit itself (covers merge/squash commits) +override_messages="$(git log -1 --format=%B "$head_sha")" +for base_ref in "${base_refs[@]}"; do + base_sha="$(resolve_commit "$base_ref")" || continue + override_messages+=$'\n'"$(git log --format=%B "${base_sha}..${head_sha}")" +done +allowed_providers="$(printf '%s\n' "$override_messages" | parse_overrides || true)" + +if [ -n "$allowed_providers" ]; then + log "override token(s) found for: $(printf '%s' "$allowed_providers" | tr '\n' ' ')" +fi + +failed=0 +deleted_any=0 + +for base_ref in "${base_refs[@]}"; do + base_sha="$(resolve_commit "$base_ref")" || { + log "base ref '${base_ref}' is not a commit, skipping" + continue + } + + if [ "$base_sha" = "$head_sha" ]; then + log "base ${base_ref} is the head commit, skipping" + continue + fi + + base_providers="$(list_providers "$base_sha")" + deleted="$(comm -23 <(printf '%s\n' "$base_providers") <(printf '%s\n' "$head_providers") | sed '/^$/d')" + + if [ -z "$deleted" ]; then + log "no providers deleted relative to ${base_ref} (${base_sha})" + continue + fi + + deleted_any=1 + log "providers present in ${base_ref} (${base_sha}) but missing from head:" + + while IFS= read -r provider; do + if printf '%s\n' "$allowed_providers" | grep -qxF "$provider"; then + log " ${provider} - deletion explicitly allowed by [${OVERRIDE_KEY}: ${provider}]" + echo "::warning::provider '${provider}' deleted from ${PROVIDER_SRC} (explicitly allowed by override)" + summary "- \`${provider}\` deleted from \`${PROVIDER_SRC}\` - allowed by override" + else + log " ${provider} - deletion NOT allowed" + echo "::error::provider '${provider}' was deleted from ${PROVIDER_SRC} without an override (base ${base_ref})" + summary "- \`${provider}\` deleted from \`${PROVIDER_SRC}\` - **blocked** (no override)" + failed=1 + fi + done <<< "$deleted" +done + +if [ "$failed" -ne 0 ]; then + cat >&2 <] + [${OVERRIDE_KEY}: , ] + +and push again. +MSG + exit 1 +fi + +if [ "$deleted_any" -eq 0 ]; then + log "PASSED: no providers deleted" + summary "Provider delete guard: no providers deleted from \`${PROVIDER_SRC}\`." +else + log "PASSED: all provider deletions explicitly allowed" +fi