openapi: 3.0.0
info:
  title: Cockpit API
  description: "Scaleway's Cockpit allows you to monitor your applications and their
    infrastructure by giving you insights and context into their behavior. Cockpit
    also enables you to visualize your metrics, logs, and traces through a Grafana
    dashboard. With Cockpit, you can also push data from your Scaleway resources,
    if they are [integrated with Cockpit](https://www.scaleway.com/en/docs/observability/cockpit/reference-content/cockpit-limitations/#product-integration-into-cockpit).\n\nThe
    Observability Cockpit provides you with Prometheus Remote Write endpoints for
    pushing metrics and logs. You can push metrics with any `Prometheus Remote Write`
    compatible agent such as [Prometheus](https://prometheus.io/docs/introduction/overview/),
    [Grafana](https://grafana.com/docs/agent/latest/) or [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/).\n\nYou
    can push logs with any Loki compatible agent such as [Promtail](https://grafana.com/docs/loki/latest/clients/promtail/),
    [Fluentd](https://docs.fluentd.org/), [Fluent Bit](https://docs.fluentbit.io/manual/)
    or [Logstash](https://www.elastic.co/guide/en/logstash/current/introduction.html).\n\n(switchcolumn)\n<Message
    type=\"note\">\nThis API concerns the Cockpit service.\n</Message>\n(switchcolumn)\n\n##
    Concepts\n\nRefer to our [dedicated concepts page](https://www.scaleway.com/en/docs/observability/cockpit/concepts/)
    to find definitions of the different terms referring to the Observability Cockpit.\n\n(switchcolumn)\n(switchcolumn)\n##
    Quickstart\n\n1. **Configure your environment variables.**\n\n    <Message type=\"note\">\n
    \   This is an optional step that seeks to simplify your usage of the API.\n    </Message>\n\n
    \   ```bash\n    export SCW_SECRET_KEY=\"<API secret key>\"\n    export SCW_PROJECT_ID=\"<Scaleway
    Project ID>\n    ```\n2.  **Build push URLs.**\n\n    Retrieve your [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints)
    for metrics, logs, traces, the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager),
    and Grafana from the [Data sources tab](https://console.scaleway.com/cockpit/dataSource)
    of the Scaleway console. Your endpoints should look like the following:\n\n    ```json\n
    \   {\n        [...],\n        \"endpoints\": {\n            \"metrics_url\":
    \"https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.metrics.cockpit.fr-par.scw.cloud\",\n
    \           \"logs_url\": \"https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.logs.cockpit.fr-par.scw.cloud\",\n
    \           \"alertmanager_url\": \"https://alertmanager.cockpit.fr-par.scw.cloud\",\n
    \           \"grafana_url\": \"<project_id>.dashboard.obs.fr-par.scw.cloud\",\n
    \           \"traces_url\": \"https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.traces.cockpit.fr-par.scw.cloud\"\n
    \       },\n        [...]\n    }\n    ```\n\n    The `metrics_url` is a domain
    that exposes a Prometheus-like API to manage metrics, and the `logs_url` exposes
    a Loki API to manage logs.\n\n    <Message type=\"important\">\n    To be able
    to send metrics, logs, and traces, you need the **exact URL** to use with your
    **pushers**. You can find the URL from the [Data sources tab](https://console.scaleway.com/cockpit/dataSource)
    of the Scaleway console.\n    </Message>\n\n    - The Prometheus Remote Write
    endpoint to push your metrics is the following: `https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.metrics.cockpit.fr-par.scw.cloud/api/v1/push`\n
    \   - The Remote Write endpoint to push your logs is the following: `https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.logs.cockpit.fr-par.scw.cloud/loki/api/v1/push`\n
    \   - The Prometheus Alertmanager endpoint is the following: `https://alertmanager.cockpit.fr-par.scw.cloud/alertmanager`\n
    \   - Traces have different endpoints depending on the [push path](https://www.scaleway.com/en/docs/observability/cockpit/how-to/activate-push-traces/#retrieve-traces-push-paths)
    you use. The traces endpoint for the OpenTelemetry agent is: `https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx..cockpit.fr-par.scw.cloud/otlp`.\n\n3.
    **Create your token to push metrics, logs, and traces.**\n\n    Find out [how
    to create your token via the console](https://www.scaleway.com/en/docs/observability/cockpit/how-to/create-token/)
    or run the following command to create your token via the API.\n\n    ```bash\n
    \   curl -X POST \\\n    \"https://api.scaleway.com/cockpit/v1beta1/tokens\" \\\n
    \   -H \"Content-Type: application/json\" \\\n    -H \"X-Auth-Token: $SCW_SECRET_KEY\"
    \\\n    -d '{\n      \"project_id\": \"00000000-0000-0000-0000-000000000000\",\n
    \     \"name\": \"token-name\",\n      \"scopes\": {\n        \"query_metrics\":
    false,\n        \"write_metrics\": true,\n        \"setup_metrics_rules\": false,\n
    \       \"query_logs\": false,\n        \"write_logs\": true,\n        \"setup_logs_rules\":
    false,\n        \"setup_alerts\": false,\n        \"query_traces\": false,\n        \"write_traces\":
    true\n      }\n    }'\n    ```\n\n    <Message type=\"important\">\n      Your
    token's `secret_key` only displays once. Make sure that you save it. We strongly
    recommend that you only give the minimal amount of permissions to your token.\n
    \   </Message>\n\n4. **Configure the Grafana agent.**\n\n    Find out [how to
    configure, start the Grafana agent and see your metrics, logs, and traces](https://www.scaleway.com/en/docs/observability/cockpit/api-cli/configuring-grafana-agent/)
    in our documentation.\n\n    <Message type=\"note\">\n    The promtail configuration
    for logs does not support custom headers. The `tenant_id` field corresponds to
    the header `X-Scope-OrgID` which\n    is one of the supported headers. For more
    details on the different supported headers, see our [troubleshooting documentation
    for when your pusher does not support custom HTTP headers](https://www.scaleway.com/en/docs/observability/cockpit/troubleshooting/pusher-does-not-support-custom-http-headers/).\n
    \   </Message>\n\n5. **Configure rules and alerts.**\n\n    Upon creation, your
    Grafana instance is already configured by default with your data sources and the
    alert manager data source. This means that you will be able to configure and manage
    advanced alerting rules, for metrics, logs, and traces, configure contact points
    and notification policies, from Grafana.\n\n    To do so, [access your Grafana
    dashboard](https://www.scaleway.com/en/docs/observability/cockpit/how-to/access-grafana-and-managed-dashboards/)
    and read our [dedicated documentation](https://www.scaleway.com/en/docs/observability/cockpit/how-to/configure-alerts-for-scw-resources/)
    to find out how to configure alert rules for Scaleway resources. Refer to the
    **External links** section of this page if you are not familiar with the alert
    manager or alert rules.\n\n    <Message type=\"important\">\n    For the alerts
    and rules to be created in your Cockpit, you must use the data sources provided
    by Scaleway.\n    </Message>\n\n    <Message type=\"important\">\n    Make sure
    that you select `Scaleway Alerting` as your alert manager, as the alerts are managed
    by the platform. If you use `Grafana` you will work with the local alert manager
    which is deactivated.\n    </Message>\n\n(switchcolumn)\n<Message type=\"requirement\">\n\n
    - You have a [Scaleway account](https://console.scaleway.com/)\n - You have [created
    an API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/)
    and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/)
    to perform the actions described on this page\n - You have [installed `curl`](https://curl.se/download.html)\n
    - You have [installed docker](https://www.docker.com/)\n - You have [installed
    docker compose](https://docs.docker.com/compose/install/)\n - You have a Linux
    machine to run the container on. You can still run the container on macOS or Windows,
    but your logs will not be available in your Cockpit.\n</Message>\n(switchcolumn)\n\n##
    Technical information\n\n### Regional availability\n\nScaleway's infrastructure
    is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/console/account/reference-content/organization-quotas/).\nYour
    Cockpit resources are available in the Paris, Amsterdam and Warsaw regions.\n\n###
    Current supported endpoints\n\n- The current supported endpoints for metrics are
    the following. For more information about metrics endpoints, refer to the [Mimir
    documentation](https://grafana.com/docs/mimir/latest/references/http-api/)\n    ```\n
    \   # Remote write endpoints\n    path /api/v1/push\n\n    # Query endpoints\n
    \   path /prometheus/api/v1/query\n    path /prometheus/api/v1/query_range\n    path
    /prometheus/api/v1/query_exemplars\n    path /prometheus/api/v1/series\n    path
    /prometheus/api/v1/labels\n    path /prometheus/api/v1/label/*\n    path /prometheus/api/v1/metadata\n
    \   path /prometheus/api/v1/read\n    path /prometheus/api/v1/status/buildinfo\n
    \   \n  # Ruler endpoints\n    path /prometheus/api/v1/rules\n    path /prometheus/api/v1/alerts\n
    \   path /prometheus/config/v1/rules\n    path /prometheus/config/v1/rules/*\n
    \   ```\n- The current supported endpoints for logs are the following. For more
    information about logs endpoints, refer to the [Loki documentation](https://grafana.com/docs/loki/latest/api/)\n
    \   ```\n    # Remote write endpoints\n    path /loki/api/v1/push\n    \n    #
    Query endpoints\n    path /loki/api/v1/query\n    path /loki/api/v1/query_range\n
    \   path /loki/api/v1/labels\n    path /loki/api/v1/label\n    path /loki/api/v1/label/*\n
    \   path /loki/api/v1/tail\n    path /loki/api/v1/series\n    \n    # Ruler endpoints\n
    \   path /loki/api/v1/rules\n    path /loki/api/v1/rules/*\n    path /api/prom/rules\n
    \   path /api/prom/rules/*\n    path /prometheus/api/v1/rules\n    path /prometheus/api/v1/alerts\n
    \   ```\n- The current supported endpoints for the alert manager are the following.
    For more information about the alert manager endpoints, refer to the [Prometheus
    documentation](https://prometheus.io/docs/prometheus/latest/querying/api/#alerts)\n\n
    \   ```\n    # Prometheus alertmanager\n    path /alertmanager/*\n\n    # Alertmanager
    configuration (see Mimir doc)\n    path /api/v1/alerts\n    ```\n### Troubleshooting\n\nRefer
    to our troubleshooting documentation if [your pusher does not support HTTP headers](https://www.scaleway.com/en/docs/observability/cockpit/troubleshooting/pusher-does-not-support-custom-http-headers/)
    or if you want to [reset your Grafana password.](https://www.scaleway.com/en/docs/observability/cockpit/troubleshooting/resetting-grafana-password-via-the-api/)\n\n##
    Technical limitations\n\n- With the free pricing plan, metrics, traces and logs
    data is retained **31 days**. After this period, data older than 31 days is deleted.\n-
    The number of **active metrics time series** is limited to **250,000 per Cockpit**
    by default.\n- The number of **active log streams** is limited to **5000 per Cockpit**.\n-
    It is not yet possible to downsample metrics.\n\n\n## Going further\n\nFor more
    information about Cockpit, you can check out the following pages:\n\n- [Cockpit
    Documentation](https://www.scaleway.com/en/docs/observability/cockpit/)\n- [Scaleway
    Slack Community](http://slack.scaleway.com) join the #observability-beta and the
    #observability channels\n- [Contact our support team](https://console.scaleway.com/support/tickets)\n\n###
    External links\n\nIf you are interested in learning more, you can check out the
    following pages:\n\n- [Introduction to Prometheus](https://prometheus.io/docs/introduction/overview/).
    This page gives a general introduction to what Prometheus is.\n- [Introduction
    to Promtail](https://grafana.com/docs/loki/latest/clients/promtail/). Promtail
    is an agent that collects and forwards logs to a Grafana Loki instance.\n- [Introduction
    to Grafana Agent](https://grafana.com/docs/grafana-cloud/agent/). Grafana Agent
    is an agent that embeds multiple other agents like Prometheus or Promtail.\n-
    [Pushing logs using Fluentbit](https://docs.fluentbit.io/manual/pipeline/outputs/loki).
    Fluentbit is another commonly used agent that collects and forwards logs.\n- [Pushing
    metrics using Prometheus's agent mode](https://prometheus.io/blog/2021/11/16/agent/).
    Prometheus can be used in an \"agent-mode\" that can scrape local targets and
    forward them using remote-write. This is useful for scenarios where targets are
    exposed in a private network (like a VPN or a single host) but need to be forwarded
    outside of it.\n- [Prometheus remote write configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write).
    This page gives the exact configuration parameters that can be used to configure
    Prometheus's remote-write.\n- [Prometheus data model](https://prometheus.io/docs/concepts/data_model/).
    This page explains the Prometheus data model to help understand the concepts of
    metrics, time series, labels and samples, and how they work together.\n- [Article
    on Prometheus label cardinality and performance](https://www.robustperception.io/cardinality-is-key).
    When working with metrics, the cardinality, which is the number time series for
    a given metric, is extremely important. This article explains why.\n- [Integrations
    supported by Grafana Agent](https://grafana.com/docs/agent/latest/configuration/integrations/).
    Grafana Agent has many other embedded agents that can be used to monitor various
    software, like PostgreSQL or MongoDB. All of them can be found on the left menu
    of this page.\n- [Introduction to alerting using Prometheus](https://prometheus.io/docs/alerting/latest/overview/)\n-
    [How to create a Mimir or Loki managed alerting rule using Grafana](https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/)\n-
    [How to manage alerting rules using Grafana](https://grafana.com/docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/)\n-
    [How to manage contact points using Grafana](https://grafana.com/docs/grafana/latest/alerting/unified-alerting/contact-points/)\n-
    [How to manage notification policies using Grafana](https://grafana.com/docs/grafana/latest/alerting/unified-alerting/notifications/)\n-
    [How to manage silences using Grafana](https://grafana.com/docs/grafana/latest/alerting/unified-alerting/silences/)."
  version: v1beta1
servers:
- url: https://api.scaleway.com
tags:
- name: Cockpits
  description: |
    A Cockpit is an instance that stores metrics, logs, and traces, and provides a dedicated dashboarding system on Grafana to visualize them. Each Scaleway Project can have only one Cockpit
- name: Data sources
  description: |
    Data sources are endpoints that allow you to fetch metrics, logs and traces from your Cockpit. You can configure multiple datasources for each type
- name: Tokens
  description: |
    Tokens are secret keys that allow you to authenticate against your Cockpit’s endpoints (metrics, logs, alerts)
- name: Alert Contact Points
  description: |
    Contact points define individuals or channels to notify when an alert is triggered. Contact points include email addresses. You can configure other contact point types such as on-call systems, slack and texts in your Grafana. Whenever an alert is triggered, all contact points receive a notification
- name: Managed Alerts
  description: |
    Managed alerts are predefined monitoring rules configured by Scaleway. They send notifications when abnormal behaviors are detected on your resources. These alerts are limited to metrics and logs related to the Scaleway resources integrated with Cockpit
- name: Grafana Users
  description: |
    Grafana users are individuals who can log in to Grafana. Each user is associated with a role. Users can have two roles: viewer and editor. A viewer can only view dashboards, whereas an editor can create and edit dashboards. Note that the `admin` username is not available for creation
- name: Pricing Plans
  description: |
    Pricing plans give you information on how you are billed for your usage of the Cockpit product.
- name: Product Dashboards
  description: |
    Product dashboards are Grafana dashboards that are configured by Scaleway. They are available in your Grafana instance and are associated with your Cockpit. They are designed to help you monitor your Scaleway resources.
components:
  schemas:
    scaleway.cockpit.v1beta1.Cockpit:
      type: object
      properties:
        project_id:
          type: string
          description: ID of the Project the Cockpit belongs to.
        created_at:
          type: string
          description: Date and time of the Cockpit's creation. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Date and time of the Cockpit's last update. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        endpoints:
          type: object
          description: Endpoints of the Cockpit.
          properties:
            metrics_url:
              type: string
              description: URL for metrics.
            logs_url:
              type: string
              description: URL for logs.
            traces_url:
              type: string
              description: URL for traces.
            alertmanager_url:
              type: string
              description: URL for the alert manager.
            grafana_url:
              type: string
              description: URL for the Grafana dashboard.
          x-properties-order:
          - metrics_url
          - logs_url
          - traces_url
          - alertmanager_url
          - grafana_url
        status:
          type: string
          description: Status of the Cockpit.
          enum:
          - unknown_status
          - creating
          - ready
          - deleting
          - updating
          - error
          default: unknown_status
        managed_alerts_enabled:
          type: boolean
          description: Specifies whether managed alerts are enabled or disabled.
        plan:
          type: object
          description: Pricing plan information.
          properties:
            id:
              type: string
              description: ID of a given pricing plan. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            name:
              type: string
              description: Name of a given pricing plan.
              enum:
              - unknown_name
              - free
              - premium
              - custom
              x-enum-descriptions:
                values:
                  free: The free plan is the default plan
                  premium: The premium plan with a longer retention
                  custom: The custom plan
              default: unknown_name
            retention_metrics_interval:
              type: string
              description: Interval of time during which Scaleway's Cockpit keeps
                your metrics. (in seconds)
              example: 2.5s
              nullable: true
            retention_logs_interval:
              type: string
              description: Interval of time during which Scaleway's Cockpit keeps
                your logs. (in seconds)
              example: 2.5s
              nullable: true
            retention_traces_interval:
              type: string
              description: Interval of time during which Scaleway's Cockpit keeps
                your traces. (in seconds)
              example: 2.5s
              nullable: true
            sample_ingestion_price:
              type: integer
              description: Ingestion price in cents for 1 million samples.
              format: uint32
            logs_ingestion_price:
              type: integer
              description: Ingestion price in cents for 1 GB of logs.
              format: uint32
            traces_ingestion_price:
              type: integer
              description: Ingestion price in cents for 1 GB of traces.
              format: uint32
            retention_price:
              type: integer
              description: Retention price in euros per month.
              format: uint32
          x-properties-order:
          - id
          - name
          - retention_metrics_interval
          - retention_logs_interval
          - retention_traces_interval
          - sample_ingestion_price
          - logs_ingestion_price
          - traces_ingestion_price
          - retention_price
      x-properties-order:
      - project_id
      - created_at
      - updated_at
      - endpoints
      - status
      - managed_alerts_enabled
      - plan
    scaleway.cockpit.v1beta1.CockpitMetrics:
      type: object
      properties:
        timeseries:
          type: array
          description: Time series array.
          items:
            $ref: '#/components/schemas/scaleway.std.TimeSeries'
      x-properties-order:
      - timeseries
    scaleway.cockpit.v1beta1.ContactPoint:
      type: object
      properties:
        email:
          type: object
          description: Contact point configuration.
          properties:
            to:
              type: string
          nullable: true
          x-properties-order:
          - to
          x-one-of: configuration
      x-properties-order:
      - email
    scaleway.cockpit.v1beta1.Datasource:
      type: object
      properties:
        id:
          type: string
          description: ID of the data source. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        project_id:
          type: string
          description: ID of the Project the Cockpit belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        name:
          type: string
          description: Data source name.
        url:
          type: string
          description: Data source URL.
        type:
          type: string
          description: Data source type.
          enum:
          - unknown_datasource_type
          - metrics
          - logs
          - traces
          - alerts
          default: unknown_datasource_type
        is_managed_by_scaleway:
          type: boolean
          description: Specifies that the data source receives data from Scaleway
            products and is managed by Scaleway.
      x-properties-order:
      - id
      - project_id
      - name
      - url
      - type
      - is_managed_by_scaleway
    scaleway.cockpit.v1beta1.DatasourceType:
      type: string
      enum:
      - unknown_datasource_type
      - metrics
      - logs
      - traces
      - alerts
      default: unknown_datasource_type
    scaleway.cockpit.v1beta1.GrafanaProductDashboard:
      type: object
      properties:
        dashboard_name:
          type: string
          description: Name of the dashboard.
        title:
          type: string
          description: Title of the dashboard.
        url:
          type: string
          description: URL of the dashboard.
        tags:
          type: array
          description: Tags of the dashboard.
          items:
            type: string
        variables:
          type: array
          description: Variables of the dashboard.
          items:
            type: string
      x-properties-order:
      - dashboard_name
      - title
      - url
      - tags
      - variables
    scaleway.cockpit.v1beta1.GrafanaUser:
      type: object
      properties:
        id:
          type: integer
          description: ID of the Grafana user.
          format: uint32
        login:
          type: string
          description: Username of the Grafana user.
        role:
          type: string
          description: Role assigned to the Grafana user.
          enum:
          - unknown_role
          - editor
          - viewer
          default: unknown_role
        password:
          type: string
          description: The Grafana user's password.
          nullable: true
      x-properties-order:
      - id
      - login
      - role
      - password
    scaleway.cockpit.v1beta1.ListContactPointsResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of all contact points created.
          format: uint32
        contact_points:
          type: array
          description: Array of contact points.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ContactPoint'
        has_additional_receivers:
          type: boolean
          description: Specifies whether the contact point has other receivers than
            the default receiver.
        has_additional_contact_points:
          type: boolean
          description: Specifies whether there are unmanaged contact points.
      x-properties-order:
      - total_count
      - contact_points
      - has_additional_receivers
      - has_additional_contact_points
    scaleway.cockpit.v1beta1.ListDatasourcesResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of all datasources corresponding to the request.
          format: uint32
        datasources:
          type: array
          description: List of the datasources within the pagination.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Datasource'
      x-properties-order:
      - total_count
      - datasources
    scaleway.cockpit.v1beta1.ListGrafanaProductDashboardsResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of grafana dasboards.
          format: uint64
        dashboards:
          type: array
          description: Information on grafana dashboards.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.GrafanaProductDashboard'
      x-properties-order:
      - total_count
      - dashboards
    scaleway.cockpit.v1beta1.ListGrafanaUsersRequest.OrderBy:
      type: string
      enum:
      - login_asc
      - login_desc
      default: login_asc
    scaleway.cockpit.v1beta1.ListGrafanaUsersResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of all Grafana users.
          format: uint32
        grafana_users:
          type: array
          description: Information on all Grafana users.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.GrafanaUser'
      x-properties-order:
      - total_count
      - grafana_users
    scaleway.cockpit.v1beta1.ListPlansRequest.OrderBy:
      type: string
      enum:
      - name_asc
      - name_desc
      default: name_asc
    scaleway.cockpit.v1beta1.ListPlansResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of all pricing plans.
          format: uint64
        plans:
          type: array
          description: Information on plans.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Plan'
      x-properties-order:
      - total_count
      - plans
    scaleway.cockpit.v1beta1.ListTokensResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Count of all tokens created.
          format: uint32
        tokens:
          type: array
          description: List of all tokens created.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Token'
      x-properties-order:
      - total_count
      - tokens
    scaleway.cockpit.v1beta1.Plan:
      type: object
      properties:
        id:
          type: string
          description: ID of a given pricing plan. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        name:
          type: string
          description: Name of a given pricing plan.
          enum:
          - unknown_name
          - free
          - premium
          - custom
          x-enum-descriptions:
            values:
              free: The free plan is the default plan
              premium: The premium plan with a longer retention
              custom: The custom plan
          default: unknown_name
        retention_metrics_interval:
          type: string
          description: Interval of time during which Scaleway's Cockpit keeps your
            metrics. (in seconds)
          example: 2.5s
          nullable: true
        retention_logs_interval:
          type: string
          description: Interval of time during which Scaleway's Cockpit keeps your
            logs. (in seconds)
          example: 2.5s
          nullable: true
        retention_traces_interval:
          type: string
          description: Interval of time during which Scaleway's Cockpit keeps your
            traces. (in seconds)
          example: 2.5s
          nullable: true
        sample_ingestion_price:
          type: integer
          description: Ingestion price in cents for 1 million samples.
          format: uint32
        logs_ingestion_price:
          type: integer
          description: Ingestion price in cents for 1 GB of logs.
          format: uint32
        traces_ingestion_price:
          type: integer
          description: Ingestion price in cents for 1 GB of traces.
          format: uint32
        retention_price:
          type: integer
          description: Retention price in euros per month.
          format: uint32
      x-properties-order:
      - id
      - name
      - retention_metrics_interval
      - retention_logs_interval
      - retention_traces_interval
      - sample_ingestion_price
      - logs_ingestion_price
      - traces_ingestion_price
      - retention_price
    scaleway.cockpit.v1beta1.SelectPlanResponse:
      type: object
    scaleway.cockpit.v1beta1.Token:
      type: object
      properties:
        id:
          type: string
          description: ID of the token.
        project_id:
          type: string
          description: ID of the Project.
        name:
          type: string
          description: Name of the token.
        created_at:
          type: string
          description: Date and time of the token's creation. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Date and time of the token's last update. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        scopes:
          type: object
          description: Token's permissions.
          properties:
            query_metrics:
              type: boolean
              description: Permission to fetch metrics.
            write_metrics:
              type: boolean
              description: Permission to write metrics.
            setup_metrics_rules:
              type: boolean
              description: Permission to setup metrics rules.
            query_logs:
              type: boolean
              description: Permission to fetch logs.
            write_logs:
              type: boolean
              description: Permission to write logs.
            setup_logs_rules:
              type: boolean
              description: Permission to set up logs rules.
            setup_alerts:
              type: boolean
              description: Permission to set up alerts.
            query_traces:
              type: boolean
              description: Permission to fetch traces.
            write_traces:
              type: boolean
              description: Permission to write traces.
          x-properties-order:
          - query_metrics
          - write_metrics
          - setup_metrics_rules
          - query_logs
          - write_logs
          - setup_logs_rules
          - setup_alerts
          - query_traces
          - write_traces
        secret_key:
          type: string
          description: Token's secret key.
          nullable: true
      x-properties-order:
      - id
      - project_id
      - name
      - created_at
      - updated_at
      - scopes
      - secret_key
    scaleway.std.TimeSeries:
      type: object
      properties:
        name:
          type: string
        points:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.std.TimeSeries.Point'
        metadata:
          type: object
          properties:
            <metadataKey>:
              type: string
          additionalProperties: true
      x-properties-order:
      - name
      - points
      - metadata
    scaleway.std.TimeSeries.Point:
      type: array
      items:
        oneOf:
        - type: string
          format: date-time
        - type: number
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey
paths:
  /cockpit/v1beta1/activate:
    post:
      tags:
      - Cockpits
      operationId: ActivateCockpit
      summary: Activate the Cockpit of a given Project specified by the Project ID
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Cockpit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project the Cockpit belongs to.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/activate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/activate" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/cockpit:
    get:
      tags:
      - Cockpits
      operationId: GetCockpit
      summary: Retrieve the Cockpit of a given Project specified by the Project ID
      parameters:
      - in: query
        name: project_id
        description: ID of the Project the Cockpit belongs to.
        required: true
        schema:
          type: string
          description: ID of the Project the Cockpit belongs to.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Cockpit'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/cockpit?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/cockpit" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
  /cockpit/v1beta1/cockpit/metrics:
    get:
      tags:
      - Cockpits
      operationId: GetCockpitMetrics
      summary: Retrieve metrics from your Cockpit specified by the ID of the Project
        the Cockpit belongs to
      parameters:
      - in: query
        name: project_id
        description: ID of the Project the Cockpit belongs to. (UUID format)
        required: true
        schema:
          type: string
          description: ID of the Project the Cockpit belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: start_date
        description: Desired time range's start date for the metrics. (RFC 3339 format)
        schema:
          type: string
          description: Desired time range's start date for the metrics. (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
      - in: query
        name: end_date
        description: Desired time range's end date for the metrics. (RFC 3339 format)
        schema:
          type: string
          description: Desired time range's end date for the metrics. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
      - in: query
        name: metric_name
        description: Name of the metric requested.
        schema:
          type: string
          description: Name of the metric requested.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.CockpitMetrics'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/cockpit/metrics?project_id=6170692e-7363-616c-6577-61792e636f6d"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/cockpit/metrics" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==6170692e-7363-616c-6577-61792e636f6d
  /cockpit/v1beta1/contact-points:
    get:
      tags:
      - Alert Contact Points
      operationId: ListContactPoints
      summary: Get a list of contact points created for a given Cockpit, specified
        by the ID of the Project the Cockpit belongs to
      parameters:
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: project_id
        description: ID of the Project from which to list the contact points.
        required: true
        schema:
          type: string
          description: ID of the Project from which to list the contact points.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListContactPointsResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/contact-points?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/contact-points" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
    post:
      tags:
      - Alert Contact Points
      operationId: CreateContactPoint
      summary: Create a contact point associated with the default receiver, to receive
        alerts
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ContactPoint'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project in which to create the contact point.
                contact_point:
                  type: object
                  description: Contact point to create.
                  properties:
                    email:
                      type: object
                      description: Contact point configuration.
                      properties:
                        to:
                          type: string
                      nullable: true
                      x-properties-order:
                      - to
                      x-one-of: configuration
                  x-properties-order:
                  - email
              x-properties-order:
              - project_id
              - contact_point
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/contact-points"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/contact-points" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/datasources:
    get:
      tags:
      - Data sources
      operationId: ListDatasources
      summary: Get a list of data sources for the specified Project ID
      parameters:
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: order_by
        description: How the response is ordered.
        schema:
          type: string
          description: How the response is ordered.
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          default: created_at_asc
      - in: query
        name: project_id
        description: ID of the Project. (UUID format)
        required: true
        schema:
          type: string
          description: ID of the Project. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: types
        description: Filter by datasource types.
        schema:
          type: array
          description: Filter by datasource types.
          items:
            $ref: '#/components/schemas/scaleway.cockpit.v1beta1.DatasourceType'
      - in: query
        name: is_managed_by_scaleway
        description: Filter by managed datasources.
        schema:
          type: boolean
          description: Filter by managed datasources.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListDatasourcesResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/datasources?project_id=6170692e-7363-616c-6577-61792e636f6d"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/datasources" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==6170692e-7363-616c-6577-61792e636f6d
    post:
      tags:
      - Data sources
      operationId: CreateDatasource
      summary: Create a data source for a given Project specified by the Project ID
        and the data source type
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Datasource'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project the Cockpit belongs to. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                name:
                  type: string
                  description: Data source name.
                type:
                  type: string
                  description: Data source type.
                  enum:
                  - unknown_datasource_type
                  - metrics
                  - logs
                  - traces
                  - alerts
                  default: unknown_datasource_type
                is_default:
                  type: boolean
                  description: Specifies that the returned output is the default data
                    source per type.
              x-properties-order:
              - project_id
              - name
              - type
              - is_default
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "is_default": false,
              "name": "string",
              "project_id": "6170692e-7363-616c-6577-61792e636f6d"
            }' \
            "https://api.scaleway.com/cockpit/v1beta1/datasources"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/datasources" \
            X-Auth-Token:$SCW_SECRET_KEY \
            is_default:=false \
            name="string" \
            project_id="6170692e-7363-616c-6577-61792e636f6d"
  /cockpit/v1beta1/datasources/{datasource_id}:
    delete:
      tags:
      - Data sources
      operationId: DeleteDatasource
      summary: Delete a given data source specified by the data source ID
      parameters:
      - in: path
        name: datasource_id
        description: ID of the data source. (UUID format)
        required: true
        schema:
          type: string
          description: ID of the data source. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/datasources/{datasource_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/cockpit/v1beta1/datasources/{datasource_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /cockpit/v1beta1/deactivate:
    post:
      tags:
      - Cockpits
      operationId: DeactivateCockpit
      summary: Deactivate the Cockpit of a given Project specified by the Project
        ID
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Cockpit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project the Cockpit belongs to.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/deactivate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/deactivate" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/delete-contact-point:
    post:
      tags:
      - Alert Contact Points
      operationId: DeleteContactPoint
      summary: Delete a contact point associated with the default receiver
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
                contact_point:
                  type: object
                  description: Contact point to delete.
                  properties:
                    email:
                      type: object
                      description: Contact point configuration.
                      properties:
                        to:
                          type: string
                      nullable: true
                      x-properties-order:
                      - to
                      x-one-of: configuration
                  x-properties-order:
                  - email
              x-properties-order:
              - project_id
              - contact_point
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/delete-contact-point"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/delete-contact-point" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/disable-managed-alerts:
    post:
      tags:
      - Managed Alerts
      operationId: DisableManagedAlerts
      summary: Disable the sending of managed alerts for a given Cockpit, specified
        by the ID of the Project the Cockpit belongs to
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/disable-managed-alerts"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/disable-managed-alerts" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/enable-managed-alerts:
    post:
      tags:
      - Managed Alerts
      operationId: EnableManagedAlerts
      summary: Enable the sending of managed alerts for a given Cockpit, specified
        by the ID of the Project the Cockpit belongs to
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/enable-managed-alerts"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/enable-managed-alerts" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/grafana-product-dashboards:
    get:
      tags:
      - Product Dashboards
      operationId: ListGrafanaProductDashboards
      summary: List product dashboards
      description: Get a list of available product dashboards.
      parameters:
      - in: query
        name: project_id
        description: ID of the Project. (UUID format)
        required: true
        schema:
          type: string
          description: ID of the Project. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: tags
        description: Tags to filter the dashboards.
        schema:
          type: array
          description: Tags to filter the dashboards.
          items:
            type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListGrafanaProductDashboardsResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-product-dashboards?project_id=6170692e-7363-616c-6577-61792e636f6d"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/grafana-product-dashboards" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==6170692e-7363-616c-6577-61792e636f6d
  /cockpit/v1beta1/grafana-product-dashboards/{dashboard_name}:
    get:
      tags:
      - Product Dashboards
      operationId: GetGrafanaProductDashboard
      summary: Get a product dashboard
      description: Get a product dashboard specified by the dashboard ID.
      parameters:
      - in: path
        name: dashboard_name
        description: Name of the dashboard.
        required: true
        schema:
          type: string
          description: Name of the dashboard.
      - in: query
        name: project_id
        description: ID of the Project. (UUID format)
        required: true
        schema:
          type: string
          description: ID of the Project. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.GrafanaProductDashboard'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-product-dashboards/{dashboard_name}?project_id=6170692e-7363-616c-6577-61792e636f6d"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/grafana-product-dashboards/{dashboard_name}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==6170692e-7363-616c-6577-61792e636f6d
  /cockpit/v1beta1/grafana-users:
    get:
      tags:
      - Grafana Users
      operationId: ListGrafanaUsers
      summary: Get a list of all Grafana users created in your Cockpit's Grafana
      parameters:
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: order_by
        schema:
          $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListGrafanaUsersRequest.OrderBy'
      - in: query
        name: project_id
        description: ID of the Project.
        required: true
        schema:
          type: string
          description: ID of the Project.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListGrafanaUsersResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-users?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/grafana-users" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
    post:
      tags:
      - Grafana Users
      operationId: CreateGrafanaUser
      summary: Create a Grafana user for your Cockpit's Grafana. Make sure you save
        the automatically-generated password and the Grafana user ID
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.GrafanaUser'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
                login:
                  type: string
                  description: Username of the Grafana user.
                role:
                  type: string
                  description: Role assigned to the Grafana user.
                  enum:
                  - unknown_role
                  - editor
                  - viewer
                  default: unknown_role
              x-properties-order:
              - project_id
              - login
              - role
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"login":"string","project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-users"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/grafana-users" \
            X-Auth-Token:$SCW_SECRET_KEY \
            login="string" \
            project_id="string"
  /cockpit/v1beta1/grafana-users/{grafana_user_id}/delete:
    post:
      tags:
      - Grafana Users
      operationId: DeleteGrafanaUser
      summary: Delete a Grafana user from your Cockpit's Grafana, specified by the
        ID of the Project the Cockpit belongs to, and the ID of the Grafana user
      parameters:
      - in: path
        name: grafana_user_id
        description: ID of the Grafana user.
        required: true
        schema:
          type: integer
          description: ID of the Grafana user.
          format: uint32
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-users/{grafana_user_id}/delete"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/grafana-users/{grafana_user_id}/delete" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/grafana-users/{grafana_user_id}/reset-password:
    post:
      tags:
      - Grafana Users
      operationId: ResetGrafanaUserPassword
      summary: Reset the password of a Grafana user, specified by the ID of the Project
        the Cockpit belongs to, and the ID of the Grafana user
      parameters:
      - in: path
        name: grafana_user_id
        description: ID of the Grafana user.
        required: true
        schema:
          type: integer
          description: ID of the Grafana user.
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.GrafanaUser'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/grafana-users/{grafana_user_id}/reset-password"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/grafana-users/{grafana_user_id}/reset-password" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
  /cockpit/v1beta1/plans:
    get:
      tags:
      - Pricing Plans
      operationId: ListPlans
      summary: Get a list of all pricing plans available
      parameters:
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: order_by
        schema:
          $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListPlansRequest.OrderBy'
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListPlansResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/plans"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/plans" \
            X-Auth-Token:$SCW_SECRET_KEY
  /cockpit/v1beta1/select-plan:
    post:
      tags:
      - Pricing Plans
      operationId: SelectPlan
      summary: Select your chosen pricing plan for your Cockpit, specifying the Cockpit's
        Project ID and the pricing plan's ID in the request
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.SelectPlanResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                plan_id:
                  type: string
                  description: ID of the pricing plan. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
              x-properties-order:
              - project_id
              - plan_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"plan_id":"6170692e-7363-616c-6577-61792e636f6d","project_id":"6170692e-7363-616c-6577-61792e636f6d"}' \
            "https://api.scaleway.com/cockpit/v1beta1/select-plan"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/select-plan" \
            X-Auth-Token:$SCW_SECRET_KEY \
            plan_id="6170692e-7363-616c-6577-61792e636f6d" \
            project_id="6170692e-7363-616c-6577-61792e636f6d"
  /cockpit/v1beta1/tokens:
    get:
      tags:
      - Tokens
      operationId: ListTokens
      summary: Get a list of tokens in a given Project specified by the Project ID
      parameters:
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          description: Page number.
          format: int32
      - in: query
        name: page_size
        description: Page size.
        schema:
          type: integer
          description: Page size.
          format: uint32
      - in: query
        name: order_by
        description: How the response is ordered.
        schema:
          type: string
          description: How the response is ordered.
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          default: created_at_asc
      - in: query
        name: project_id
        description: ID of the Project.
        required: true
        schema:
          type: string
          description: ID of the Project.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.ListTokensResponse'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/tokens?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/tokens" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
    post:
      tags:
      - Tokens
      operationId: CreateToken
      summary: Create a token in a given Project specified by the Project ID
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: ID of the Project.
                name:
                  type: string
                  description: Name of the token.
                scopes:
                  type: object
                  description: Token's permissions.
                  properties:
                    query_metrics:
                      type: boolean
                      description: Permission to fetch metrics.
                    write_metrics:
                      type: boolean
                      description: Permission to write metrics.
                    setup_metrics_rules:
                      type: boolean
                      description: Permission to setup metrics rules.
                    query_logs:
                      type: boolean
                      description: Permission to fetch logs.
                    write_logs:
                      type: boolean
                      description: Permission to write logs.
                    setup_logs_rules:
                      type: boolean
                      description: Permission to set up logs rules.
                    setup_alerts:
                      type: boolean
                      description: Permission to set up alerts.
                    query_traces:
                      type: boolean
                      description: Permission to fetch traces.
                    write_traces:
                      type: boolean
                      description: Permission to write traces.
                  x-properties-order:
                  - query_metrics
                  - write_metrics
                  - setup_metrics_rules
                  - query_logs
                  - write_logs
                  - setup_logs_rules
                  - setup_alerts
                  - query_traces
                  - write_traces
              x-properties-order:
              - project_id
              - name
              - scopes
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"name":"string","project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/tokens"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/tokens" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string" \
            project_id="string"
  /cockpit/v1beta1/tokens/{token_id}:
    get:
      tags:
      - Tokens
      operationId: GetToken
      summary: Retrieve a given token specified by the token ID
      parameters:
      - in: path
        name: token_id
        description: ID of the token.
        required: true
        schema:
          type: string
          description: ID of the token.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.cockpit.v1beta1.Token'
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/tokens/{token_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/cockpit/v1beta1/tokens/{token_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Tokens
      operationId: DeleteToken
      summary: Delete a given token specified by the token ID
      parameters:
      - in: path
        name: token_id
        description: ID of the token.
        required: true
        schema:
          type: string
          description: ID of the token.
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/cockpit/v1beta1/tokens/{token_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/cockpit/v1beta1/tokens/{token_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /cockpit/v1beta1/trigger-test-alert:
    post:
      tags:
      - Managed Alerts
      operationId: TriggerTestAlert
      summary: Send a test alert to make sure your contact points get notified when
        an actual alert is triggered
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
              x-properties-order:
              - project_id
      security:
      - scaleway: []
      deprecated: true
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"string"}' \
            "https://api.scaleway.com/cockpit/v1beta1/trigger-test-alert"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/cockpit/v1beta1/trigger-test-alert" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id="string"
